Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

490 views

Published on

Automatisation des tests avec squash TA en environnement bancaire - Retour d'expérience de la BGPI

Published in: Software
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Automatisation des Tests avec Squash TA en environnement bancaire : retour d’expérience de la BGPI Club Qualité Logicielle 12 juin 2012
  2. 2. /13 juin 2012/P2 Sommaire  Contexte  Plate-forme technique  Méthodologie  Points de vigilance  Questions & Réponses
  3. 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. 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. 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. 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. 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. 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. 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. 10. /13 juin 2012/P10 AGORA NRT – Aperçu d’un écran
  11. 11. /13 juin 2012/P11 Vue 3D de l’application Agora NRT Vue créée par l’extension Firefox Web Developer
  12. 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. /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. 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. 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. 16. /13 juin 2012/P16 Etapes d’une campagne de tests automatisés
  17. 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. 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. 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. 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
  21. 21. /13 juin 2012/P21 Annexes
  22. 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. 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. 24. /13 juin 2012/P24 Contribution de l’équipe Intégration  Déploiement et maintenance de l’environnement Squash TM et Mantis
  25. 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. 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. 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. 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. 29. /13 juin 2012/P29 Choix des scenarios à automatiser : utilisation d’une matrice multicritères
  30. 30. /13 juin 2012/P30 Matrice : Grille de sélection instanciée
  31. 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. 32. /13 juin 2012/P32 Référentiel de tests – Squash TM
  33. 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. 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. 35. /13 juin 2012/P35 Jailer : Extraction de données BGPI3TMP BGPI3NR2 REF Données fonctionnelles Données fonctionnelles REF
  36. 36. /13 juin 2012/P36 Jailer : Modèle d’extraction
  37. 37. /13 juin 2012/P37 Jailer : Processus d’extraction
  38. 38. /13 juin 2012/P38 Jailer : Exemple de dataset
  39. 39. /13 juin 2012/P39 Contrôleur Sahi – Record & Playback
  40. 40. /13 juin 2012/P40 Processus Subversion / Maven d’exécution d’une campagne de tests
  41. 41. /13 juin 2012/P41 Sahi – Diagramme d’architecture

×