accélérer les tests d’acceptation avec un dsl et du refactoring
DESCRIPTION
Le pilotage des développements par les tests d’acceptation reste un problème difficile à maîtriser dans les projets agiles. D’une part, il est compliqué d’impliquer les analystes métier dans la réalisation de scripts de tests automatisés, et d’autre part les tests de hauts niveaux qu’ils peuvent produire sont souvent difficiles à maintenir et automatiser. L’approche proposée, supportée par une plate-forme appelée Zest, associe la définition des scénarios de tests d’acceptation sur la base d’un DSL (Domain-Specific Language) construit incrémentalement avec des mots d’action, et des fonctions de refactoring qui permettent en permanence d’optimiser les scénarios pour en faciliter l’automatisation et leur maintenance.TRANSCRIPT
![Page 1: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/1.jpg)
![Page 2: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/2.jpg)
Laurent PY
Accélérer les tests d’acceptation en projet agile avec un DSL et du Refactoring
![Page 3: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/3.jpg)
MERCI À NOS SPONSORS
![Page 4: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/4.jpg)
Accélérer les tests d’acceptationen projet agile avec un DSL et du Refactoring
Introduction
Développement piloté par les tests
d’acceptation
DSL et refactoring pour les tests
d’acceptation
Retour d’expérience Availpro
![Page 5: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/5.jpg)
Introduction
![Page 6: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/6.jpg)
Jadis, le développement chez Smartesting…
Cycle en V Pas de TDD Release = 1/6mois
Phase de test = 5 mois Qualité faible
![Page 7: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/7.jpg)
Puis, introduction des méthodes agiles…
XP puis Scrum TDD, Pair programmingIntégration continue
Release = 1/3mois Phase de test = 1 mois Qualité améliorée
![Page 8: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/8.jpg)
Et depuis 2012, DevOps !
Srum TDD + ATDD 100% + Test exploratoire
Déploiement continue
Plusieurs déploiements en prod/jour
ATDD + TDD = Projets livrés 31% plus vite avec 4 fois moins de défauts
![Page 9: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/9.jpg)
Définition de critères d’acceptation ATTD/BDD
Notre retour d’expérience
Définition du besoin
Gestion des
anomalies
Automatisation massive
Execution
Test Planning
Itérer rapidement nécessite du refactoring de tests
![Page 10: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/10.jpg)
Le développement piloté
par les tests d’acceptation
![Page 11: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/11.jpg)
Scrum et le test d’acceptation
Test d’acceptation
+
![Page 12: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/12.jpg)
•Un outil de communication basé sur un DSL
•La définition du ‘STOP’
•Ecrit par le Tester avant le développement& validé par l’équipe projet
•Très souvent automatisé
Acceptance Testing Driven Development (ATDD)
Code
Test fixture
Test language naturelLe test c’est :
![Page 13: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/13.jpg)
Acceptance Testing Driven Development (ATDD)
BénéficesCollaboration & Communication
Compréhension partagée
Couverture besoins métiers
Feed-back rapide
…
ChallengesNouvelle méthode = rigueur et discipline
Equilibre personne/processus/outils
![Page 14: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/14.jpg)
Tests d’acceptation = continuellement revus et refactorés, comme le code!
ATDD & Refactoring
Martin Fowler
![Page 15: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/15.jpg)
Utilisation d’un DSL et du refactoring
pour les tests d’acceptation
![Page 16: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/16.jpg)
Test d’acceptation en continu
![Page 17: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/17.jpg)
Fonctionnalités clés :
Conception : Définition progressive d’un DSL
Maintenance : Refactoring & optimisation
Scripts pour l’automatisation
Intégrations actuelles avec :
Zest: test agile dans le Cloud!
Agile Management Framework d’automatisationAgile Testing
![Page 18: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/18.jpg)
Collaboration autour du test
Zest: test agile dans le Cloud!
TesteurDéfinit les tests d’acceptation
Product OwnerValide les tests d’acceptation
DéveloppeurAutomatise les tests d’acceptation
![Page 20: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/20.jpg)
…ou construire les entités métiers à partir des tests
Définition progressive du dictionnaire métier (Action Word). Collaboration autour des tests entre : métier, test et dév.
![Page 21: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/21.jpg)
Réutiliser, réutiliser, réutiliser !
Permet de construire et maintenir des scénarios de tests consistants pour tout le projet
Propositions
![Page 22: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/22.jpg)
La preuve en image !
![Page 23: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/23.jpg)
Ajouter, supprimer, modifier des mots d’action
Le refactoring permet de gérer automatiquement les impacts liés aux évolutions permanentes.
Ajout d’un paramètre au mot d’action
Propagation automatiqueaux scénarios l’utilisant
![Page 24: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/24.jpg)
Le diable DUPLICATION
![Page 25: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/25.jpg)
Un principe fondamentale du développement/test
![Page 26: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/26.jpg)
Analyser et optimiser le plan de tests en continu
Réduction de l’effort de maintenance
![Page 27: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/27.jpg)
Générer les Scripts
L’utilisation de mots d’action réduit significativement le coût de l’automatisation et accélère le cycle de test
![Page 28: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/28.jpg)
La preuve en image !
![Page 29: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/29.jpg)
Conclusion
Tests d’acceptation maintenables
Fonctions de refactoring & optimisation
pour gérer les impacts liée aux évolutions Tests d’acceptation
automatisablesLa structuration et le design des scénarios facilitent la création de scripts de tests
Tests d’acceptation lisiblesLa définition d’un DSL métier facilite
l’alignement de l’équipe autour des tests
![Page 31: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/31.jpg)
Solution et technologies
v4.5v4.0
Expérience Availpro
![Page 32: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/32.jpg)
1 déploiement en production toutes les 2 semaines
3 campagnes de test lancées par jour
En moyenne, 3 nouveaux cas de tests créés par jour
1200 tests gérés avec Zest
Aujourd’hui, plus de 80% des cas de tests sont sous Zest
Quelques chiffresExpérience Availpro
![Page 34: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/34.jpg)
Conclusion
Les tests d’acceptation doivent être continuellement
revus et refactorés tout comme le code!
![Page 35: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/35.jpg)
Questions / Réponses
![Page 36: Accélérer les tests d’acceptation avec un DSL et du refactoring](https://reader038.vdocuments.net/reader038/viewer/2022103017/55838b98d8b42a8e0c8b4d89/html5/thumbnails/36.jpg)
Laurent PY
CEO, Smartesting
@py_laurent
www.smartesting.com