9. BDD vs TDD
BDD parle un langage du métier, écrit en texte
TDD parle un langage technique, écrit en code
Complémentaires et non en conflit !
10. BDD vs ATDD
ATDD est un paradigme générique d’
automatisation des tests d’acceptation
BDD permet d’automatiser les tests, en mettant
l’accent sur la communication
12. BDD : origine(s)
Automatiser les tests
d’acceptation
Tester c’est
décrire le
comportement
Un langage
universel c’est la
clef
Toute exigence
deviendra un
comportement
Dan North
13. BDD : pourquoi ? quels bénéfices ?
Couverture des tests fonctionnels
Non régression
Acceptation du produit
Etude d’impact
Validation du but de l’itération
Démo réussie
Critère DONE
Visibilité sur l’avancement
14. BDD : quoi ?
Point de vue des utilisateurs finaux
O:
EM MAN
D
S
AFT N
CR PLA
15. BDD : quoi ?
Boîte noire
Aux frontières
du système
On ne décrit pas
le comment
16. BDD : quoi ?
Décrire le comportement
et non pas le fonctionnement
17. BDD : quoi ?
Langage commun
Ubiquitous language
de DDD
18. BDD : clés de la réussite
Intégration
continue
Point de vue
de l’utilisateur
Collaboration
Découpage
priorisation
cycle itératif et
incrémental
Test First !
20. Exemple avec Gherkin
Given the distance max is 50 km per day
And I meet M John on “20/11/13” 10 km away
And I meet Ms Shelp on “20/11/13” 12 km away
When I try to meet M Bob on “20/11/13” 8 km away
Then I still have only 2 appointements on “20/11/13”
Structure de test → 1 méthode par step
26. Maintenance BDD
Versionning des spécifications
Refactoring des spécifications
Poser les bonnes questions
Etude d’impact
Expérimentation d’alternatives
?
27. BDD sur du legacy
Legacy = non testé (automatiquement !)
On ajoute du BDD sur une application existante
→ Non intrusif
Une nouvelle partie fonctionnelle : ok (serein)
Une adaptation : impact ? effets de bords ?
Une refonte : couverture en tests fonctionnels ?
28. Retours terrain
Pas à pas : User Story, scénario d’acceptation
Test First : discipline, paradigme
Test ? scénario, méthode, exécution, step
Gherkin : pas pour le métier, dur pour l’analyste
Structuration d’un scénario en français : ok
Ne remplace pas : tests “après”, recette intégrée