Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare une entreprise Scribd logo
Accélérer les tests d’acceptation avec un DSL et du refactoring
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 les tests d’acceptation
 DSL et refactoring pour les tests d’acceptation
 Retour d’expérience Availpro
Introduction
Jadis, le développement chez Smartesting…
 Cycle en V
 Pas de TDD
 Release = 1/6mois
 Phase de test = 5 mois
 Qualité faible
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
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
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
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é par l’équipe projet
• Très souvent automatisé
Acceptance Testing Driven Development (ATDD)
Code
Test fixture
Test language naturel
Le test c’est :
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
 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 pour l’automatisation
 Intégrations actuelles avec :
Zest: test agile dans le Cloud!
Agile Management Framework d’automatisationAgile Testing
 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
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).
Collaboration autour des tests entre : métier, test et dév.
Réutiliser, réutiliser, réutiliser !
Permet de construire et maintenir des scénarios de tests
consistants pour tout le projet
Propositions
La preuve en
image !
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
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 cycle de test
La preuve en
image !
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
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 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
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

Contenu connexe

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