SlideShare una empresa de Scribd logo
1 de 33
@crochefolle
Automatisation
des tests
Généralités
Objectifs & concepts
Partie 1
@crochefolle
@crochefolle
Dédicace
http://www.dorothygraham.co.uk/
Librement inspiré du travail de
Dorothy Graham
Spécialiste reconnue dans le
domaine du test, elle a contribué
à la définition du syllabus ISTQB
et notamment sur
l’automatisation des tests.
@crochefolle
Agenda
1. Introduction : ce que l’on va couvrir (et ne pas couvrir)
2. Définition : Qu’est-ce que l’automatisation des tests ?
3. Objectifs : Pourquoi automatiser ?
4. Couverture :
– Qu’est-ce qu’on automatise ?
– Pre et Post Process
– Comment déterminer ce qu’on automatise ?
5. Responsabilité : Qui fait quoi?
6. ROI : Combien ça coute ?
7. Infrastructure de test
8. Processus d’automatisation
9. Conclusion
@crochefolle
Introduction
• Comprendre les objectifs et
concepts de l’automatisation
des tests
• Définir les rôles et
responsabilités de chacun
• Présenter le ROI de
l’automatisation
• Présenter les principes
techniques d’automatisation
• Pas de présentations d’outils
• Pas de formation au
développement de script de
test
ce que l’on va couvrir (et ne pas couvrir)
@crochefolle
Définition : Qu’est-ce qu’un
test automatisé?
• Conçu par des testeurs pour validé une
exigenceUn test !
• automatiquement par un moteur de test
• mais qui pourrait être exécuté
manuellement
Un test
exécuté :
On industrialise ce qu’on maitrise !!
@crochefolle
Définition : Qu’est-ce que
l’automatisation des tests ?
• Un projet avec des objectifs, des responsabilités
• Mais aussi une charge de maintenance permanente
• Et des sous-projets :
• Choisir l’outil de test
• Produire/générer des données de tests
• …
L’automatisation des tests est :
• Double compétence dev/test
Un métier !
@crochefolle
Objectifs : Pourquoi automatiser ?
• Réduire le nombre de bugs trouvés par le
métier / en prod ?
• Sécuriser les MEPs ?
• Ajouter de nouvelles compétences pour les
testeurs ?
• Lancer des tests de régression chaque soir ?
• Exécuter des tests répétitifs ou avec beaucoup
de calcul (et donc risqué si fait manuellement)?
@crochefolle
Objectifs :
• Avoir des résultats rapides sans coûts
supplémentaires
• Automatiser tous les tests ?
• Construire une plateforme de tests
automatisés durable et maintenable ?
• Ajouter de nouveaux tests facilement ?
• S’assurer de la répétabilité des tests de
régression ?
@crochefolle
Objectifs :
• Sécuriser les dates de MEPs?
• Trouver plus de bugs ?
• Trouver des bugs plus rapidement ?
• Libérer les testeurs de l’exécution de tests
répétitifs (et ennuyant ) ou avec beaucoup de
calcul (et donc risqué si fait manuellement)?
• Améliorer nos tests ?
@crochefolle
Objectifs :
• Réduire la durée de test de x% ?
• Réduire le temps et les coûts de conception
des tests ?
• Réduire la taille de l’équipe de test ?
• Exécuter plus de tests ?
• Exécuter les tests de régression plus souvent ?
• Maximiser l’utilisation de la CPU de nos PCs
(exécution de nuit) ?
@crochefolle
Objectifs de l’automatisation des tests
• Exécuter des tests répétitifs ou avec beaucoup de calcul (et donc risqué si fait
manuellement)
• Libérer les testeurs de l’exécution de tests répétitifs (et ennuyant ) ou avec
beaucoup de calcul (et donc risqué si fait manuellement)
• Exécuter plus de tests
• Exécuter les tests de régression plus souvent
• S’assurer de la répétabilité des tests de régression
• Construire une plateforme de tests automatisés durable et maintenable
• Ajouter de nouveaux tests facilement
@crochefolle
Couverture : Qu’est-ce qu’on automatise ?
Test automatisé
• Sélectionner /identifier les scénarios de test
• Préparer l’environnement de test
– Créer l’environnement
– Créer les données de test
– Pour chacun des cas de test
• Préparer les prérequis
• Exécuter le scénario
• Comparer les résultats
• Enregistrer les résultats
• Analyser les « fails »
• Créer les bugs
• Revenir à l’état initial
• Nettoyer l’environnement de test
– Supprimer les données non nécessaires/rebaser l’environnement
– Sauvegarder les données importantes
• Faire un reporting d’avancement
@crochefolle
Couverture : Qu’est-ce qu’on automatise ?
Automatisation des tests
• Sélectionner /identifier les scénarios de test
• Préparer l’environnement de test
– Créer l’environnement
– Créer les données de test
– Pour chacun des cas de test
• Préparer les prérequis
• Exécuter le scénario
• Comparer les résultats
• Enregistrer les résultats
• Revenir à l’état initial
• Nettoyer l’environnement de test
– Supprimer les données non nécessaires/rebaser l’environnement
– Sauvegarder les données importantes
• Faire un reporting d’avancement
• Faciliter l’analyse
• Analyser les « fails »
• Créer les bugs
@crochefolle
Pre et Post Process
Qu’est ce que le pre et post process ?
Pre-process : automatisation des taches nécessaires à la mise en
place et l’exécutions d’un cas de tests
Post-process : automatisation des taches nécessaires pour
terminer la vérification et « faire le ménage »
Ces points sont essentiels car ils englobent de nombreuses taches
souvent les mêmes d’un test à un autre et qui peuvent être
automatisé : y compris si l’exécution du test est manuel !!!!
@crochefolle
Préparer des fichiers d’entrées
Générer des données
Nettoyer ce qui ne devrait pas être présent au démarrage d’un test
Copier/extraire des fichiers et les déposer là où l’outil de test les attend
…
Pre-process :
Copier les résultats vers l’outils de comparaison
Sauvegarder un état de données
Faciliter l’analyse des résultats
Supprimer les données/résultats inutiles
…
Post-process :
Exemples
Pre et Post Process
@crochefolle
Pre et Post Process
Ces points sont essentiels car ils englobent de nombreuses
taches souvent les mêmes d’un test à un autre et qui peuvent
être automatisé : y compris si l’exécution du test est
manuel !!!!
Ne pas automatisé uniquement les tests !!!
@crochefolle
Couverture : Comment déterminer ce qu’on
automatise ?Les critères sont les suivants :
1. la faisabilité technique de
l’automatisation,
2. la fréquence d’exécution des
tests,
3. le degré de réutilisabilité des
composants de test,
4. le nombre total de ressources
nécessaires,
5. la complexité des cas de test,
6. la possibilité d’utiliser les mêmes
cas de test pour de multiples
navigateurs ou environnements
7. le temps nécessaire à l’exécution
des tests.
©
@crochefolle
Responsabilité : Qui fait quoi?
Sélectionne les tests à
automatiser
Automatise les tests
Exécute les tests automatisés
Analyse les résultats de tests
Aide à l’analyse de résultat
Maintient et améliore le référentiel de
test automatisé
Créé les bugs trouvés par l’automate
Fournit les moyen pour lancer les tests
Fournit l’équipe de test en outils
Conçoit les scénarii et cas de test
Test le logiciel
@crochefolle
Responsabilité : Qui fait quoi?
• Test le logiciel
– Conçoit les scénarii et cas
de test
– Sélectionne les tests à
automatiser
• Exécute les tests
automatisés
• Analyse les résultats de
tests
– Créé les bugs trouvés par
l’automate
• Automatise les tests
demandés par les
testeurs
• Aide à l’automatisation
des tests
– Fournit les moyen aux
testeurs pour lancer les
tests
– Aide à l’analyse de résultat
– Fournit l’équipe de test en
outils d’aide
• Maintient et améliore le
référentiel de test
automatisé
Testeur Automaticien
@crochefolle
Responsabilité : Qui fait quoi?
Est-ce que tous les testeurs doivent devenir automaticiens ?
 Non
 Car :
 On risque d’obtenir un mauvais développeur de test
... et de perdre un bon testeur
 Tout ne s’automatise pas, on aura toujours besoin de test manuels
complémentaires
 Mais :
 Tous les testeurs doivent avoir une compétence d’automatisation pour :
 Comprendre et exécuter les automates de test
 Utiliser les tests automatisés à bon escient
 Avoir un point de rencontre avec le monde du dev
Mike Cohn Testing Pyramid
@crochefolle
ROI : Combien ça coute ?
• Investissement :
– Les coûts peuvent être exprimé en terme en terme d’effort de
test (en h, qui peuvent être converti en €)
• Retours :
– Réduire le temps d’exécution des tests par les testeurs
– Mais comment exprimer « la rapidité d’exécution »,
« exécution plus fréquente », « meilleure couverture »,
« meilleur TTM » ?
On peut se concentrer sur le temps passé par les testeurs et
considérer le reste comme des « bonus »
On compare donc habituellement au tests manuels
ROI : Retour sur investissement = (bénéfice – cout)/cout
@crochefolle
Hypothèses de travail : exemple du mobile
22
Application Type Automatisation Priorité
XXX iPhone X 1
iPad X 2
Android X 3
Windows Phone
Webapp X 4
Applications concernées
Scénario
Durée / scénarios
(en jours) Nb Scénarios
Simple 0,5 28
Moyen 1,5 22
Complexe 3 11
Nombres de scénarios de tests à
automatiser par type d’application
Heures d'utilisation Non-reg Front Non-reg Mobile
Durée par pays (heure) 3 2
Nombre de pays 8 8
Nombre de device 1 10
Nombre d'exécution moyenne par
semaine 2 1
Nombre de semaines 50 50
Nombre total d'heures d'exécution 2400 8000
Estimation heures d’exécution nécessaire
Nb scénarios 61
Nb jours automatisation par application 80
Nombre d'applications 4
Nb jours automatisation 320
Estimation budget automatisation
@crochefolle
ROI : Combien ça coute ?
Manual Automated
No. manual tests 61 No. automated tests 61
Test Creation Test Model Creation
Manual time (hrs) 2 Build time (hrs) 5
No. scenarios 61
Total time 122 Total time 326
Uses of scenario (hrs) 2
Total time 122
Overall model time 448
Prepare automated
framework
Acquire, install, configure
tools 140
Tool training 14
Testability analysis 0
Prepare Detailed test
model 40
Total aut prep 194
Test execution Automated execution
Manual exec (hrs) 1 Exec 4 mins 0,07
Man exec time 61 Aut exec time 4,27
Test
maintenance Aut maint
Manual maint 1
Man maint time 61 Total aut maint 5
Cost per test run
1 183 646
0
200
400
600
800
1000
1200
1400
1600
1800
1 2 3 4 5 6 7 8 9 10 11 12 13
Manual hrs
Automated hrs
@crochefolle
Les dangers du ROI
• Focus sur ce qui est facilement mesurable
• Les autres facteurs peuvent être beaucoup plus important : « la rapidité d’exécution »,
« exécution plus fréquente », « meilleure couverture », « meilleur TTM »
• Définir le ROI par le temps de tests peux donner l’impression que l’outil « remplace » les
testeurs
– C’est dangereux !
– Les outils remplacent certains aspects de ce que les testeurs font, mais augmentent les coûts
par ailleurs
– On attend un bénéfice net, même si c’est difficile à quantifier
@crochefolle
Infrastructure de test
• Définition : Les objets organisationnels nécessaires pour effectuer un test,
consistant en l’environnement de test, des outils de tests, des procédures et un
environnement bureautique
• Quels sont les artefacts dont on a besoin pour les tests ?
Entrées Résultats de tests
Données
d’entrées
Produits de test Compléments
Scripts de tests
Résultats obtenus
Logs
Exigences Status
Résultats
attendus
Différences
Environnement Rapports
Outils
@crochefolle
Infrastructure de test
• Quels sont les points important à prendre en compte ?
– La gestion des artefacts :
• Nombres
• Versionning
• Partage de données, librairies
Importance de la gestion de configuration
Gestion d’un référentiel de composant
– Les capacités d’exécutions :
• Machines virtuelles
• Test lab ?
– Maintenance
 L’automatisation des tests est un projet de développement et doit être gérer en
tant que tel !!!
@crochefolle
Infrastructure de test : outils
• Quels sont les critères de choix ? Exemple du mobile
@crochefolle
Infrastructure de test : outils
• Quels sont les critères de choix ? Exemple du mobile
-
20
40
60
80
100
Installation
Pricing &
Licensing
Support
Fonctionalités
Metier
Fonctionnalités
Technique
HP
Microsoft
@crochefolle
En résumé : process d’automatisation
29
Automaticien
Testeur
Mise en place
d’un projet
d’automatisation
Choix d’un outil
Mise en place de
l’infrastructure de
test
Développement
d’un framework
d’automatisation
Conception et
sélection des
tests à
automatiser
Développement
d’un automate
pour ces
scénarios
Exécution de
l’automate
Analyse des
résultats
Maintenance de
l’automate
Mise en place
Au quotidien
@crochefolle
Conclusion
• Quoi ? Qu’est-ce qu’on automatise ?
• Les tests conçus et sélectionnés par les testeurs
• Tout ce qu’on peut et qui est pertinent : construction environnement, générations
de JDD, …
• Qui ?
• Le testeur conçoit, sélectionne, exécute et analyse les résultats
• L’automaticien développe les tests, met à disposition l’infra de test et aide à
l’analyse
• Où ?
• Sur une infrastructure de test
• Quand ?
• Quand c’est pertinent : fréquent, réutilisable, critique, complexe, …
• Combien ?
• Un ROI moyen autour de la 6ième itération
• Comment ?
• C’est l’objet de la prochaine session
• Pourquoi ?
@crochefolle
Objectifs de l’automatisation des tests
• Exécuter des tests répétitifs ou avec beaucoup de calcul (et donc risqués si fait
manuellement)
• Libérer les testeurs de l’exécution de tests répétitifs (et ennuyant ) ou avec
beaucoup de calcul (et donc risqué si fait manuellement)
• Exécuter plus de tests
• Exécuter les tests de régression plus souvent
• S’assurer de la répétabilité des tests de régression
• Construire une plateforme de tests automatisés durable et maintenable
• Ajouter de nouveaux tests facilement
@crochefolle
Agenda de la prochaine partie
Comment automatiser les tests ?
1. Les différents types de tests automatisés : TU, BDD/TDD, NRA,
TDC, Test de vie …
2. Méthodes d’automatisation
1. Capture/replay
2. Projet de développement
3. Techniques d’automatisation
1. Data driven
2. Keyword driven
3. DSTL
4. Oracle / bouchon
5. Techniques de comparaison
6. Reporting
@crochefolle
Merci !!

Más contenido relacionado

La actualidad más candente

Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests typemadspock
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZCedric GAUTIER
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsKokou Gaglo
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testingjubehr
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logicielUSTHB & DELTALOG
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logicieldanaobrest
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testahmed oumezzine
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentauxCOMPETENSIS
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielleYouness Boukouchi
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASELilia Sfaxi
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agilesguesta206aa87
 

La actualidad más candente (20)

Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests type
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à Z
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Jenkins
JenkinsJenkins
Jenkins
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testing
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de test
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agiles
 

Similar a Automatisation des tests - objectifs et concepts - partie 1

testUnitaire (1).pptx
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptxManalAg
 
[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & MétiersCellenza
 
PyConFR - testons en python
PyConFR - testons en pythonPyConFR - testons en python
PyConFR - testons en pythongburet
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...Cyrille Grandval
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyMarc Hage Chahine
 
[Agile Testing Day] Introduction
[Agile Testing Day] Introduction[Agile Testing Day] Introduction
[Agile Testing Day] IntroductionCellenza
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingGeeks Anonymes
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1Marc Bojoly
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EEAntonio Gomes Rodrigues
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterGuillaume Deshayes
 
SYnopsis Open Studio
SYnopsis Open StudioSYnopsis Open Studio
SYnopsis Open StudioGilles Auvray
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileDenis Voituron
 

Similar a Automatisation des tests - objectifs et concepts - partie 1 (20)

testUnitaire (1).pptx
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptx
 
[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
PyConFR - testons en python
PyConFR - testons en pythonPyConFR - testons en python
PyConFR - testons en python
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom Valley
 
[Agile Testing Day] Introduction
[Agile Testing Day] Introduction[Agile Testing Day] Introduction
[Agile Testing Day] Introduction
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testing
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EE
 
Perf university
Perf universityPerf university
Perf university
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
Test unitaires
Test unitairesTest unitaires
Test unitaires
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
SYnopsis Open Studio
SYnopsis Open StudioSYnopsis Open Studio
SYnopsis Open Studio
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
 

Más de Christophe Rochefolle

Agile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique ResponsableAgile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique ResponsableChristophe Rochefolle
 
Une App responsable pour de la mobilité durable
Une App responsable pour de la mobilité durableUne App responsable pour de la mobilité durable
Une App responsable pour de la mobilité durableChristophe Rochefolle
 
#DevOps - Et si on déployait le vendredi
#DevOps - Et si on déployait le vendredi#DevOps - Et si on déployait le vendredi
#DevOps - Et si on déployait le vendrediChristophe Rochefolle
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Christophe Rochefolle
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018Christophe Rochefolle
 
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...Christophe Rochefolle
 
Qualité Logiciel - Outils Open Source pour Java et Web
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 WebChristophe Rochefolle
 

Más de Christophe Rochefolle (12)

Agile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique ResponsableAgile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique Responsable
 
Une App responsable pour de la mobilité durable
Une App responsable pour de la mobilité durableUne App responsable pour de la mobilité durable
Une App responsable pour de la mobilité durable
 
#DevOps - Et si on déployait le vendredi
#DevOps - Et si on déployait le vendredi#DevOps - Et si on déployait le vendredi
#DevOps - Et si on déployait le vendredi
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018
 
Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6
 
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...
Kriss Rochefolle: "How to Convince Your Boss to Say "Yes!" to Chaos Engineeri...
 
Qualité Logiciel - Outils Open Source pour Java et Web
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
 
Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5
 
Jftl 2018 chaos engineering
Jftl 2018   chaos engineeringJftl 2018   chaos engineering
Jftl 2018 chaos engineering
 
Paris Chaos Engineering Meetup #2
Paris Chaos Engineering Meetup #2Paris Chaos Engineering Meetup #2
Paris Chaos Engineering Meetup #2
 
Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1 Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1
 

Último

comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............cheddadzaineb
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 

Último (20)

comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 

Automatisation des tests - objectifs et concepts - partie 1

  • 2. @crochefolle Dédicace http://www.dorothygraham.co.uk/ Librement inspiré du travail de Dorothy Graham Spécialiste reconnue dans le domaine du test, elle a contribué à la définition du syllabus ISTQB et notamment sur l’automatisation des tests.
  • 3. @crochefolle Agenda 1. Introduction : ce que l’on va couvrir (et ne pas couvrir) 2. Définition : Qu’est-ce que l’automatisation des tests ? 3. Objectifs : Pourquoi automatiser ? 4. Couverture : – Qu’est-ce qu’on automatise ? – Pre et Post Process – Comment déterminer ce qu’on automatise ? 5. Responsabilité : Qui fait quoi? 6. ROI : Combien ça coute ? 7. Infrastructure de test 8. Processus d’automatisation 9. Conclusion
  • 4. @crochefolle Introduction • Comprendre les objectifs et concepts de l’automatisation des tests • Définir les rôles et responsabilités de chacun • Présenter le ROI de l’automatisation • Présenter les principes techniques d’automatisation • Pas de présentations d’outils • Pas de formation au développement de script de test ce que l’on va couvrir (et ne pas couvrir)
  • 5. @crochefolle Définition : Qu’est-ce qu’un test automatisé? • Conçu par des testeurs pour validé une exigenceUn test ! • automatiquement par un moteur de test • mais qui pourrait être exécuté manuellement Un test exécuté : On industrialise ce qu’on maitrise !!
  • 6. @crochefolle Définition : Qu’est-ce que l’automatisation des tests ? • Un projet avec des objectifs, des responsabilités • Mais aussi une charge de maintenance permanente • Et des sous-projets : • Choisir l’outil de test • Produire/générer des données de tests • … L’automatisation des tests est : • Double compétence dev/test Un métier !
  • 7. @crochefolle Objectifs : Pourquoi automatiser ? • Réduire le nombre de bugs trouvés par le métier / en prod ? • Sécuriser les MEPs ? • Ajouter de nouvelles compétences pour les testeurs ? • Lancer des tests de régression chaque soir ? • Exécuter des tests répétitifs ou avec beaucoup de calcul (et donc risqué si fait manuellement)?
  • 8. @crochefolle Objectifs : • Avoir des résultats rapides sans coûts supplémentaires • Automatiser tous les tests ? • Construire une plateforme de tests automatisés durable et maintenable ? • Ajouter de nouveaux tests facilement ? • S’assurer de la répétabilité des tests de régression ?
  • 9. @crochefolle Objectifs : • Sécuriser les dates de MEPs? • Trouver plus de bugs ? • Trouver des bugs plus rapidement ? • Libérer les testeurs de l’exécution de tests répétitifs (et ennuyant ) ou avec beaucoup de calcul (et donc risqué si fait manuellement)? • Améliorer nos tests ?
  • 10. @crochefolle Objectifs : • Réduire la durée de test de x% ? • Réduire le temps et les coûts de conception des tests ? • Réduire la taille de l’équipe de test ? • Exécuter plus de tests ? • Exécuter les tests de régression plus souvent ? • Maximiser l’utilisation de la CPU de nos PCs (exécution de nuit) ?
  • 11. @crochefolle Objectifs de l’automatisation des tests • Exécuter des tests répétitifs ou avec beaucoup de calcul (et donc risqué si fait manuellement) • Libérer les testeurs de l’exécution de tests répétitifs (et ennuyant ) ou avec beaucoup de calcul (et donc risqué si fait manuellement) • Exécuter plus de tests • Exécuter les tests de régression plus souvent • S’assurer de la répétabilité des tests de régression • Construire une plateforme de tests automatisés durable et maintenable • Ajouter de nouveaux tests facilement
  • 12. @crochefolle Couverture : Qu’est-ce qu’on automatise ? Test automatisé • Sélectionner /identifier les scénarios de test • Préparer l’environnement de test – Créer l’environnement – Créer les données de test – Pour chacun des cas de test • Préparer les prérequis • Exécuter le scénario • Comparer les résultats • Enregistrer les résultats • Analyser les « fails » • Créer les bugs • Revenir à l’état initial • Nettoyer l’environnement de test – Supprimer les données non nécessaires/rebaser l’environnement – Sauvegarder les données importantes • Faire un reporting d’avancement
  • 13. @crochefolle Couverture : Qu’est-ce qu’on automatise ? Automatisation des tests • Sélectionner /identifier les scénarios de test • Préparer l’environnement de test – Créer l’environnement – Créer les données de test – Pour chacun des cas de test • Préparer les prérequis • Exécuter le scénario • Comparer les résultats • Enregistrer les résultats • Revenir à l’état initial • Nettoyer l’environnement de test – Supprimer les données non nécessaires/rebaser l’environnement – Sauvegarder les données importantes • Faire un reporting d’avancement • Faciliter l’analyse • Analyser les « fails » • Créer les bugs
  • 14. @crochefolle Pre et Post Process Qu’est ce que le pre et post process ? Pre-process : automatisation des taches nécessaires à la mise en place et l’exécutions d’un cas de tests Post-process : automatisation des taches nécessaires pour terminer la vérification et « faire le ménage » Ces points sont essentiels car ils englobent de nombreuses taches souvent les mêmes d’un test à un autre et qui peuvent être automatisé : y compris si l’exécution du test est manuel !!!!
  • 15. @crochefolle Préparer des fichiers d’entrées Générer des données Nettoyer ce qui ne devrait pas être présent au démarrage d’un test Copier/extraire des fichiers et les déposer là où l’outil de test les attend … Pre-process : Copier les résultats vers l’outils de comparaison Sauvegarder un état de données Faciliter l’analyse des résultats Supprimer les données/résultats inutiles … Post-process : Exemples Pre et Post Process
  • 16. @crochefolle Pre et Post Process Ces points sont essentiels car ils englobent de nombreuses taches souvent les mêmes d’un test à un autre et qui peuvent être automatisé : y compris si l’exécution du test est manuel !!!! Ne pas automatisé uniquement les tests !!!
  • 17. @crochefolle Couverture : Comment déterminer ce qu’on automatise ?Les critères sont les suivants : 1. la faisabilité technique de l’automatisation, 2. la fréquence d’exécution des tests, 3. le degré de réutilisabilité des composants de test, 4. le nombre total de ressources nécessaires, 5. la complexité des cas de test, 6. la possibilité d’utiliser les mêmes cas de test pour de multiples navigateurs ou environnements 7. le temps nécessaire à l’exécution des tests. ©
  • 18. @crochefolle Responsabilité : Qui fait quoi? Sélectionne les tests à automatiser Automatise les tests Exécute les tests automatisés Analyse les résultats de tests Aide à l’analyse de résultat Maintient et améliore le référentiel de test automatisé Créé les bugs trouvés par l’automate Fournit les moyen pour lancer les tests Fournit l’équipe de test en outils Conçoit les scénarii et cas de test Test le logiciel
  • 19. @crochefolle Responsabilité : Qui fait quoi? • Test le logiciel – Conçoit les scénarii et cas de test – Sélectionne les tests à automatiser • Exécute les tests automatisés • Analyse les résultats de tests – Créé les bugs trouvés par l’automate • Automatise les tests demandés par les testeurs • Aide à l’automatisation des tests – Fournit les moyen aux testeurs pour lancer les tests – Aide à l’analyse de résultat – Fournit l’équipe de test en outils d’aide • Maintient et améliore le référentiel de test automatisé Testeur Automaticien
  • 20. @crochefolle Responsabilité : Qui fait quoi? Est-ce que tous les testeurs doivent devenir automaticiens ?  Non  Car :  On risque d’obtenir un mauvais développeur de test ... et de perdre un bon testeur  Tout ne s’automatise pas, on aura toujours besoin de test manuels complémentaires  Mais :  Tous les testeurs doivent avoir une compétence d’automatisation pour :  Comprendre et exécuter les automates de test  Utiliser les tests automatisés à bon escient  Avoir un point de rencontre avec le monde du dev Mike Cohn Testing Pyramid
  • 21. @crochefolle ROI : Combien ça coute ? • Investissement : – Les coûts peuvent être exprimé en terme en terme d’effort de test (en h, qui peuvent être converti en €) • Retours : – Réduire le temps d’exécution des tests par les testeurs – Mais comment exprimer « la rapidité d’exécution », « exécution plus fréquente », « meilleure couverture », « meilleur TTM » ? On peut se concentrer sur le temps passé par les testeurs et considérer le reste comme des « bonus » On compare donc habituellement au tests manuels ROI : Retour sur investissement = (bénéfice – cout)/cout
  • 22. @crochefolle Hypothèses de travail : exemple du mobile 22 Application Type Automatisation Priorité XXX iPhone X 1 iPad X 2 Android X 3 Windows Phone Webapp X 4 Applications concernées Scénario Durée / scénarios (en jours) Nb Scénarios Simple 0,5 28 Moyen 1,5 22 Complexe 3 11 Nombres de scénarios de tests à automatiser par type d’application Heures d'utilisation Non-reg Front Non-reg Mobile Durée par pays (heure) 3 2 Nombre de pays 8 8 Nombre de device 1 10 Nombre d'exécution moyenne par semaine 2 1 Nombre de semaines 50 50 Nombre total d'heures d'exécution 2400 8000 Estimation heures d’exécution nécessaire Nb scénarios 61 Nb jours automatisation par application 80 Nombre d'applications 4 Nb jours automatisation 320 Estimation budget automatisation
  • 23. @crochefolle ROI : Combien ça coute ? Manual Automated No. manual tests 61 No. automated tests 61 Test Creation Test Model Creation Manual time (hrs) 2 Build time (hrs) 5 No. scenarios 61 Total time 122 Total time 326 Uses of scenario (hrs) 2 Total time 122 Overall model time 448 Prepare automated framework Acquire, install, configure tools 140 Tool training 14 Testability analysis 0 Prepare Detailed test model 40 Total aut prep 194 Test execution Automated execution Manual exec (hrs) 1 Exec 4 mins 0,07 Man exec time 61 Aut exec time 4,27 Test maintenance Aut maint Manual maint 1 Man maint time 61 Total aut maint 5 Cost per test run 1 183 646 0 200 400 600 800 1000 1200 1400 1600 1800 1 2 3 4 5 6 7 8 9 10 11 12 13 Manual hrs Automated hrs
  • 24. @crochefolle Les dangers du ROI • Focus sur ce qui est facilement mesurable • Les autres facteurs peuvent être beaucoup plus important : « la rapidité d’exécution », « exécution plus fréquente », « meilleure couverture », « meilleur TTM » • Définir le ROI par le temps de tests peux donner l’impression que l’outil « remplace » les testeurs – C’est dangereux ! – Les outils remplacent certains aspects de ce que les testeurs font, mais augmentent les coûts par ailleurs – On attend un bénéfice net, même si c’est difficile à quantifier
  • 25. @crochefolle Infrastructure de test • Définition : Les objets organisationnels nécessaires pour effectuer un test, consistant en l’environnement de test, des outils de tests, des procédures et un environnement bureautique • Quels sont les artefacts dont on a besoin pour les tests ? Entrées Résultats de tests Données d’entrées Produits de test Compléments Scripts de tests Résultats obtenus Logs Exigences Status Résultats attendus Différences Environnement Rapports Outils
  • 26. @crochefolle Infrastructure de test • Quels sont les points important à prendre en compte ? – La gestion des artefacts : • Nombres • Versionning • Partage de données, librairies Importance de la gestion de configuration Gestion d’un référentiel de composant – Les capacités d’exécutions : • Machines virtuelles • Test lab ? – Maintenance  L’automatisation des tests est un projet de développement et doit être gérer en tant que tel !!!
  • 27. @crochefolle Infrastructure de test : outils • Quels sont les critères de choix ? Exemple du mobile
  • 28. @crochefolle Infrastructure de test : outils • Quels sont les critères de choix ? Exemple du mobile - 20 40 60 80 100 Installation Pricing & Licensing Support Fonctionalités Metier Fonctionnalités Technique HP Microsoft
  • 29. @crochefolle En résumé : process d’automatisation 29 Automaticien Testeur Mise en place d’un projet d’automatisation Choix d’un outil Mise en place de l’infrastructure de test Développement d’un framework d’automatisation Conception et sélection des tests à automatiser Développement d’un automate pour ces scénarios Exécution de l’automate Analyse des résultats Maintenance de l’automate Mise en place Au quotidien
  • 30. @crochefolle Conclusion • Quoi ? Qu’est-ce qu’on automatise ? • Les tests conçus et sélectionnés par les testeurs • Tout ce qu’on peut et qui est pertinent : construction environnement, générations de JDD, … • Qui ? • Le testeur conçoit, sélectionne, exécute et analyse les résultats • L’automaticien développe les tests, met à disposition l’infra de test et aide à l’analyse • Où ? • Sur une infrastructure de test • Quand ? • Quand c’est pertinent : fréquent, réutilisable, critique, complexe, … • Combien ? • Un ROI moyen autour de la 6ième itération • Comment ? • C’est l’objet de la prochaine session • Pourquoi ?
  • 31. @crochefolle Objectifs de l’automatisation des tests • Exécuter des tests répétitifs ou avec beaucoup de calcul (et donc risqués si fait manuellement) • Libérer les testeurs de l’exécution de tests répétitifs (et ennuyant ) ou avec beaucoup de calcul (et donc risqué si fait manuellement) • Exécuter plus de tests • Exécuter les tests de régression plus souvent • S’assurer de la répétabilité des tests de régression • Construire une plateforme de tests automatisés durable et maintenable • Ajouter de nouveaux tests facilement
  • 32. @crochefolle Agenda de la prochaine partie Comment automatiser les tests ? 1. Les différents types de tests automatisés : TU, BDD/TDD, NRA, TDC, Test de vie … 2. Méthodes d’automatisation 1. Capture/replay 2. Projet de développement 3. Techniques d’automatisation 1. Data driven 2. Keyword driven 3. DSTL 4. Oracle / bouchon 5. Techniques de comparaison 6. Reporting