Laurent PY
Accélérer les tests d’acceptation
en projet agile avec un DSL
et du Refactoring
MERCI À NOS SPONSORS
Accélérer les tests d’acceptation
en projet agile avec un DSL et du Refactoring
 Introduction
 Développement piloté par ...
Introduction
Jadis, le développement chez Smartesting…
 Cycle en V
 Pas de TDD
 Release = 1/6mois
 Phase de test = 5 mois
 Qualité...
Puis, introduction des méthodes agiles…
 XP puis Scrum
 TDD, Pair programming
Intégration continue
 Release = 1/3mois
...
Et depuis 2012, DevOps !
 Srum
 TDD + ATDD 100% + Test exploratoire
 Déploiement continue
 Plusieurs déploiements en p...
Définition de critères
d’acceptation ATTD/BDD
Notre retour d’expérience
Définition
du besoin
Gestion
des
anomalies
Automat...
Le développement piloté
par les tests d’acceptation
Scrum et le test d’acceptation
Test
d’acceptation
+
• Un outil de communication basé sur un DSL
• La définition du ‘STOP’
• Ecrit par le Tester avant le développement
& valid...
Acceptance Testing Driven Development (ATDD)
 Bénéfices
Collaboration & Communication
Compréhension partagée
Couverture b...
 Tests d’acceptation = continuellement revus et refactorés, comme le code!
ATDD & Refactoring
Martin Fowler
Utilisation d’un DSL et du refactoring
pour les tests d’acceptation
Test d’acceptation en continu
 Fonctionnalités clés :
Conception : Définition progressive d’un DSL
Maintenance : Refactoring & optimisation
Scripts pou...
 Collaboration autour du test
Zest: test agile dans le Cloud!
Testeur
Définit les tests
d’acceptation
Product Owner
Valid...
Construire de nouvelles entités métiers…
…ou construire les entités métiers à partir des tests
Définition progressive du dictionnaire métier (Action Word).
Collabo...
Réutiliser, réutiliser, réutiliser !
Permet de construire et maintenir des scénarios de tests
consistants pour tout le pro...
La preuve en
image !
Ajouter, supprimer, modifier des mots d’action
Le refactoring permet de gérer automatiquement les
impacts liés aux évoluti...
Le diable DUPLICATION
Un principe fondamentale du développement/test
Analyser et optimiser le plan de tests en continu
Réduction de l’effort de maintenance
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 cyc...
La preuve en
image !
Conclusion
Tests d’acceptation maintenables
Fonctions de refactoring & optimisation
pour gérer les impacts liée aux évolut...
Retour d’expérience
projet Availpro
Solution et technologies
v4.5
v4.0
Expérience Availpro
 1 déploiement en production toutes les 2 semaines
 3 campagnes de test lancées par jour
 En moyenne, 3 nouveaux cas de...
Bénéfices du déploiement de Zest
Expérience Availpro
Conclusion
Les tests d’acceptation doivent
être continuellement revus et
refactorés tout comme le code!
Questions / Réponses
Laurent PY
CEO, Smartesting
Laurent.py@smartesting.com
@py_laurent
www.smartesting.com
Accélérer les tests d’acceptation avec un DSL et du refactoring
Prochain SlideShare
Chargement dans…5
×

Accélérer les tests d’acceptation avec un DSL et du refactoring

1 257 vues

Publié le

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.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 257
Sur SlideShare
0
Issues des intégrations
0
Intégrations
314
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Accélérer les tests d’acceptation avec un DSL et du refactoring

  1. 1. Laurent PY Accélérer les tests d’acceptation en projet agile avec un DSL et du Refactoring
  2. 2. MERCI À NOS SPONSORS
  3. 3. Accélérer les tests d’acceptation en 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
  4. 4. Introduction
  5. 5. Jadis, le développement chez Smartesting…  Cycle en V  Pas de TDD  Release = 1/6mois  Phase de test = 5 mois  Qualité faible
  6. 6. Puis, introduction des méthodes agiles…  XP puis Scrum  TDD, Pair programming Intégration continue  Release = 1/3mois  Phase de test = 1 mois  Qualité améliorée
  7. 7. 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
  8. 8. 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
  9. 9. Le développement piloté par les tests d’acceptation
  10. 10. Scrum et le test d’acceptation Test d’acceptation +
  11. 11. • 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 naturel Le test c’est :
  12. 12. Acceptance Testing Driven Development (ATDD)  Bénéfices Collaboration & Communication Compréhension partagée Couverture besoins métiers Feed-back rapide …  Challenges Nouvelle méthode = rigueur et discipline Equilibre personne/processus/outils
  13. 13.  Tests d’acceptation = continuellement revus et refactorés, comme le code! ATDD & Refactoring Martin Fowler
  14. 14. Utilisation d’un DSL et du refactoring pour les tests d’acceptation
  15. 15. Test d’acceptation en continu
  16. 16.  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
  17. 17.  Collaboration autour du test Zest: test agile dans le Cloud! Testeur Définit les tests d’acceptation Product Owner Valide les tests d’acceptation Développeur Automatise les tests d’acceptation
  18. 18. Construire de nouvelles entités métiers…
  19. 19. …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.
  20. 20. Réutiliser, réutiliser, réutiliser ! Permet de construire et maintenir des scénarios de tests consistants pour tout le projet Propositions
  21. 21. La preuve en image !
  22. 22. 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 automatique aux scénarios l’utilisant
  23. 23. Le diable DUPLICATION
  24. 24. Un principe fondamentale du développement/test
  25. 25. Analyser et optimiser le plan de tests en continu Réduction de l’effort de maintenance
  26. 26. 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
  27. 27. La preuve en image !
  28. 28. Conclusion Tests d’acceptation maintenables Fonctions de refactoring & optimisation pour gérer les impacts liée aux évolutions Tests d’acceptation automatisables La structuration et le design des scénarios facilitent la création de scripts de tests Tests d’acceptation lisibles La définition d’un DSL métier facilite l’alignement de l’équipe autour des tests
  29. 29. Retour d’expérience projet Availpro
  30. 30. Solution et technologies v4.5 v4.0 Expérience Availpro
  31. 31.  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 chiffres Expérience Availpro
  32. 32. Bénéfices du déploiement de Zest Expérience Availpro
  33. 33. Conclusion Les tests d’acceptation doivent être continuellement revus et refactorés tout comme le code!
  34. 34. Questions / Réponses
  35. 35. Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com

×