Module C : Industrialisation des tests Industrialisation des tests V1.1. VERIFIER.VALIDER ALTRAN CIS, de l assurance Qualité à l assurance de la qualité
le lien et la de l automatisation des automates Les outils de test dans le projet
Fournisseurs Coût, productivité Automates de test Outils de tests de charge Cellule de tests Clients Management Communication Environnements de tests Les outils de test dans le projet
outils de test? le lien et la de l automatisation des automates Pourquoi mettre en place des outils de test?
Raisons Améliorer la gestion de l information Archiver l information Tracer les modifications Pas de capitalisation Manque de visibilité Risques sans Améliorer la communication entre les acteurs Utiliser un référentiel commun Centraliser les données Envoyer des notifications automatiques Guider les utilisateurs dans le déroulement des opérations (workflow) Manque de capitalisation (réutilisabilité) Travail en équipe difficile Non diffusion de l information Manque de réactivité Circuit informel Mauvais traçabilité Améliorer la productivité des équipes de test Automatiser les tâches répétitives et les tests de non-régression Perte de temps Activité fastidieuse Effectuer des tests non économiquement réalisables par des opérateurs (ex: test de charge) Tests non faits Anomalies tardives Pourquoi mettre en place des outils de test?
De la mauvaise Raisons utilisation des outils Risques avec Améliorer la gestion de l information Archiver l information Inexploitabilité sans méthodologie Tracer les modifications Impression de «Flicage» Améliorer la communication entre les acteurs Utiliser un référentiel commun Centraliser les données Envoyer des notifications automatiques Administration des outils défaillantes Dilution de l information Surcharge des boîtes mails Guider les utilisateurs dans le déroulement des opérations (workflow) Perte de réactivité Améliorer la productivité des équipes de test Automatiser les tâches répétitives et les tests de nonrégression Effectuer des tests non économiquement réalisables par des opérateurs (ex: test de charge) Scripts non réutilisables Sensibilité / application Perturbation de la production Pourquoi mettre en place des outils de test?
De la mauvaise utilisation des outils Reuters : Utilisation de Rational Robot Création de 10 000 scripts Maintenance impossible => Abandon des scripts Bouygues Telecom : Gestion d anomalies Notification par mail de chaque changement de statut / de chaque modification Réception de 120 mails par jour => non traitement de l information Pourquoi mettre en place des outils de test?
le lien et la de l automatisation des automates
Outils de gestion des campagnes de tests Outils de gestion des anomalies Outils de manipulation des données Automates fonctionnels Outils de montée en charge
b) FileAid, c) QADirector, Track Record d) QArun, TestPartner e) QALoad b) Relational Tools (Princeton) c) TestDirector d) WinRunner, QTP e) LoadRunner c) ClearQuest d) Rational Robot e) Rational Robot a) Caliber, c) SilkCentral, d) SilkTest e) SilkPerformer f) Continus f) PVCS Tracker a) Gestion des exigences b) Extraction, Base Données c) Gestion Plan de test + Anomalies d) Automate fonctionnel e) Test de charge f) Gestion de configuration
Gestionnaires de campagnes de tests Fonction : organiser, concevoir et suivre l exécution des tests Intérêt : Élaborer un référentiel de test commun à tous les acteurs Établir une couverture des tests Pérenniser les informations Suivre en temps réel l avancement du projet de test Automatiser la génération de rapports Pré-requis : Identifier les acteurs et leurs fonctions précises sur le projet Avoir une méthode de test Dév. Vérification Préliminaire Test de composant Réception Livraison Composant Gestion des risques Appropriation / Capitalisation Installation Composant Méthodes et outils Gestion de Configuration Plan de test / Cahier de test Intégration composant Intégration système Validation Qualification Env. Gestion des anomalies Version système cible Reporting Préparation Env. Recette Gestion des plates-formes Rédaction MEX Livraison Recette Mise à disposition Livraison Recette Pré-Prod
C o n tr ô le co r re c tio n C o n tr ô le d e l a nom alie C o n tr ô le d e l a nom alie Gestionnaires d anomalies Fonction : gérer les anomalies liées aux tests Intérêt : Automatiser la génération des rapports Centraliser les anomalies Pérenniser les informations Formaliser le processus de traitement des anomalies Rendre les informations facilement accessibles à tous les acteurs A c tio n à ré a lis e r P o in t d e d éc ision S ta tu t de l a n om a lie C o m ité d e su iv i C hef de projet C o n c e p te u r T e s te u r R e s p o n s a b le d e s a n o m a lie s /D é v e lo p p e u r d e s te s t s G e s tion n a ire d es a n om a lie s A n a ly s te Pré-requis : Identifier les acteurs et leurs fonctions précises sur le projet Définir le cycle de vie d une anomalie 6 6 E n re g is tre r un e a n o m a lie E n re g is tré e C f. : 1 Q u alifié e F e rm e r l a no m a lie F e rm é e 1 6 5 1 7 l anomalie 8 O uv e rtu re d e l a n om a lie Retransmettre O u ve r te A b a n do nn e r l a n om a lie A b an d o n n é e R e fu s é e 1 1 2 1 4 A r bitr ag e E x a m in e r l a n om a lie P ro c h a in e v e rs ion 1 3 1 2 9 R é a s s ig n e r A c c e pté e 1 5 1 0 L ivr ée 3 R e fu s e r l a no m a lie A c c ep tée C o rr ig é e L iv ré e R é a lis e r la c o rr e c tio n 4 Livr a is o n d e la c o rre c tio n C o rr ig é e R é a lis e r la c o rr e ctio n 4 Livr a is o n d e la c or re c tio n
Outils de manipulation de données Fonction : effectuer des opérations sur des sources de données Intérêt : Accéder très facilement aux bases de données Avoir une vue d ensemble du SGBD Comparer et manipuler facilement tous types de données Extraire facilement les données en fonction de critères définis Sauvegarder et restaurer des bases de données Intégrer la gestion des données au sein des équipes de test Agences - I.A.- DPS6000 Comptabilité Gestion agence CLIENTS Sinistres Recouvrement Client Pré-requis : Avoir une base de test dédiée Connaître son MCD G E S T I O N P R O D U I T S Gestion des Intermédiaires Gestion de parc PRODUCTION Gestion individuelle Gestion collective (Terme, Révision ) Facturation Contrat référence INTERMEDIAIRE S SIR - M.F. 3270 Véhicules assurés PARC CLIENT CONTRATS FACTURES PERSONNE S Surveillance Production SIGMMA C/S NT REFLET CLIENTS SINISTRES Gestion Clients CLIENTS - GICG M.F. 3270 Infocentre Recouvreme SIGMMA M.F. nt 3270 GL R.d.J. RECOUVT Comptabilité M..F. 3270 Comptabilité M.F. 3270 PILOTAGE GSIE Gestion Sinistres SINISTRES - M.F. 3270
Automates de tests fonctionnels Fonction : exécuter les tests de façon automatique Intérêt : Accroître la qualité de certains types de tests (non-régression, IHM) Fiabiliser les tests (externalisation des données) Alléger les charges relatives à l exécution des tests Augmenter la rapidité des tests exécutés Effectuer des tests difficilement réalisables de façon manuelle (stress, volumétrie ) Pré-requis : Avoir une bonne expérience de l outil Formaliser de façon rigoureuse le mode opératoire des tests Disposer d une plateforme de test stable et dédiée
Outils de montée en charge Fonction : mesurer la dégradation du temps de réponse d un logiciel face à la connexion simultanée d un nombre donné d utilisateurs Intérêt : Effectuer des tests difficilement réalisables de façon manuelle Diminuer considérablement les ressources allouées à ce type de test Mesurer et quantifier les résultats des tests Pré-requis : Avoir des connaissances en architecture et administration système Avoir une méthode structurée pour accomplir ce type de test Browsers INTERNET HTTP HTML / XML FireWall Ethernet 10/100 (n>=2) serveurs de traitements 1 serveur backup de données+batch COBOL Microfocus RT 2.0.11 (4 instances Oracle) BEA WebLogic 6.1 Tuxedo 8 (64 bits) COBOL Microfocus RT 2.0.11 Jolt 8 serveur Oracle 9i (64 bits) client Oracle9i équilibrage de charge HP rp2470 HP rp7410 bi- pro, 4Go 4 pro, 8Go redémarrage à froid COBOL Microfocus RT 2.0.11 BEA WebLogic 6.1 Tuxedo 8 (64 bits) COBOL Microfocus RT 2.0.11 Jolt 8 serveur Oracle 9i (64 bits) client Oracle9i SD16 way HP rp2470 bi-pro, 4Go Ethernet 1000 Partition 3: données 1 cell / 1 IO chassis 4 cpu (+4? icod) / 8 Go 1*core IO 3*Ultra2 1*100BT 4 ports 2FC 2Gb HPUX 11i enterprise FC Gbps 1 serveur principal de données+batch (4 instances Oracle) Baie de stockage RAID Baie HP EVA Les tests de de performance permettront de de finaliser ce ce dimensionnement
: Synthèse Les outils ne peuvent être utilisés efficacement que si leur utilisation s appuie sur une méthode Il existe des outils facilitant ou exécutant chacune des activités d un projet de tests Les retours sur investissement sont mesurables rapidement: gain de productivité amélioration de la gestion de l information amélioration du reporting amélioration de l organisation
le lien et la de l automatisation des automates continuité entre
PRE EX RES PRE EX RES 1P 1E 1R 2P 2E 2R 1- Gestion des données Paramétrage de l outil (MCD, MLD) Extractions en cohérence, Comparaisons Données réduites, Résultat des comparaisons 2- Plan de test Paramétrage de l outil (entrée / sortie - profils utilisateurs) Lancement des pas de test Constitution du plan de tests (associé au cahier de tests) PRE EX RES 3P 3E 3R 3- Gestion des anomalies Paramétrage de l outil (profils utilisateurs, workflow indicateurs qualité) Saisie, mise à jour et lecture des fiches d anomalies et des pas de test Bilan de test PRE EX RES 4P 4E 4R 4- Automate Encapsulation, paramétrage, Capture, variabilisation, vérification sur version réf Exécution des scripts sur nouvelle version Résultats des contrôles PRE Préparation EX Exécution / Utilisation RES Analyse des Résultats continuité entre
Faire une demande corrective Faire une demande de création d application Faire une demande d évolution PRODUCTION PV de recette définitive PV de fin de vérification Fermeture Incident PV de recette Bilan de campagne(s) Exécuter les tests de Recette Validation Gérer des Anomalies Exécuter les tests de Vérification Validation Evaluer les tests de Recette Bilan de campagne(s) Evaluer les tests de vérification Recueillir les besoins Expression de besoin PV de Livraison Validation Anomalie DEVELOPPEMENT Définir la stratégie de test Faire l analyse fonctionnelle Concevoir les scénarii de test de recette Faire la conception générale du SI Conception préliminaire codage paramétrage Tests unitaires Préparer l environnement de test Spécifications Fonctionnelles Livraison Cahier de recette Spécifications techniques Dossier de Conception Cahiers de test de vérifications Finaliser la stratégie de test Validation Concevoir les scénarii de test de vérifications Valoriser les Scénarii Validation continuité entre
Faire une demande corrective Faire une demande de création d application Faire une demande d évolution PRODUCTION PV de recette définitive 2E EX PV de fin de vérification Fermeture Incident PV de recette Exécuter les tests de Recette Validation 4R 1R 2E 3E Bilan de campagne(s) EX 3E RES RES EX EX Exécuter les tests de Vérification Gérer des Anomalies 3E Validation Evaluer les tests de Recette EX Bilan de campagne(s) Evaluer les tests de 3R vérification RES 1E EX EX Recueillir les besoins Expression de besoin PV de Livraison 4E 3R RES Validation DEVELOPPEMENT 2R Anomalie Définir la stratégie de test Faire l analyse fonctionnelle Concevoir les scénarii de test de RES recette Faire la conception générale du SI Conception préliminaire codage paramétrage Tests unitaires Spécifications Fonctionnelles Livraison Préparer EX 4P PRE l environnement de test Cahier de recette Spécifications techniques 4P Dossier de Conception 1E 1P PRE Cahiers de test 4P de vérifications 4P 3P PRE Finaliser la stratégie de test Validation Concevoir les scénarii de test de vérifications PRE Valoriser les Scénarii RES 2R Validation PRE 2P 1- Gestion des données 2- Plan de test 3- Gestion des anomalies 4- Automate continuité entre
le lien et la de l automatisation des automates
: Un service, une méthodologie Construire les Plans de test : Matrice de gestion des exigences Définir la couverture de Non régression : Matrice des impacts Définir le niveau de granularité des scénarii : Niveaux d évolution des fonctionnalités Définir la priorité d et l effort de test: Méthode «PR 2 D» Le processus des tests automatisés La démarche méthodologique Concevoir l Développer l
Le Manuel Opératoire Le manuel opératoire décrit pas à pas les opérations à réaliser pour automatiser un cas de tests. C est l outil principal du transfert de connaissance. Il est rédigé dès la phase pilote et mis à jour tout au long du projet. Son utilisation systématique garantit la bonne exécution des différentes tâches de l automatisation. Il couvre l ensemble des tâches du projet d automatisation, de la gestion du référentiel de tests (gestion des plans de test et des campagnes de test, rapports de tests) à la gestion des tests automatisés (scripts et jeux de données).
Les pré-requis Technique : Disposer d une plateforme de test stable et dédiée Connaître la technologie de développement de l IHM S assurer du support de cette technologie par l automate Humain : Connaître l outillage et la méthodologie de conduite de l automatisation des tests Identifier et coordonner les interlocuteurs de l équipe de test (MOE, DEV, MOA) Fonctionnel (métier) : Formaliser de façon rigoureuse le mode opératoire des tests, Posséder le plan de test complet de l'application (à partir duquel est identifié le périmètre de l automatisation).
Les 3 axes de la maintenabilité L axe technique : Assurer la qualité de la documentation du projet. Commenter les scripts Eviter la duplication de code Développer des composants réutilisables Externaliser les jeux de données L axe de paramétrage : Choix de critères de reconnaissance des éléments graphiques («Gui_Map» ou «Object Repository») Dialogue actif avec MOE-DEV pour garantir la stabilité des critères d identification choisis. L axe organisationnel : Établir des jeux de test de référence à restaurer pour chaque campagne de test. Obtenir la liste des modifications de l application avant chaque livraison.
Définir la stratégie de test Conception des scénarii de test Préparation de L environnement de test Gestion des Anomalies Définir les objectifs Et besoins de tests Plan de test Valorisation des jeux d essais -Concevoir - Développer l Cahier de test Validation de L environnement de test Exécution des tests Dossier d exécution Tableau des anomalies Evaluation des tests Définitions de tests Conception des tests Conduite des de tests En relation avec le domaine fonctionnel En relation avec les Etudes Qualification
❶ Choix, installation et qualification de l automate Utilisation des scénarios fournis par le client Rapport de validation négatif ❷ ❸ ❹ Rédaction du Plan de test du pilote et du manuel opératoire de l outil Concevoir l automatisation Mise en œuvre sur pilote, Mesure du ROI Dimensionn ement de la recette, Mesure du ROI Rapport de validation positif Plan de test, scénarios, Manuel Opératoire Validation du processus de test Garantie le retour sur investissement du projet : En détectant et solutionnant très tôt dans le processus les problèmes techniques En élaborant et en validant le mode opératoire le plus adapté au contexte technique En mesurant le ROI à chaque étape du déploiement (pilote, projet)
❶ Choix, installation et qualification de l automate Utilisation des scénarios fournis par le client Rapport de validation négatif ❷ ❸ ❹ Rédaction du Plan de test du pilote et du manuel opératoire de l outil Développer l automatisation Mise en œuvre sur pilote, Mesure du ROI Dimensionn ement de la recette, Mesure du ROI Rapport de validation positif Plan de test, scénarios, Manuel Opératoire Validation du processus de test Garantie le retour sur investissement du projet : En détectant et solutionnant très tôt dans le processus les problèmes techniques En élaborant et en validant le mode opératoire le plus adapté au contexte technique En mesurant le ROI à chaque étape du déploiement (pilote, projet)
le lien et la de l automatisation la mise en œuvre des automates rencontrées dans la mise en œuvre
Constat sur les 3 axes de la maintenabilité L axe technique : Assurer la qualité de la documentation du projet. Commenter les scripts Eviter la duplication de code Développer des composants réutilisables Externaliser les jeux de données Interfaces IHM très sensibles aux évolutions applicatives et aux montées de version - Automate fonctionnel très sensible également aux changements de versions. Problèmes de pérennité des scripts capturés. L axe de paramétrage : Choix de critères de reconnaissance des éléments graphiques («Gui_Map» ) Dialogue actif avec MOE-DEV pour garantir la stabilité des critères d identification choisis. L axe organisationnel : Établir des jeux de test de référence à restaurer pour chaque campagne de test. Obtenir la liste des modifications de l application avant chaque livraison. - Il est nécessaire de pouvoir effectuer des restaurations rapides rencontrées dans la mise en œuvre
Constat de l fonctionnelle Importante difficulté pour maintenir le patrimoine des scripts capturés. Le coût de développement et de maintenance des scripts peut être très élevé. L effort d automatisation des tests, pour une utilisation de «premier niveau» de l automate, peut être plus important que l effort de test manuel. rencontrées dans la mise en œuvre
Pour remédier à ces difficultés Pour pallier aux contraintes de maintenance des scripts associées aux changements de contexte technique et applicatif : Décorréler le plus possible l aspect technique de l aspect fonctionnel en élaborant une couche logicielle autour de l automate qui va le piloter. Permettre l utilisation de fonctions de haut niveau ou de scripts génériques adaptables. L automate fonctionnel doit être à même de rejouer de manière intelligente sans reproduire les actions de façon absolument identiques. rencontrées dans la mise en œuvre