SlideShare a Scribd company logo
1 of 41
Download to read offline
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

More Related Content

What's hot

Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot frameworkgilleslenfant
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonEmeline Simon
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Hamid Barakat
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Edureka!
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootDNG Consulting
 
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Edureka!
 
automation framework
automation frameworkautomation framework
automation frameworkANSHU GOYAL
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logicielMajid CHADAD
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 

What's hot (20)

Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
Test plan
Test planTest plan
Test plan
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
 
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
automation framework
automation frameworkautomation framework
automation framework
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 

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

Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
"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/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
20070320 04 - Plateforme d'integration continue (PSA)
20070320 04 - Plateforme d'integration continue (PSA)20070320 04 - Plateforme d'integration continue (PSA)
20070320 04 - Plateforme d'integration continue (PSA)LeClubQualiteLogicielle
 
Utc apm human talks compiegne
Utc apm human talks compiegneUtc apm human talks compiegne
Utc apm human talks compiegneArthur Van Ceulen
 
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...
2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa...Club Alliances
 
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
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 AzureValtech
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
Agenda formation OpenIdm
Agenda formation OpenIdmAgenda formation OpenIdm
Agenda formation OpenIdmPascal Flamand
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1SQLI
 
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...
Retours d’expérience sur la conduite de projets BI sur les technologies...Guillaume Meyer
 
Presentation tests d'acceptations automatisés sug v1.1
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.1Jean-Emmanuel Houdu
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
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 AzureGUSS
 
Master_OSAE_Cours_Tests_Grolleau.pdf
Master_OSAE_Cours_Tests_Grolleau.pdfMaster_OSAE_Cours_Tests_Grolleau.pdf
Master_OSAE_Cours_Tests_Grolleau.pdfBchiriAmina1
 
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 ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 

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

Openerp
OpenerpOpenerp
Openerp
 
Migration sharepoint 2013
Migration sharepoint 2013Migration sharepoint 2013
Migration sharepoint 2013
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDA
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDACV_FR_Profil_Jean-Paul_NTUMBAKANYINDA
CV_FR_Profil_Jean-Paul_NTUMBAKANYINDA
 
"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/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
20070320 04 - Plateforme d'integration continue (PSA)
20070320 04 - Plateforme d'integration continue (PSA)20070320 04 - Plateforme d'integration continue (PSA)
20070320 04 - Plateforme d'integration continue (PSA)
 
Utc apm human talks compiegne
Utc apm human talks compiegneUtc apm human talks compiegne
Utc apm human talks compiegne
 
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...
2010.11.26 - DSI - Les Applications SaaS Cloud au service des DSI - Forum Saa...
 
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
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
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
Agenda formation OpenIdm
Agenda formation OpenIdmAgenda formation OpenIdm
Agenda formation OpenIdm
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
 
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...
Retours d’expérience sur la conduite de projets BI sur les technologies...
 
Projet Domurpic
Projet DomurpicProjet Domurpic
Projet Domurpic
 
Presentation tests d'acceptations automatisés sug v1.1
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
 
Mobilité && SAP
Mobilité && SAPMobilité && SAP
Mobilité && SAP
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
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
 
Master_OSAE_Cours_Tests_Grolleau.pdf
Master_OSAE_Cours_Tests_Grolleau.pdfMaster_OSAE_Cours_Tests_Grolleau.pdf
Master_OSAE_Cours_Tests_Grolleau.pdf
 
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 ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 

More from LeClubQualiteLogicielle

20171122 03 - Les tests de performance en environnement DevOps
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
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
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
 
20171122 02 - Engage developers to use better coding practices
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
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...LeClubQualiteLogicielle
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven developmentLeClubQualiteLogicielle
 
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 ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continueLeClubQualiteLogicielle
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
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
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
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éthodologieLeClubQualiteLogicielle
 
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...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...LeClubQualiteLogicielle
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de testLeClubQualiteLogicielle
 
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...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...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 06 - Travaux de recherche sur la corrélation entre qualité du code e...LeClubQualiteLogicielle
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013LeClubQualiteLogicielle
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
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 IBMLeClubQualiteLogicielle
 
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 ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...LeClubQualiteLogicielle
 

More from LeClubQualiteLogicielle (20)

20171122 03 - Les tests de performance en environnement DevOps
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
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
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 Engie
 
20171122 02 - Engage developers to use better coding practices
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 practices
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
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 ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
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 - Implémentation de squash TM-TA - Architecture et méthodologie
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
 
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...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
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...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
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 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
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 ...
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 ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 

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