BDD Behavior driven development Lunch & Learn 24/03/2016 Charlotte Cavalier, Christophe Pont 1
BDD Behavior driven development
Lunch & Learn
24/03/2016
Charlotte Cavalier, Christophe Pont
1
Qu’est-ce que le BDD ?
Workflow
Outils
Cucumber
2
Qu’est-ce que BDD ? ”Plus” que du TDD
3
Workflow de developpement “classique”
Le BO donne ses
besoins au BA Le BA écrit le
recueil des
exigences
Le développeur
traduit les exigences
en logiciel
Le testeur traduit les
exigences en scénarii
Le logiciel est
traduit en
documentation
fonctionnelle et
technique 4
Workflow de developpement “classique”
Le BO donne ses
besoins au BA Le BA écrit le
recueil des
exigences
Le développeur
traduit les exigences
en logiciel
Le testeur traduit les
exigences en scénarii
Le logiciel est
traduit en
documentation
fonctionnelle et
technique 5
Workflow de développement en BDD
Le BO et le BA ont
une conversation à
propos de ce dont il
a besoin
Le BA, le développeur et le
testeur élaborent les
exigences ensemble
Ils définissent les
exigences en
scénarios structurés
en langage humain
Les scénarios
guident le
développeur et
servent de tests
automatisés
Le testeur utilise ces
scénarios comme base
pour ses tests
Les tests automatisés fournissent un retour sur
l’avancement et aident à la documentation de l’application 6
Workflow Les spécifications sont écrites collaborativement
Les spécifications utilisent un langage commun
Les spécifications exécutables fournissent un feedback rapide
7
Workflow BDD Application passagers réguliers Objectif : Encourager les voyageurs à voler avec Cap Airlines plus souvent en leur permettant d’accumuler des Points de Passagers Réguliers qu’ils peuvent dépenser dans des vols moins chers.
Objectifs /
Business
goal
Gagner des points des vols effectués
Dépenser des points en réservant
Capacités /
Capabilities
Voir le solde des points actuel
Voir les points nécessaires pour accéder à la classe supérieure
Calculer les points nécessaires pour une destination donnée
Fonctionnalités
Consulter les points gagnés
Gagner des points en dépensant chez des partenaires
8
Workflow BDD Calculer les points nécessaires pour une destination donnée En tant que voyageur Je veux savoir de combien de points j’ai besoin pour aller à une destination donnée Afin de prévoir mon prochain voyage avec Cap Airlines
Fonctionnalité
Critère d’acceptation - 2 points par kilomètre - Les membres peuvent calculer les points nécessaires sur leur page d’accueil
Critère
d’acceptation
Critère
d’acceptation
automatisé
9
Workflow BDD
Critère
d’acceptation
automatisé
Test
d’acceptation
automatisé
10
Workflow BDD
Test
d’acceptation
automatisé
Code
applicatif
11
Et ensuite ?
Serenity
12
Et ensuite ?
13
Et ensuite ?
14
Outils JBehave
Spock
Serenity/Thucydides
Cucumber
15
Cucumber Après le 3 Amigos
1 fichier de features pour décrire les User Stories
Génération de Guidelines de rédaction des tests
Reporting + Living documentation
Intégration Maven
16
Merci de votre
attention
17
Références Blog technique (sujet BDD)
http://blog.soat.fr/2011/06/introduction-au-behavior-driven-development/
BDD in action (Devoxx)
https://www.youtube.com/watch?v=igk3H2DWz7k
Projet Serenity/Cucumber
https://github.com/serenity-bdd/serenity-articles/tree/master/introduction-to-serenity-with-cucumber/src/samples/etsy-tester
18