© CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données...

26
© CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs

Transcript of © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données...

Page 1: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

© CGI Group Inc. 2013

Offre FlowUnit by CGI

Tests automatisés de flux de données inter-applicatifs

Page 2: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

2

Agenda

Problématiques et enjeux

Solution et fonctionnalités

Concepts

Exécution et rapports

Cas d’utilisation

Perspectives

Références

Démo et outils en ligne

Page 3: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

3

Problématique et enjeux

• Les projets de plateforme d’échange et d’intégration d’applications font souvent appel à une multitude de technologies :

• Pour le transport : fichiers locaux, FTP, JMS, Web Services, …

• Pour le format des données : XML, plat délimité, plat à largeur fixe, …

• Pour l’intégration de systèmes : TIBCO, webMethods, …

• Pour prendre en charge certaines spécificités : compression, découpe, …

• La qualité des développements peut dans certains cas être critique (factures, logistique) et l’exécution de tests de conformité / non régression en amont de la mise en production est indispensable.

• L’exécution manuelle des tests peut s’avérer fastidieuse, risquée, coûteuse et nécessiter une connaissance poussée de la plateforme.

• L’automatisation des tests de flux s’inscrit dans une démarche d’industrialisation, avec des gains importants en temps et qualité.

Page 4: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

4

Solution et fonctionnalités

FlowUnit :

• Outil d’automatisation des tests spécialisé dans les flux de données

• Basé sur des solutions open-source• Java 1.6 et librairies Apache Commons

• Maven 2.2.1/3.0.x

• JUnit 3.8.2

• XMLUnit 1.3

• Configuration modulaire basée sur des fichiers XML• Réutilisation de composants possible

• Paramétrage selon l’environnement cible

• Validation par XML Schema

Page 5: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

5

Solution et fonctionnalités

Contrôle de la non-régression• Comparaison entre flux de données effectifs et flux attendus

• Identification des problèmes précis

• Génération de rapports de tests

Fonctionnement en boite noire• Comparaison en masse de nombreux cas de tests (attendus/effectifs)

• Obtention de la sortie effective à partir d’un flux d’entrée

Exécution autonome ou sur un serveur d’intégration continue

Prise en compte des spécificités des formats de données• XML, fichier plat délimité, fichier plat à largeur fixe, texte seul

• Comparateurs adaptés et paramétrables

• Remontée d’erreurs précises et ciblées

Page 6: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

6

Concepts – Vue d’ensemble

Hiérarchie des tests• Campagne de test : ensemble de suites de test (ex : échange)

• Suite de tests : ensemble de cas de test (ex : demi-flux)

• Cas de test : comparaison attendu/effectif (ex : cas nominal, cas d’erreur)

Notion de connecteurs• Transformation des données d’entrée en données comparables (effectives)

• Déclenchement des flux inter-applicatifs et récupération des sorties

• Prise en charge de nombreux transports (fichier, FTP, JMS, SOAP, etc.)

Notion de formats• Définition de la façon dont la comparaison est effectuée

• Possibilité de nommer des champs ou d’en ignorer pour la comparaison

• Prise en charge de nombreux formats (XML, délimité, largeur fixe, etc.)

Page 7: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

7

Concepts – Hiérarchie et héritage

3 niveaux de configuration : global, campagne, suite de tests• Découpage en fichiers distincts, inclus explicitement ou automatiquement

• Réutilisation des connecteurs/formats possible par héritage

Page 8: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

8

Concepts – Déroulement d’un cas de test

Une chaine de connecteurs transforme les données d’entrée (input) en données effectives (actual).

Les données effectives sont comparées aux attendus (expected) pour générer une liste de différences.

Fichier JMS

Web Service

Bases de données

FTP

Page 9: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

9

Exécution et rapports

•Exécution autonome• Adaptée à l’utilisation sur un poste développeur

• Package « tout-en-un » : Maven inclus, dépendances fournies

• Exécution par simple script (run.bat / run.sh)

• Génération de rapports HTML datés

• Possibilité d’exécuter les tests depuis Eclipse

•Exécution sur un serveur d’intégration continue (ex : Jenkins)• 2 packages fournis :

• Maven et les dépendances : à installer sur le serveur

• Projet exemple FlowUnit : à commiter sur un dépôt de sources

• Récupération du projet et exécution de Maven par le serveur

• Génération de rapports HTML et historisation des résultats

• Exécution planifiée ou sur commit possible

• Notification en cas d’échec d’un test

Page 10: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

10

Exécution et rapports

En mode autonome Dans Eclipse Dans Jenkins

Page 11: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

11

Exécution et rapports – Mode autonome

Statistiques par suite de tests

Statut des cas de test de la suiteet détail des échecs

Page 13: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

13

Exécution et rapports – Dans Jenkins

Projet

Statut dernière exécution(ici « des tests ont échoué »)

Météo du projet(tendances de stabilité)

Lancer une exécution

Liste des projets

Page 14: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

14

Exécution et rapports – Dans Jenkins

Accès aux rapports détaillés

Graphique de tendance

Historique des exécutions

Détail d’un projet

Page 15: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

15

Exécution et rapports – Dans Jenkins

Accès au détail d’un cas de test

Statuts des tests de la suite

Détail d’une suite de tests

Page 16: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

16

Exécution et rapports – Dans Jenkins

Détail d’un cas de test

Détail des erreurs

Possibilité d’ajouter des notes

Page 17: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

17

Cas d’utilisation – Ex. 1 : tests unitaires / ponctuels• Besoin

• Un développeur veut vérifier la conformité de son développement en comparant plusieurs fichiers de sorties avec les sorties attendues

• Solution• FlowUnit : comparaison massive de fichiers (sans connecteurs)

• Mise en place : 1h de formation rapide et création de la 1ere configuration

• Templates de configuration existants

• Utilisation : mode autonome, 5 min pour lancer et exploiter les rapports

• Gain• Réutilisation et modification de la configuration à volonté

• Tests rapides et automatisés

• Génération de rapports de tests archivables

Page 18: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

18

Cas d’utilisation – Ex. 2 : tests de non-régression / intégration• Besoin

• Un projet veut vérifier régulièrement la non-régression des développements de l’équipe tout au long du projet

• Solution• FlowUnit : déclenchement des flux grâce aux connecteurs

• Dépôt de sources + serveur d’intégration continue : exécution des tests à chaque commit, ou manuellement lorsque nécessaire

• Mise en place : 3h de formation pour le configurateur, 1h pour les autres + temps de configuration fonction de la complexité du projet

• Utilisation : lancement en 1 clic, accès aux rapports de tests à tout moment

• Gain• Pas besoin de dédier une journée aux tests régulièrement

• Configuration pouvant être enrichie au fur et à mesure de l’avancement

• Suivi de l’évolution des tests, remontée d’alertes, réactivité

Page 19: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

19

Cas d’utilisation – Ex. 3 : projet complet

• Besoin• Un projet a besoin de gérer tout son cycle de vie et souhaite disposer d’une

solution « clé en main »

• Solution• Offre Project Factory : plateforme projet industrialisée

• Redmine : gestion du projet et des tâches, tableau de bord général

• SVN + Jenkins + FlowUnit : intégration continue et tests automatisés

• Nexus : référentiel de librairies et templates de projets réutilisables

• TestLink : gestion des campagnes de recette interne et externe

• Gain• Ensemble d’outils fortement intégrés et prêts à l’emploi

• Suivi de l’état d’avancement du projet au fil de l’eau

• Visibilité pour chacun des acteurs et collaboration facilitée

Page 20: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

20

Perspectives

•Enrichissement des fonctionnalités• Nouveaux connecteurs

• Meilleure détection des décalages lors de la comparaison

• Préparation et nettoyage avant/après chaque cas de test (setUp/tearDown)

•Interface de configuration• Application web J2EE facile d’utilisation pour les nouveaux utilisateurs

• Gestion de différents projets, campagnes, suites et cas de tests

• Intégration avec d’autres services de Projet Factory (Jenkins, TestLink)

•Déploiement de la solution• Mise en place du produit sur d’autres projets (clients et internes)

• Prise en compte des remarques des utilisateurs

Page 21: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

21

Perspectives

IHM en version 0.2

Démo: https://demo.it-toolbox.fr/flowunit-ui

Page 22: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

22

Références

•Projet de plateforme d’échanges « Oxybus »• Basée sur webMethods + framework spécifique Oxylane

• Flux inter-applicatifs internes et B2B

•Automatisation des tests avec FlowUnit• Framework B2B (tests techniques) – 38 cas de test

• Flux B2B (tests fonctionnels) – 15 flux, 2 à 14 cas par flux

• Stress tests (volumétrie) – 2 flux, 5 à 6 cas par flux

•Mise en place de Jenkins (serveur d’intégration continue)• Exécution des tests à la demande

• Tests sur plusieurs environnements (DEV71, DEV82, INT, PPRD)

• Tableau de bord centralisé (architecture master/slave)

•Actions de formation et transfert de compétences

Page 23: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

23

Références

• Plateforme d’échange interne Auchan• Basée sur Tibco

• Flux inter-applicatifs internes : Base de données et JMS.

• Automatisation des tests avec FlowUnit• Tests de non-régression à chaque re-livraison du centre de développement

• En cours de déploiement sur l’ensemble des flux.

• Utilisation de l’IHM

• Mise en place de Jenkins• Exécution des tests à la demande

• Actions de formation et transfert de compétences

Page 24: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

24

Démo et outils en ligne

FlowUnit s’inscrit dans la démarche CGI.

Centre de compétence & Outillage SOA

BUILD Tools

GénérateurEchanges et Services

Bibliothèque accélérateur ESB/SOA

Packaging et déploiement

Catalogue de templatesAutomatisation installations

soclePIC

REPO, TEST & RUN Tools

Référentiel de services & Outil de supervision

Audit / Planificateur Gestion d’erreurs Rapports

Administration des flux Supervision Technique Transcodifications

Page 25: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

25

Démo et outils en ligne

Visitez notre sitehttps://it-toolbox.fr

Téléchargez cette présentation sur notre

WIKI !

Page 26: © CGI Group Inc. 2013 Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs.

26

Merci