20120612 02 - Automatisation des tests avec squash TA en environnement bancaire - Rex BGPI

Automatisation des Tests avec Squash TA
en environnement bancaire : retour
d’expérience de la BGPI
Club Qualité Logicielle
12 juin 2012
/13 juin 2012/P2
Sommaire
 Contexte
 Plate-forme technique
 Méthodologie
 Points de vigilance
 Questions & Réponses
/13 juin 2012/P3
Présentation BGPI/SIDEV/HDF
 HDF : Help Desk Fonctionnel
Support fonctionnel
Modélisation Pivot Rédaction des Spécifications fonctionnelles
détaillées
Recette Assurance Qualité et Tests de Non Régression
 SIDEV : Études Informatiques BGPI
 BGPI : Banque de Gestion Privée du groupe Crédit Agricole
/13 juin 2012/P4
Contexte
 Gains attendus des TNR
 Régressions Incidents Mises en production
 Recette plus complète : Risque d’anomalie Couverture
 Objectifs
 Vérifier l'absence de régression dans une nouvelle version
 Recette effectuée dans un environnement dédié et maîtrisé
 Sélection de scénarios métier pertinents et automatisables
 Recette complémentaire de celle de la MOA (évolutions)
/13 juin 2012/P5
Périmètre applicatif testé
 Alpha (28 scénarios – juin 2010 – 6 mois)
- application de téléconseil avec recommandations d'arbitrage
- nombre important de régressions
- technologie : JSF + QuipuKit, navigateur Firefox 3.2.6 local
- outil de test utilisé : Squash TA/Selenium/CubicTest
 Agora CRM (5 scénarios – janvier 2011 – 1 mois)
- création de contacts clients (CRM)
- forte sensibilité
- technologie : GWT/GXT, navigateur IE8 sous Citrix
- outil de test utilisé : Squash TA/Selenium/CubicTest
 Agora NRT (21 scénarios – janvier 2012 – 1 mois)
- application d'administration du nouveau référentiel tiers
- structurant car référentiel
- technologie : idem qu’Agora CRM
- outil de test utilisé : Squash TA/Sahi
/13 juin 2012/P6
Les différents contributeurs
 Mise en place de la plate-forme de tests automatisés :
 Equipe Production
 Equipe Base de données
 Equipe Intégration
 Equipe Squash Henix
 Réalisation des tests :
 Développeurs Web
 Maîtrises d’Ouvrage
 Automaticien
/13 juin 2012/P7
Architecture technique
Squash
TM
Mantis
Serveur
ORACLE
‘TNR’
XFER
Serveur
ORACLE
‘TNR’
NR2
Serveur applicatif
Webspheres
- Alpha
- Agora
- Services
communs
Squash TM
Apache
MySQL
PHP
JAILER
MAVEN
IE Firefox
Poste HDF
Rapports
d’exécution
Usine TNR
WebApp
Automatisation
Selenium
Eclipse
Cubic Test
Subversive
Applicatif BGPI
Sahi JAILER
MAVEN
IE Firefox
Poste HDF
Subversion
Sahi
Eclipse
Squash TA
/13 juin 2012/P8
Méthodologie générale – Etapes générales
du processus d’automatisation
 Analyse des spécifications fonctionnelles
 Choix des scénarios à automatiser
 Alimentation du référentiel de tests (exigences, cas de test)
 Détermination de l'échantillon de données ad'hoc
 Codage des scénarios
 Exécution des scripts
 Génération de rapports d’exécution
 Analyse des résultats et restitution du PV de recette TNR
Squash TA / Sahi
/13 juin 2012/P9
Méthodologie générale – Etapes générales
du processus d’automatisation
 Analyse des spécifications fonctionnelles
 Choix des scénarios à automatiser
 Alimentation du référentiel de tests (exigences, cas de test)
 Détermination de l'échantillon de données ad'hoc
 Codage des scénarios
 Exécution des scripts
 Génération de rapports d’exécution
 Analyse des résultats et restitution du PV de recette TNR
/13 juin 2012/P10
AGORA NRT – Aperçu d’un écran
/13 juin 2012/P11
Vue 3D de l’application Agora NRT
Vue créée par l’extension Firefox Web Developer
/13 juin 2012/P12
Sahi – Présentation générale
 Outil open source d’automatisation de tests pour
applications Web
 Lance et ferme le navigateur Web
 Interprète et exécute les commandes transmises par le
programme de test
 Agit comme un proxy HTTP, en interceptant et vérifiant les
messages HTTP échangés entre le navigateur et l’application
testée
 Librairies client fournissant une interface (API) entre le
langage de programmation et le serveur proxy
 Enregistreur de commandes fourni
/13 juin 2012/P13
Sahi : Les points forts
+ API très riche (+ d’une centaine de méthodes d’accès / action /
assertion)
+ support de nombreux langages de programmation
+ prise en main rapide
+ enregistreur intégré
+ indépendance vis à vis des différents interpréteurs Javascript
+ enregistreur fonctionnant sous tous les navigateurs
+ accès facilité aux objets d'une page Web
+ adapté aux applications Web riches avec contenu dynamique
+ « waits » implicites
/13 juin 2012/P14
Sahi : Les points faibles
- pas de couche graphique, écriture entièrement manuelle des
scripts
- technologie encore récente, qui doit faire ses preuves
- impossible d'interagir avec l’environnement win32
/13 juin 2012/P15
Méthodologie générale – Etapes générales
du processus d’automatisation
 Analyse des spécifications fonctionnelles
 Choix des scénarios à automatiser
 Alimentation du référentiel de tests (exigences, cas de test)
 Détermination de l'échantillon de données ad'hoc
 Codage des scénarios
 Exécution des scripts
 Génération de rapports d’exécution
 Analyse des résultats et restitution du PV de recette TNR
/13 juin 2012/P16
Etapes d’une campagne de tests
automatisés
/13 juin 2012/P17
Intégration et Recette de scripts (Java)
 Intégration des scripts dans des classes Java
 Mise en place de l’environnement
 Exécution du script
 Vérifications éventuelles (base, fichiers,…)
 Réinitialisation de l’environnement
/13 juin 2012/P18
Framework Squash TA
 La plupart des outils d’automatisation de test existants se focalisent sur
l’exécution du test et les vérifications dynamiques (c’est-à-dire les vérifications
effectuées au cours de l’exécution). Mais ces fonctions seules ne permettent pas de
mettre en place des tests réutilisables et maintenables.
 Les cas de tests doivent être entièrement automatisés, c’est-à-dire qu’ils doivent
inclure toutes les étapes suivantes :
 préparation de l’environnement
 exécution du test et vérifications dynamiques
 vérifications post-exécution
 nettoyage de l’environnement
 Le framework doit prendre en charge la préparation de l’environnement avant le cas
de test, les vérifications complémentaires après l’exécution, et le nettoyage de
l’environnement.
 En outre, il doit permettre de constituer des campagnes facilement et de les
exécuter automatiquement.
/13 juin 2012/P19
Points de vigilance
 Sensibilité des tests aux modifications de :
 spécifications fonctionnelles
 framework de développement
 l’interface utilisateur
 structure de la base de données
 données (ex: anonymisation)
Chacun de ces points impacte plus ou moins fortement l’effort de
maintenance des tests
/13 juin 2012/P20
Conclusions
 Squash TA assure un pilotage complet des tests,
de la préparation au reporting
 Gain de productivité et donc de couverture
fonctionnelle : sur Agora NRT, 100% des
scénarios de consultation ont été automatisés
 Fiabilisation de la recette : 2 anomalies détectées
par campagne en moyenne
/13 juin 2012/P21
Annexes
/13 juin 2012/P22
Contribution du service Production
 Installation et configuration du poste de travail selon le besoin
exprimé
 Droits d’installation sur certains répertoires du poste de travail
 Montage des serveurs applicatifs
 Montage des bases de données
/13 juin 2012/P23
Contribution de l’équipe Base de données
 Mise à disposition de données iso-prod contenant un repository
de données multiples, dans lesquelles peut « piocher »
l'automaticien
 Mise à disposition d'un ensemble de scripts shell permettant le
déploiement des packages à mettre en production
 Création de comptes Jailer
/13 juin 2012/P24
Contribution de l’équipe Intégration
 Déploiement et maintenance de l’environnement Squash TM et
Mantis
/13 juin 2012/P25
Contribution de l’équipe Squash Henix
 Déploiement, configuration et maintenance de Squash TA sur le
poste de travail
 Adaptation du template projet aux applications du client
 Développement d’extensions du framework spécifiques à
l’environnement applicatif du client
/13 juin 2012/P26
Contribution des Développeurs Web
 Déploiement des versions à tester (deployIt)
 Développement d’un lanceur de batchs
 Mise en place d'un serveur de mails
 Développement d'une page Web pour afficher le contenu d'un
email ou d'un document pdf avant son formatage final, au format
HTML, exploitable par l'outil de test
 Renseignement de la matrice multi-critères (choix des scénarios
à automatiser)
/13 juin 2012/P27
Contribution des Maîtrises d’Ouvrage
 Mise à disposition des spécifications fonctionnelles générales
 Saisie des règles de gestion et des cas de test dans le référentiel
de tests
 Renseignement de la matrice multi-critères et choix final des
scénarios à automatiser
/13 juin 2012/P28
Contribution de l’automaticien
 Renseignement de la matrice multi-critères
 Maintenance de l’environnement de test et de la toolbox
 Constitution des jeux de données de test
 Ecriture et maintenance des scripts
 Exécution des TNR automatisés
/13 juin 2012/P29
Choix des scenarios à automatiser :
utilisation d’une matrice multicritères
/13 juin 2012/P30
Matrice : Grille de sélection instanciée
/13 juin 2012/P31
Méthodologie générale – Etapes générales
du processus d’automatisation
 Analyse des spécifications fonctionnelles
 Choix des scénarios à automatiser
 Alimentation du référentiel de tests (exigences, cas de test)
 Détermination de l'échantillon de données ad'hoc
 Codage des scénarios
 Exécution des scripts
 Génération de rapports d’exécution
 Analyse des résultats et restitution du PV de recette TNR
/13 juin 2012/P32
Référentiel de tests – Squash TM
/13 juin 2012/P33
Méthodologie générale – Etapes générales
du processus d’automatisation
 Analyse des spécifications fonctionnelles
 Choix des scénarios à automatiser
 Alimentation du référentiel de tests (exigences, cas de test)
 Détermination de l'échantillon de données ad'hoc
 Codage des scénarios
 Exécution des scripts
 Génération de rapports d’exécution
 Analyse des résultats et restitution du PV de recette TNR
/13 juin 2012/P34
Jailer : Description
 Outil open-source codé en Java
 Support de multiples bases (via JDBC)
 Analyse de base de données relationnelles
 Création d’un modèle d’extraction respectueux des
contraintes de base de données
 Génération d’échantillons de données
 Exports de datasets au format DbUnit
/13 juin 2012/P35
Jailer : Extraction de données
BGPI3TMP BGPI3NR2
REF
Données
fonctionnelles
Données
fonctionnelles
REF
/13 juin 2012/P36
Jailer : Modèle d’extraction
/13 juin 2012/P37
Jailer : Processus d’extraction
/13 juin 2012/P38
Jailer : Exemple de dataset
/13 juin 2012/P39
Contrôleur Sahi – Record & Playback
/13 juin 2012/P40
Processus Subversion / Maven d’exécution
d’une campagne de tests
/13 juin 2012/P41
Sahi – Diagramme d’architecture
1 of 41

Recommended

20171122 01 - REX : Intégration et déploiement continu chez Engie by
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
1.1K views30 slides
20100608 2 - TNR automatisés (Generali) by
20100608 2 - TNR automatisés (Generali)20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)LeClubQualiteLogicielle
722 views30 slides
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash by
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de SquashLeClubQualiteLogicielle
545 views20 slides
20151013 - DevOps et qualification continue by
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continueLeClubQualiteLogicielle
384 views26 slides
20171122 04 - Automatisation - formation et certifications by
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
764 views37 slides
20151013 - Réduire les coûts des tests de performance ? by
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
180 views19 slides

More Related Content

What's hot

20171122 - Accueil Club Qualité Logicielle by
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
415 views12 slides
20171122 03 - Les tests de performance en environnement DevOps by
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOpsLeClubQualiteLogicielle
2.3K views30 slides
20111004 05 - Présentation Squash by
20111004 05 - Présentation Squash20111004 05 - Présentation Squash
20111004 05 - Présentation SquashLeClubQualiteLogicielle
489 views12 slides
20140410 - Choisir et implanter un outil de test by
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de testLeClubQualiteLogicielle
1.7K views33 slides
20110125 04 - Présentation Squash by
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation SquashLeClubQualiteLogicielle
1.1K views16 slides
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test by
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
967 views11 slides

What's hot(20)

20171122 03 - Les tests de performance en environnement DevOps by LeClubQualiteLogicielle
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test by LeClubQualiteLogicielle
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie by LeClubQualiteLogicielle
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next by LeClubQualiteLogicielle
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a... by LeClubQualiteLogicielle
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse by LeClubQualiteLogicielle
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
Qualité Logiciel - Outils Open Source pour Java et Web by Christophe Rochefolle
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
Qualification Et Cycle De Vie Du Logiciel by danaobrest
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
danaobrest22K views
Industrialisez vos projets Php by ALTER WAY
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY3.6K views
Intégration continue by Klee Group
Intégration continueIntégration continue
Intégration continue
Klee Group5.4K views
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques by Emmanuel Hugonnet
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Avis d'expert : Les Tests Logiciels by CloudNetCare
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
CloudNetCare51K views
Industrialisation des développements logiciels by Sylvain Leroy
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
Sylvain Leroy1.9K views
Cas Client Bouygues Telecom - CloudNetCare by CloudNetCare
Cas Client Bouygues Telecom - CloudNetCareCas Client Bouygues Telecom - CloudNetCare
Cas Client Bouygues Telecom - CloudNetCare
CloudNetCare556 views
Introduction à la qualité logicielle (1/5) by Sylvain Leroy
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
Sylvain Leroy1.7K views

Similar to 20120612 02 - Automatisation des tests avec squash TA en environnement bancaire - Rex BGPI

Openerp by
OpenerpOpenerp
OpenerpPrénom Nom de famille
512 views12 slides
Migration sharepoint 2013 by
Migration sharepoint 2013Migration sharepoint 2013
Migration sharepoint 2013Michael Nokhamzon
2.1K views44 slides
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDA by
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDACV_FR_Profil_Jean-Paul_NTUMBAKANYINDA
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDAJean-Paul NTUMBA KANYINDA
159 views7 slides
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014 by
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
1.3K views59 slides
20070320 04 - Plateforme d'integration continue (PSA) by
20070320 04 - Plateforme d'integration continue (PSA)20070320 04 - Plateforme d'integration continue (PSA)
20070320 04 - Plateforme d'integration continue (PSA)LeClubQualiteLogicielle
314 views28 slides
Utc apm human talks compiegne by
Utc apm human talks compiegneUtc apm human talks compiegne
Utc apm human talks compiegneArthur Van Ceulen
530 views13 slides

Similar to 20120612 02 - Automatisation des tests avec squash TA en environnement bancaire - Rex BGPI(20)

2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa... by Club Alliances
2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa...2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa...
2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa...
Club Alliances823 views
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure by Valtech
Valtech - Décollage d’une plateforme digitale vers le Cloud AzureValtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech1.6K views
Les tests fonctionnels avec Visual Studio 2010 by Microsoft
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
Microsoft1.9K views
Java dans Windows Azure: l'exemple de Jonas by Microsoft
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
Microsoft611 views
Tra optimiser preparation_tests_v1 by SQLI
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
SQLI1.6K views
Retours d’expérience sur la conduite de projets BI sur les technologies... by Guillaume Meyer
Retours d’expérience sur la conduite de projets BI sur les technologies...Retours d’expérience sur la conduite de projets BI sur les technologies...
Retours d’expérience sur la conduite de projets BI sur les technologies...
Guillaume Meyer175 views
Presentation tests d'acceptations automatisés sug v1.1 by Jean-Emmanuel Houdu
Presentation tests d'acceptations automatisés sug v1.1Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure by GUSS
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
GUSS381 views
Master_OSAE_Cours_Tests_Grolleau.pdf by BchiriAmina1
Master_OSAE_Cours_Tests_Grolleau.pdfMaster_OSAE_Cours_Tests_Grolleau.pdf
Master_OSAE_Cours_Tests_Grolleau.pdf
BchiriAmina114 views
2008-10-02 Paris - Administration des applications critiques avec SQL Server ... by Patrick Guimonet
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
Patrick Guimonet1.5K views

More from LeClubQualiteLogicielle

20171122 02 - Engage developers to use better coding practices by
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practicesLeClubQualiteLogicielle
269 views21 slides
20151013 - Accueil Club Qualité Logicielle by
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
135 views11 slides
20140410 - Cartographie applicative multi-technologies et analyse d'impact by
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impactLeClubQualiteLogicielle
419 views20 slides
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu... by
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...LeClubQualiteLogicielle
145 views22 slides
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e... by
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...LeClubQualiteLogicielle
117 views29 slides
20130113 05 - Inspection continue et roadmap 2013 by
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013LeClubQualiteLogicielle
105 views13 slides

More from LeClubQualiteLogicielle(17)

20140410 - Cartographie applicative multi-technologies et analyse d'impact by LeClubQualiteLogicielle
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu... by LeClubQualiteLogicielle
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e... by LeClubQualiteLogicielle
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 04 - Tests d'integration et virtualisation - La vision IBM by LeClubQualiteLogicielle
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130523 06 - The mathematics the way algorithms think / the mathematics the ... by LeClubQualiteLogicielle
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC... by LeClubQualiteLogicielle
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali... by LeClubQualiteLogicielle
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20120124 02 - Enjeux et défis de l'integration de composants open source dans... by LeClubQualiteLogicielle
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 03 - Human Centric Solutions - Accessibilité et mobilité by LeClubQualiteLogicielle
20120124 03 - Human Centric Solutions - Accessibilité et mobilité20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring by LeClubQualiteLogicielle
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring

20120612 02 - Automatisation des tests avec squash TA en environnement bancaire - Rex BGPI

  • 1. Automatisation des Tests avec Squash TA en environnement bancaire : retour d’expérience de la BGPI Club Qualité Logicielle 12 juin 2012
  • 2. /13 juin 2012/P2 Sommaire  Contexte  Plate-forme technique  Méthodologie  Points de vigilance  Questions & Réponses
  • 3. /13 juin 2012/P3 Présentation BGPI/SIDEV/HDF  HDF : Help Desk Fonctionnel Support fonctionnel Modélisation Pivot Rédaction des Spécifications fonctionnelles détaillées Recette Assurance Qualité et Tests de Non Régression  SIDEV : Études Informatiques BGPI  BGPI : Banque de Gestion Privée du groupe Crédit Agricole
  • 4. /13 juin 2012/P4 Contexte  Gains attendus des TNR  Régressions Incidents Mises en production  Recette plus complète : Risque d’anomalie Couverture  Objectifs  Vérifier l'absence de régression dans une nouvelle version  Recette effectuée dans un environnement dédié et maîtrisé  Sélection de scénarios métier pertinents et automatisables  Recette complémentaire de celle de la MOA (évolutions)
  • 5. /13 juin 2012/P5 Périmètre applicatif testé  Alpha (28 scénarios – juin 2010 – 6 mois) - application de téléconseil avec recommandations d'arbitrage - nombre important de régressions - technologie : JSF + QuipuKit, navigateur Firefox 3.2.6 local - outil de test utilisé : Squash TA/Selenium/CubicTest  Agora CRM (5 scénarios – janvier 2011 – 1 mois) - création de contacts clients (CRM) - forte sensibilité - technologie : GWT/GXT, navigateur IE8 sous Citrix - outil de test utilisé : Squash TA/Selenium/CubicTest  Agora NRT (21 scénarios – janvier 2012 – 1 mois) - application d'administration du nouveau référentiel tiers - structurant car référentiel - technologie : idem qu’Agora CRM - outil de test utilisé : Squash TA/Sahi
  • 6. /13 juin 2012/P6 Les différents contributeurs  Mise en place de la plate-forme de tests automatisés :  Equipe Production  Equipe Base de données  Equipe Intégration  Equipe Squash Henix  Réalisation des tests :  Développeurs Web  Maîtrises d’Ouvrage  Automaticien
  • 7. /13 juin 2012/P7 Architecture technique Squash TM Mantis Serveur ORACLE ‘TNR’ XFER Serveur ORACLE ‘TNR’ NR2 Serveur applicatif Webspheres - Alpha - Agora - Services communs Squash TM Apache MySQL PHP JAILER MAVEN IE Firefox Poste HDF Rapports d’exécution Usine TNR WebApp Automatisation Selenium Eclipse Cubic Test Subversive Applicatif BGPI Sahi JAILER MAVEN IE Firefox Poste HDF Subversion Sahi Eclipse Squash TA
  • 8. /13 juin 2012/P8 Méthodologie générale – Etapes générales du processus d’automatisation  Analyse des spécifications fonctionnelles  Choix des scénarios à automatiser  Alimentation du référentiel de tests (exigences, cas de test)  Détermination de l'échantillon de données ad'hoc  Codage des scénarios  Exécution des scripts  Génération de rapports d’exécution  Analyse des résultats et restitution du PV de recette TNR Squash TA / Sahi
  • 9. /13 juin 2012/P9 Méthodologie générale – Etapes générales du processus d’automatisation  Analyse des spécifications fonctionnelles  Choix des scénarios à automatiser  Alimentation du référentiel de tests (exigences, cas de test)  Détermination de l'échantillon de données ad'hoc  Codage des scénarios  Exécution des scripts  Génération de rapports d’exécution  Analyse des résultats et restitution du PV de recette TNR
  • 10. /13 juin 2012/P10 AGORA NRT – Aperçu d’un écran
  • 11. /13 juin 2012/P11 Vue 3D de l’application Agora NRT Vue créée par l’extension Firefox Web Developer
  • 12. /13 juin 2012/P12 Sahi – Présentation générale  Outil open source d’automatisation de tests pour applications Web  Lance et ferme le navigateur Web  Interprète et exécute les commandes transmises par le programme de test  Agit comme un proxy HTTP, en interceptant et vérifiant les messages HTTP échangés entre le navigateur et l’application testée  Librairies client fournissant une interface (API) entre le langage de programmation et le serveur proxy  Enregistreur de commandes fourni
  • 13. /13 juin 2012/P13 Sahi : Les points forts + API très riche (+ d’une centaine de méthodes d’accès / action / assertion) + support de nombreux langages de programmation + prise en main rapide + enregistreur intégré + indépendance vis à vis des différents interpréteurs Javascript + enregistreur fonctionnant sous tous les navigateurs + accès facilité aux objets d'une page Web + adapté aux applications Web riches avec contenu dynamique + « waits » implicites
  • 14. /13 juin 2012/P14 Sahi : Les points faibles - pas de couche graphique, écriture entièrement manuelle des scripts - technologie encore récente, qui doit faire ses preuves - impossible d'interagir avec l’environnement win32
  • 15. /13 juin 2012/P15 Méthodologie générale – Etapes générales du processus d’automatisation  Analyse des spécifications fonctionnelles  Choix des scénarios à automatiser  Alimentation du référentiel de tests (exigences, cas de test)  Détermination de l'échantillon de données ad'hoc  Codage des scénarios  Exécution des scripts  Génération de rapports d’exécution  Analyse des résultats et restitution du PV de recette TNR
  • 16. /13 juin 2012/P16 Etapes d’une campagne de tests automatisés
  • 17. /13 juin 2012/P17 Intégration et Recette de scripts (Java)  Intégration des scripts dans des classes Java  Mise en place de l’environnement  Exécution du script  Vérifications éventuelles (base, fichiers,…)  Réinitialisation de l’environnement
  • 18. /13 juin 2012/P18 Framework Squash TA  La plupart des outils d’automatisation de test existants se focalisent sur l’exécution du test et les vérifications dynamiques (c’est-à-dire les vérifications effectuées au cours de l’exécution). Mais ces fonctions seules ne permettent pas de mettre en place des tests réutilisables et maintenables.  Les cas de tests doivent être entièrement automatisés, c’est-à-dire qu’ils doivent inclure toutes les étapes suivantes :  préparation de l’environnement  exécution du test et vérifications dynamiques  vérifications post-exécution  nettoyage de l’environnement  Le framework doit prendre en charge la préparation de l’environnement avant le cas de test, les vérifications complémentaires après l’exécution, et le nettoyage de l’environnement.  En outre, il doit permettre de constituer des campagnes facilement et de les exécuter automatiquement.
  • 19. /13 juin 2012/P19 Points de vigilance  Sensibilité des tests aux modifications de :  spécifications fonctionnelles  framework de développement  l’interface utilisateur  structure de la base de données  données (ex: anonymisation) Chacun de ces points impacte plus ou moins fortement l’effort de maintenance des tests
  • 20. /13 juin 2012/P20 Conclusions  Squash TA assure un pilotage complet des tests, de la préparation au reporting  Gain de productivité et donc de couverture fonctionnelle : sur Agora NRT, 100% des scénarios de consultation ont été automatisés  Fiabilisation de la recette : 2 anomalies détectées par campagne en moyenne
  • 22. /13 juin 2012/P22 Contribution du service Production  Installation et configuration du poste de travail selon le besoin exprimé  Droits d’installation sur certains répertoires du poste de travail  Montage des serveurs applicatifs  Montage des bases de données
  • 23. /13 juin 2012/P23 Contribution de l’équipe Base de données  Mise à disposition de données iso-prod contenant un repository de données multiples, dans lesquelles peut « piocher » l'automaticien  Mise à disposition d'un ensemble de scripts shell permettant le déploiement des packages à mettre en production  Création de comptes Jailer
  • 24. /13 juin 2012/P24 Contribution de l’équipe Intégration  Déploiement et maintenance de l’environnement Squash TM et Mantis
  • 25. /13 juin 2012/P25 Contribution de l’équipe Squash Henix  Déploiement, configuration et maintenance de Squash TA sur le poste de travail  Adaptation du template projet aux applications du client  Développement d’extensions du framework spécifiques à l’environnement applicatif du client
  • 26. /13 juin 2012/P26 Contribution des Développeurs Web  Déploiement des versions à tester (deployIt)  Développement d’un lanceur de batchs  Mise en place d'un serveur de mails  Développement d'une page Web pour afficher le contenu d'un email ou d'un document pdf avant son formatage final, au format HTML, exploitable par l'outil de test  Renseignement de la matrice multi-critères (choix des scénarios à automatiser)
  • 27. /13 juin 2012/P27 Contribution des Maîtrises d’Ouvrage  Mise à disposition des spécifications fonctionnelles générales  Saisie des règles de gestion et des cas de test dans le référentiel de tests  Renseignement de la matrice multi-critères et choix final des scénarios à automatiser
  • 28. /13 juin 2012/P28 Contribution de l’automaticien  Renseignement de la matrice multi-critères  Maintenance de l’environnement de test et de la toolbox  Constitution des jeux de données de test  Ecriture et maintenance des scripts  Exécution des TNR automatisés
  • 29. /13 juin 2012/P29 Choix des scenarios à automatiser : utilisation d’une matrice multicritères
  • 30. /13 juin 2012/P30 Matrice : Grille de sélection instanciée
  • 31. /13 juin 2012/P31 Méthodologie générale – Etapes générales du processus d’automatisation  Analyse des spécifications fonctionnelles  Choix des scénarios à automatiser  Alimentation du référentiel de tests (exigences, cas de test)  Détermination de l'échantillon de données ad'hoc  Codage des scénarios  Exécution des scripts  Génération de rapports d’exécution  Analyse des résultats et restitution du PV de recette TNR
  • 32. /13 juin 2012/P32 Référentiel de tests – Squash TM
  • 33. /13 juin 2012/P33 Méthodologie générale – Etapes générales du processus d’automatisation  Analyse des spécifications fonctionnelles  Choix des scénarios à automatiser  Alimentation du référentiel de tests (exigences, cas de test)  Détermination de l'échantillon de données ad'hoc  Codage des scénarios  Exécution des scripts  Génération de rapports d’exécution  Analyse des résultats et restitution du PV de recette TNR
  • 34. /13 juin 2012/P34 Jailer : Description  Outil open-source codé en Java  Support de multiples bases (via JDBC)  Analyse de base de données relationnelles  Création d’un modèle d’extraction respectueux des contraintes de base de données  Génération d’échantillons de données  Exports de datasets au format DbUnit
  • 35. /13 juin 2012/P35 Jailer : Extraction de données BGPI3TMP BGPI3NR2 REF Données fonctionnelles Données fonctionnelles REF
  • 36. /13 juin 2012/P36 Jailer : Modèle d’extraction
  • 37. /13 juin 2012/P37 Jailer : Processus d’extraction
  • 38. /13 juin 2012/P38 Jailer : Exemple de dataset
  • 39. /13 juin 2012/P39 Contrôleur Sahi – Record & Playback
  • 40. /13 juin 2012/P40 Processus Subversion / Maven d’exécution d’une campagne de tests
  • 41. /13 juin 2012/P41 Sahi – Diagramme d’architecture