no. 1© logica 2012. all rights reserved offre flowunit by logica tests automatisés de flux de...
TRANSCRIPT
No. 1© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Offre FlowUnit by LOGICATests automatisés de flux de données inter-applicatifs
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Agenda
Problématiques et enjeux1
Solution et fonctionnalités2
Concepts3
Exécution et rapports4
Cas d’utilisation5
Perspectives7
Exemple de mise en œuvre6
Références8
Démo et outils en ligne9
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Problématiques 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é.
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Solution et fonctionnalités
FlowUnit :
• Outil d’automatisation des tests spécialisé dans les flux de données
• Basé sur des solutions open-sourceo Java 1.6 et librairies Apache Commonso Maven 2.2.1/3.0.xo JUnit 3.8.2o XMLUnit 1.3
• Configuration modulaire basée sur des fichiers XMLo Réutilisation de composants possibleo Paramétrage selon l’environnement cibleo Validation par XML Schema
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Concepts – Vue d’ensemble
Positionnement et stratégie
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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.)
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
JMS Web Service
XSLT
webMethods FTP
Fichier
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Exécution et rapports
En mode autonome Dans Eclipse Dans Jenkins
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Exécution et rapports – Mode autonome
Statistiques par suite de tests
Statut des cas de test de la suiteet détail des échecs
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Exécution et rapports – Dans Jenkins
Intégration dansProjectFactory
https://logica.it-toolbox.fr/redmine/ projects/project-factoryGestion
Code
Intégration
Tests
Référentiel
Partage
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Exécution et rapports – Dans Jenkins
Accès au détail d’un cas de test
Détail d’une suite de tests
Statuts des tests de la suite
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Exécution et rapports – Dans Jenkins
Détail d’un cas de test
Détail des erreurs
Possibilité d’ajouter des notes
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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é
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 21
Exemple de mise en œuvre
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 22
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 23
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
OMC
Jacques Vabre
Selecta
SOAP
JMS
Mon SI
GetPrice
ProfitsLaw
ProdPrice
SupPriceExemple complet
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 24
Exemple de mise en œuvre
Internet
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
GetCoffeePrice
Vision macro de l’échange
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 25
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
GetCoffeePrice
Packaging
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 26
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
Environnement
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 27
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
Mise en gestion de conf
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 28
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
Déclenchements auto des tests
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 29
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
Exécution des tests
12 3
4
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA No. 30
Exemple de mise en œuvre
• Loi 2009: calcul du gain brut• Jacques Vabre prestataire service B2B• Synchronisation prix fournisseur
Mon SI
Reporting
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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• Export au format XML « classique » pour versioning / exécution• 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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Perspectives
IHM en cours de recette !Démo: https://demo.it-toolbox.fr/flowunit-ui
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
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
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Références
Tableau de bord Jenkins
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
FlowUnit s’inscrit dans la démarche Logica.
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
Démo et outils en ligne
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Démo et outils en ligne
No. 36
Visitez notre sitehttps://it-toolbox.fr
Téléchargez cette présentation sur
notre WIKI !
© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Pourquoi IT Toolbox ?
No. 37
EligibilitéSpécificationReferencementDeveloppementRecetteProduction
Cycle de vie d'un échange
No. 38© Logica 2012. All rights reserved Offre FlowUnit by LOGICA
Logica is a business and technology service company, employing 39,000 people. It provides business consulting, systems integration and outsourcing to clients around the world, including many of Europe's largest businesses. Logica creates value for clients by successfully integrating people, business and technology. It is committed to long term collaboration, applying insight to create innovative answers to clients’ business needs. Logica is listed on both the London Stock Exchange and Euronext (Amsterdam) (LSE: LOG; Euronext: LOG). More information is available at www.logica.com
Merci !
Rémy DELMOTTE+33 7 86 96 90 [email protected]
Logica Nord, 8 rue Anatole France, 59043 LILLE CEDEX
Fabien CRESPEL+33 6 82 89 17 [email protected]