innovations techniques au service du test de recette automatisé
DESCRIPTION
Présentation faite à l'USI 2009 sur l'état de l'art pour les tests de recette automatisés dans le monde Java.TRANSCRIPT
![Page 1: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/1.jpg)
Innovations techniques au service du test de recette
automatisé
Rémy SanlavilleExpert Senior en Ingénierie Logicielle Orange [email protected]
Emmanuel HugonnetArchitecture [email protected]
Hervé LourdinArchitecte Sénior / Coach agileOCTO [email protected]
![Page 2: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/2.jpg)
Contrat de la session
• Cette session a pour objectif : – Faire l’état des lieux en terme de technologies pour les tests de
recettes automatisés depuis ces 4 dernières années
• Cette session s’adresse à :– Tous: développeurs, testeurs, maîtrise d'ouvrage: Geek et Boss
– A des personnes qui savent ce que sont les tests fonct. auto.
• A la sortie de cette session vous aurez : – Découverts de nouveaux outils
– Identifié les limites des outils actuels
– Pris connaissance des nouveaux axes d’innovation autour des tests fonctionnels automatisés
© OCTO Technology - Université du Système d’Information 2
![Page 3: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/3.jpg)
Agenda
• Un bref rappel de la situation…• Innovations autour des tests de recette automatisés• Synthèse• Conclusion
© OCTO Technology - Université du Système d’Information 3
![Page 4: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/4.jpg)
Un bref rappel de la situation…
© OCTO Technology - Université du Système d’Information 4
![Page 5: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/5.jpg)
Les Tests
Fonctionnel
Technique
ProduitEquipe
![Page 6: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/6.jpg)
Les Tests
Fonctionnel
Technique
ProduitEquipe
![Page 7: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/7.jpg)
Les tests fonctionnels pour…
Tests fonctionnels automatisés
![Page 8: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/8.jpg)
Acceptance Test Driven Development
© OCTO Technology - Université du Système d’Information 8ATDD cycle model by Jim Shore with changes suggested by GrigoriMelnick, Brian Marick, and Elisabeth Hendrickson
![Page 9: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/9.jpg)
Innovations autour des tests de recette automatisés
© OCTO Technology - Université du Système d’Information 9
![Page 10: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/10.jpg)
Axes d’analyse
© OCTO Technology - Université du Système d’Information 10
![Page 11: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/11.jpg)
Expressivité des tests
© OCTO Technology - Université du Système d’Information 11
![Page 12: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/12.jpg)
Dites-le avec un tableau !
© OCTO Technology - Université du Système d’Information 12
Utilisateur Mot de passe Message
jdoe elephant Echec !
dgray wilde1890 Echec !
dcooper d1ane4ever! Succès !
. . . . . . . . .
![Page 13: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/13.jpg)
Par exemple…
© OCTO Technology - Université du Système d’Information 13
![Page 14: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/14.jpg)
Dites-le avec un tableau
• Historiquement le format proposé par les outils les plus avancé à ce jour
• Le format tabulaire est simple et autoportant• Il permet de formaliser la majorité des cas de tests• C’est un format idéal pour tester des fonctions dites
« sans état »
• Langages supportés : Java / Ruby / C# / Python / SmallTalk
© OCTO Technology - Université du Système d’Information 14
![Page 15: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/15.jpg)
Raconter une histoire avec un tableau
© OCTO Technology - Université du Système d’Information 15
![Page 16: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/16.jpg)
Behaviour Driven Development
• Nouvelle forme expressive des tests– Définir l’intention d’une fonctionnalité par l’exemple
© OCTO Technology - Université du Système d’Information 16
Etant donnée … [ un contexte ]
Quand … [ un événement ]
Alors… [ un état attendu ]
Etant donnée … [ un contexte ]
Quand … [ un événement ]
Alors… [ un état attendu ]
Etant donné un nouvel Utilisateur BartLorsqu'il crée un compte avec un mot de passe p@ssw0rdAlors le message 'SUCCESS' apparait
Et lorsqu'il s'authentifie avec Bart / p@ssw0rdAlors le message 'Hello Bart' apparait
Etant donné un nouvel Utilisateur BartLorsqu'il crée un compte avec un mot de passe p@ssw0rdAlors le message 'SUCCESS' apparait
Et lorsqu'il s'authentifie avec Bart / p@ssw0rdAlors le message 'Hello Bart' apparait
![Page 17: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/17.jpg)
BDD – A new Generation
• Tests d'Acceptance• Prise en compte du reste
de l'équipe• Extraction des scénarios
• Evolution syntaxique de TDD
• Orienté développeur• Tout est dans le code
![Page 18: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/18.jpg)
Cucumber
![Page 19: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/19.jpg)
Cucumber
![Page 20: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/20.jpg)
Behaviour Driven Development
• Constats : – Bon formalisme pour définir des enchaînements d’évènements
(workflow)– Formalisme amenant naturellement fonctionnels & développeurs
à spécifier ensemble par l’exemple– Peine à trouver son public
• Format encore très orienté développeurs
• Cependant l’outillage tend à se rapprocher du monde des profils fonctionnels
© OCTO Technology - Université du Système d’Information 20
![Page 21: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/21.jpg)
Maintenabilité
© OCTO Technology - Université du Système d’Information 21
![Page 22: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/22.jpg)
Twist: fusion IDE et tests
• Le système de saisie des tests et l’environnement de développement du code de tests sont distincts– Le refactoring (ex : changement du nom du test) est douloureux– Aide à la réutilisation
© OCTO Technology - Université du Système d’Information 22
![Page 23: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/23.jpg)
Organisation
• Organiser les tests
© OCTO Technology - Université du Système d’Information 23
![Page 24: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/24.jpg)
Usabilité
© OCTO Technology - Université du Système d’Information 24
![Page 25: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/25.jpg)
Usabilité
• Les premiers outils (Fit / Fitnesse) sont difficiles d’accès pour les acteurs ciblés (fonctionnels / testeurs)
– Wiki sans éditeurs WYSIWYG– Contraint à apprendre le
langage wiki– Ne permet pas facilement de
documenter les tableaux de tests
© OCTO Technology - Université du Système d’Information 25
![Page 26: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/26.jpg)
Usabilité
• Toujours un wiki, mais déjà plus accessible :
© OCTO Technology - Université du Système d’Information 26
![Page 27: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/27.jpg)
Twist , vers une meilleure usabilité
• Les plus : – Un IDE dédié à l’écriture des
tests– Des facilités pour les
refactoring de tests
• Les moins : – Approche encore trop
centrée sur l’IHM• Selenium (Webapps)
• Franckenstein (Swing)
© OCTO Technology - Université du Système d’Information 27
![Page 28: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/28.jpg)
Documentation des tests
© OCTO Technology - Université du Système d’Information 28
![Page 29: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/29.jpg)
Documentation des tests
• L’ATDD prend le parti de spécifier par les tests mais peu d’outils permettent de les documenter
© OCTO Technology - Université du Système d’Information 29
Exemple de GreenPepper
![Page 30: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/30.jpg)
Documentation des tests
• Exemple de Concordion :– Format HTML
– Nécessite de travailler avec un éditeur HTML
– Toujours pas convenable pour un acteur fonctionnel
© OCTO Technology - Université du Système d’Information 30
![Page 31: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/31.jpg)
Intégration
© OCTO Technology - Université du Système d’Information 31
![Page 32: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/32.jpg)
Intégration à l’IDE
© OCTO Technology - Université du Système d’Information 32
![Page 33: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/33.jpg)
Au travers de JUnit
![Page 34: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/34.jpg)
Intégration à la Gestion de Configuration
© OCTO Technology - Université du Système d’Information 34
ProductionSprint N-1
DéveloppementSprint N
Quels Tests pour quel code ?
MétierSprint N + 1
![Page 35: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/35.jpg)
Intégration aux forges logicielle
• Intégration dans l'outil de Build pour pouvoir exécuter les tests d'acceptance sur le poste du développeur et le serveur d'intégration continue
© OCTO Technology - Université du Système d’Information 35
![Page 36: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/36.jpg)
Rapports
© OCTO Technology - Université du Système d’Information 36
![Page 37: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/37.jpg)
Rapports
• C’est aujourd’hui une des carences majeures des outils de tests fonctionnels automatisés
• Les rapports sont quasi inexistants et demandent aux projets de les implémenter eux même en fonction des métriques qu’ils souhaitent mettre en place
• Les équipes ont besoin de rapports pour suivre leur évolution au fil du projet – couverture des exigences,
– Suivi des régressions
– …
© OCTO Technology - Université du Système d’Information 37
![Page 38: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/38.jpg)
Rapports : Historisation des tests
© OCTO Technology - Université du Système d’Information 38
• L’historisation des tests joués et de leurs résultats est le seul réel rapport disponible à ce jour dans Fitnesse…
![Page 39: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/39.jpg)
Synthèse
© OCTO Technology - Université du Système d’Information 39
![Page 40: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/40.jpg)
Synthèse
© OCTO Technology - Université du Système d’Information 40
![Page 41: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/41.jpg)
Conclusion
• On distingue deux grandes familles de tests fonctionnels qui adressent respectivement :– Les fonctionnalités sans état facilement testable par des grilles de
tests– Les fonctionnalités intégrant un workflow d’actions
• L’approche BDD se prête bien à ce type de tests
• Le nombre d’outils augmente de plus en plus
• Cependant aucun ne regroupe l’ensemble des fonctionnalités nécessaires– Fitnesse / Slim semble à ce jour le produit qui vit le plus et voit son
nombre de fonctionnalités grossir plusieurs fois par semestre !
© OCTO Technology - Université du Système d’Information 41
![Page 42: Innovations Techniques Au Service Du Test De Recette Automatisé](https://reader033.vdocuments.net/reader033/viewer/2022052820/5496b4e1b4795943078b459e/html5/thumbnails/42.jpg)
Questions / Réponses
© OCTO Technology - Université du Système d’Information 42