SlideShare une entreprise Scribd logo
1
Développement d’un projet
billettique piloté par les
tests métiers (BDD)
2
3
Laurent Py
@py_laurent
laurent.py@hiptest.net
http://hiptest.net
Raphaël Citeau
rciteau@parkeon.com
http://www.parkeon.com
Plan
• Contexte projet
• Pourquoi avoir choisi l’approche BDD
• Le déploiement du BDD étape par étape
• Les pratiques clés
• Conclusion
4
Contexte projet
Le projet : Helsinki
• donneur d’ordre finlandais (HSL), Intégrateur système
Tieto (fournisseurs rang 1), plusieurs partenaires dont
Parkeon
• un planning sur 3 ans
• un projet d’intégration multi-culturel
• 4000 équipements connectés
• 360 millions de passagers par an
• une migration de système existant
5
Contexte projet
Les phases de projet:
• Analyse fonctionnelle (1 an)
• Architecture (6 mois en parallèle)
• Cycles de développement et release (de 3
mois à 2 semaines en mode BDD)
6
Contexte projet
Le système :
7
Validation - Contrôle
(Android)
Vente - Distribution
(Web service)
Paramétrage et supervision
(back office node JS)
Contexte projet
Organisation Parkeon:
Management
1 Directeur de Projet
5 Chefs de Projet
1 x Design Authority
2 Architectes
4 Product Owners
4 x Équipe de Développement :
1 Team Leader / Kanban Master
1 Testeur
5-6 Développeurs
2 x Équipe de test
5-6 Testeurs
8
Au fait c’est quoi BDD?
9
Behavior Driven Development en un
clin d’oeil
• Créer une compréhension partagée du
système avec des exemples
• Basé sur un langage métier commun
• Définition du stop
• Lorsque que les tests/exemples sont
automatisés, ils deviennent la spec vivante.
10
Story vue par le métier
11
Métier
Ce que je veux
Story vue par le développeur
12
MétierDéveloppeur
Ce que j’ai compris et développe
Story vue par le testeur
13
MétierDéveloppeurTesteur
Ce que j’ai compris et teste
Ce que l’on va réellement faire
14
MétierDéveloppeurTesteur
Un contrat basé sur des exemples
Une fois les exemples/tests exécutés
15
Spécification vivante
Pourquoi avoir choisi l’approche
BDD?
16
Enjeux de Management de projet
• Définir une méthode applicable à tous les
archétypes d’équipes
• Favoriser un découpage fonctionnel basé sur
la valeur et projetable sur un planning
• Maximiser l’automatisation des tests
17
Enjeux de Maintenance
• Assurer une qualité de service continue avec
une équipe (très) réduite
• Faciliter la transmission des connaissances
• Fournir un framework pour développer des
nouvelles fonctionnalités
18
Le déploiement du BDD étape par
étape
19
Test des sous systèmes de façon
autonome
20
Artefacts :
mockups
simulateurs
sondes
Difficultés:
uniformiser le dictionnaire de donnée (vocabulaire)
limiter le nombre de steps
limiter le nombre d’implémentations pour 1 step
ne pas perdre le fil avec l’exigence initiale (traçabilité et
sémantique)
• La Design Authority définit les comportements en relation avec le client
• Les PO et Développeurs les formalisent en BDD et développent ces comportements
• Les équipes de Testeurs implémentent les étapes de test et enrichissent la librairie
de l’automate
• Une fois implémentés, les tests sont planifiés dans l’intégration continue
Test d’intégration et de bout
en bout
21
• Les Développeurs réutilisent les étapes de test définies précédemment pour chaque
module afin de les intégrer 2 à 2 (avant livraison interne)
• Les équipes de test font de même, sur l’ensemble du système, pour réaliser une
intégration bout en bout (après livraison interne)
• Ces tests sont planifiés dans une intégration continue transverse
Artefacts :
simulateurs
sondes
robots
Difficultés:
limiter la dépendance avec un état initial du système
prendre en compte la volumétrie du système en production
Validation du système
22
• Les équipes de test et la DA définissent des scénarios qui vont mettre en jeu des
cycles de vie “métiers” (je suis administrateur, je suis conducteur, ...)
• Ces tests sont exécutés pour la plupart manuellement (mais rapidement)
• Les tests “voyageurs”, les plus critiques, sont néanmoins tous automatisés
• Cette base de tests sert aussi aux démo réalisées avec le client
Artefacts :
sondes
robots
Difficultés:
prouver la couverture des exigences
limiter la dépendance avec un état initial du système
interactions «physiques» avec le système
Synthèse
23
Toutes les équipes ont participé à la réalisation d’un objectif commun :
construire une bibliothèque et un automate de tests leur permettant
de valider l’ensemble du système
Le BDD a donné un cadre au contrat qui les liait
La démarche a été perçue avec enthousiasme par les équipes, sans
contrainte. Elle a l’avantage de mettre en avant la valeur humaine
et de favoriser les échanges.
Les pratiques clés
24
Langage commun spécifique au métier
Testeur
我希望我可
以混合颜色
function(c1, c2) {
if (c1==c2) { return c1;
}
else { … }
};
Expert métier Développeur
Given the color red
and the color green
when you mix the colors
then you obtain yellow
25
Syntaxe Gherkin
Given : Étant donné un état
When : Lorsqu’une action est effectuée
Then : Une conséquence est constatée
26
Exemple d’un comportement
27
Être consistant dans la terminologie
28
Autocomplete
Refactoring continu des tests
29
Détection des duplications pour créer un seul
point de maintenance
Refactoring continu des tests
30
Propagation automatique des modifications
sur le langage métier
Processus outillé
31
1- Détailler les stories
2 - Raffiner les cas de
tests
3 - Implémenter les
stories et tests
4 - Orchestrer les builds et
tests runs
5 - Exécuter les tests
Résultats
Automatisation et check (BDD)
32
1635 tests fonctionnels unitaires
990 tests d’intégration sous systèmes
475 tests d’intégration système
200 tests de validation métiers
Langage métier: 1690 steps
Conlusion
33
Investissement en test
34
Répartition des coûts de développement
Respect du calendrier
35
Cohésion du planning:
• Par rapport aux engagements pris, le plus gros
décalage de livraison a été d’une semaine
• Aucun déscopage fonctionnel n’a été réalisé pour
tenir le planning
• Environ 10% de fonctions (sur 800) ont pu être
modifiées/ajoutées en parallèle du développement
initial.
Répartition des défauts par phase
36
Gain sur la qualité du système délivré
Répartition des défauts par domaine
37
Facilité d’intégration du BDD et défauts Clients
● Équipements
○ Intégration compliquée
○ Fonctionne en mode produit pour
plusieurs projets.
○ Pas de testeur dans l’équipe
● Back Office
○ Adhésion forte
○ Mais 3 équipes différentes
○ et «out sourcées»
● Serveur de Vente
○ Adhésion très forte
○ 1 équipe locale
Questions ?
38
39
Laurent Py
@py_laurent
laurent.py@hiptest.net
http://hiptest.net
Raphaël Citeau
rciteau@parkeon.com
http://www.parkeon.com

Contenu connexe

PPTX
Equipes Agiles & DevOps : Testez la valeur d’abord !
Laurent PY
 
PDF
Comment accélérer le DevOps avec l’ATDD/BDD?
Danka Zindovic-Dana
 
PDF
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
devops REX
 
PPTX
Devoxx 2016 - L'odyssée du Continuous Delivery
Diego Lemos
 
PDF
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
LeClubQualiteLogicielle
 
PDF
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
TelecomValley
 
PDF
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
LeClubQualiteLogicielle
 
PPTX
presentation Zest au JFTL 2014
Laurent PY
 
Equipes Agiles & DevOps : Testez la valeur d’abord !
Laurent PY
 
Comment accélérer le DevOps avec l’ATDD/BDD?
Danka Zindovic-Dana
 
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
devops REX
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Diego Lemos
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
LeClubQualiteLogicielle
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
TelecomValley
 
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
LeClubQualiteLogicielle
 
presentation Zest au JFTL 2014
Laurent PY
 

Tendances (20)

PDF
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
LeClubQualiteLogicielle
 
PDF
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
LeClubQualiteLogicielle
 
PDF
DevOps vu par les ops
Michel HUBERT
 
PPTX
Il était une fois le Continuous Delivery chez Meetic
Joris Calabrese
 
PDF
20171122 03 - Les tests de performance en environnement DevOps
LeClubQualiteLogicielle
 
PPTX
Devops, ça change quoi pour moi développeur ?
antony_guilloteau
 
PPSX
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
TelecomValley
 
PDF
Intégration Continue (Agile Nantes)
Fabian Piau
 
PDF
20140410 - Choisir et implanter un outil de test
LeClubQualiteLogicielle
 
PDF
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
LeClubQualiteLogicielle
 
PDF
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
TelecomValley
 
PDF
20151013 - Réduire les coûts des tests de performance ?
LeClubQualiteLogicielle
 
PDF
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Bruno Flaven
 
PDF
Meilleures pratiques en gestion de projets agile [Webinaire]
Technologia Formation
 
ODP
Agile Methodologies
Jean-Philippe Jacoupy
 
PDF
DODMTL 2019 - Agile et DevOps chez Croesus
Martin Deslongchamps
 
PDF
Méthodes agile
ISSAE Cnam Liban
 
PPTX
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
PDF
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Bruno Flaven
 
PPT
Développement en méthode agile
laurent bristiel
 
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
LeClubQualiteLogicielle
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
LeClubQualiteLogicielle
 
DevOps vu par les ops
Michel HUBERT
 
Il était une fois le Continuous Delivery chez Meetic
Joris Calabrese
 
20171122 03 - Les tests de performance en environnement DevOps
LeClubQualiteLogicielle
 
Devops, ça change quoi pour moi développeur ?
antony_guilloteau
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
TelecomValley
 
Intégration Continue (Agile Nantes)
Fabian Piau
 
20140410 - Choisir et implanter un outil de test
LeClubQualiteLogicielle
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
LeClubQualiteLogicielle
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
TelecomValley
 
20151013 - Réduire les coûts des tests de performance ?
LeClubQualiteLogicielle
 
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Bruno Flaven
 
Meilleures pratiques en gestion de projets agile [Webinaire]
Technologia Formation
 
Agile Methodologies
Jean-Philippe Jacoupy
 
DODMTL 2019 - Agile et DevOps chez Croesus
Martin Deslongchamps
 
Méthodes agile
ISSAE Cnam Liban
 
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Bruno Flaven
 
Développement en méthode agile
laurent bristiel
 
Publicité

Similaire à Développement d'un grand projet piloté par les tests (BDD) (20)

PDF
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
Agile Montréal
 
PDF
Tour d'horizon des tests
yannick grenzinger
 
PDF
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
TelecomValley
 
PDF
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
DC CONSULTANTS
 
PPTX
Agilité, Tests Et Industrialisation
PHPPRO
 
PDF
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
DC CONSULTANTS
 
PDF
BDD (Behavior Driven Development) - Une voie vers l'agilité
CARA_Lyon
 
PPTX
Introduction au BDD (Behavior Driven Development)
Fabian Vilers
 
PDF
Faites revivre vos spécifications scrumday 2014
Publicis Sapient Engineering
 
PPTX
10 ans de Code (Agile Bordeaux 2019).pptx
Guillaume Saint Etienne
 
PPT
to Test or not to Test?
Guillaume Saint Etienne
 
PDF
Iut agile lyon 20 nov. 2013 - bdd
agnes_crepet
 
PPTX
Behavior Driven Development - agile testing day
Georges Damien
 
PPTX
[Agile Testing Day] Behavior Driven Development (BDD)
Cellenza
 
PDF
qualité logicielle (8).pdf
NoamHaythem
 
PPTX
Le pilotage par les tests
Jérôme Avoustin
 
PPT
Tests Logiciel
Nathaniel Richand
 
PDF
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
French Scrum User Group
 
PPTX
Diffusion de la méthode BDD chez AXA via les 3 amigos
Emilie-Anne GUERCH
 
PDF
Testeur agile mhc
Marc Hage Chahine
 
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
Agile Montréal
 
Tour d'horizon des tests
yannick grenzinger
 
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
TelecomValley
 
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
DC CONSULTANTS
 
Agilité, Tests Et Industrialisation
PHPPRO
 
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
DC CONSULTANTS
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
CARA_Lyon
 
Introduction au BDD (Behavior Driven Development)
Fabian Vilers
 
Faites revivre vos spécifications scrumday 2014
Publicis Sapient Engineering
 
10 ans de Code (Agile Bordeaux 2019).pptx
Guillaume Saint Etienne
 
to Test or not to Test?
Guillaume Saint Etienne
 
Iut agile lyon 20 nov. 2013 - bdd
agnes_crepet
 
Behavior Driven Development - agile testing day
Georges Damien
 
[Agile Testing Day] Behavior Driven Development (BDD)
Cellenza
 
qualité logicielle (8).pdf
NoamHaythem
 
Le pilotage par les tests
Jérôme Avoustin
 
Tests Logiciel
Nathaniel Richand
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
French Scrum User Group
 
Diffusion de la méthode BDD chez AXA via les 3 amigos
Emilie-Anne GUERCH
 
Testeur agile mhc
Marc Hage Chahine
 
Publicité

Plus de Laurent PY (9)

PPTX
Managing requirements and collaboration in Jira with BDD
Laurent PY
 
PPTX
How BDD can save your agile?
Laurent PY
 
PDF
Continuous testing for Agile and DevOps teams
Laurent PY
 
PPTX
Testing in DevOps: UKStar conference
Laurent PY
 
PPTX
Implementing BDD at scale for agile and DevOps teams
Laurent PY
 
PDF
Using Behavior Driven Development at scale
Laurent PY
 
PPTX
Testing in a DevOps team
Laurent PY
 
PPTX
Accélérer les tests d’acceptation avec un DSL et du refactoring
Laurent PY
 
PPT
Acceptance Testing Driven Development, TDD
Laurent PY
 
Managing requirements and collaboration in Jira with BDD
Laurent PY
 
How BDD can save your agile?
Laurent PY
 
Continuous testing for Agile and DevOps teams
Laurent PY
 
Testing in DevOps: UKStar conference
Laurent PY
 
Implementing BDD at scale for agile and DevOps teams
Laurent PY
 
Using Behavior Driven Development at scale
Laurent PY
 
Testing in a DevOps team
Laurent PY
 
Accélérer les tests d’acceptation avec un DSL et du refactoring
Laurent PY
 
Acceptance Testing Driven Development, TDD
Laurent PY
 

Développement d'un grand projet piloté par les tests (BDD)

  • 1. 1
  • 2. Développement d’un projet billettique piloté par les tests métiers (BDD) 2
  • 4. Plan • Contexte projet • Pourquoi avoir choisi l’approche BDD • Le déploiement du BDD étape par étape • Les pratiques clés • Conclusion 4
  • 5. Contexte projet Le projet : Helsinki • donneur d’ordre finlandais (HSL), Intégrateur système Tieto (fournisseurs rang 1), plusieurs partenaires dont Parkeon • un planning sur 3 ans • un projet d’intégration multi-culturel • 4000 équipements connectés • 360 millions de passagers par an • une migration de système existant 5
  • 6. Contexte projet Les phases de projet: • Analyse fonctionnelle (1 an) • Architecture (6 mois en parallèle) • Cycles de développement et release (de 3 mois à 2 semaines en mode BDD) 6
  • 7. Contexte projet Le système : 7 Validation - Contrôle (Android) Vente - Distribution (Web service) Paramétrage et supervision (back office node JS)
  • 8. Contexte projet Organisation Parkeon: Management 1 Directeur de Projet 5 Chefs de Projet 1 x Design Authority 2 Architectes 4 Product Owners 4 x Équipe de Développement : 1 Team Leader / Kanban Master 1 Testeur 5-6 Développeurs 2 x Équipe de test 5-6 Testeurs 8
  • 9. Au fait c’est quoi BDD? 9
  • 10. Behavior Driven Development en un clin d’oeil • Créer une compréhension partagée du système avec des exemples • Basé sur un langage métier commun • Définition du stop • Lorsque que les tests/exemples sont automatisés, ils deviennent la spec vivante. 10
  • 11. Story vue par le métier 11 Métier Ce que je veux
  • 12. Story vue par le développeur 12 MétierDéveloppeur Ce que j’ai compris et développe
  • 13. Story vue par le testeur 13 MétierDéveloppeurTesteur Ce que j’ai compris et teste
  • 14. Ce que l’on va réellement faire 14 MétierDéveloppeurTesteur Un contrat basé sur des exemples
  • 15. Une fois les exemples/tests exécutés 15 Spécification vivante
  • 16. Pourquoi avoir choisi l’approche BDD? 16
  • 17. Enjeux de Management de projet • Définir une méthode applicable à tous les archétypes d’équipes • Favoriser un découpage fonctionnel basé sur la valeur et projetable sur un planning • Maximiser l’automatisation des tests 17
  • 18. Enjeux de Maintenance • Assurer une qualité de service continue avec une équipe (très) réduite • Faciliter la transmission des connaissances • Fournir un framework pour développer des nouvelles fonctionnalités 18
  • 19. Le déploiement du BDD étape par étape 19
  • 20. Test des sous systèmes de façon autonome 20 Artefacts : mockups simulateurs sondes Difficultés: uniformiser le dictionnaire de donnée (vocabulaire) limiter le nombre de steps limiter le nombre d’implémentations pour 1 step ne pas perdre le fil avec l’exigence initiale (traçabilité et sémantique) • La Design Authority définit les comportements en relation avec le client • Les PO et Développeurs les formalisent en BDD et développent ces comportements • Les équipes de Testeurs implémentent les étapes de test et enrichissent la librairie de l’automate • Une fois implémentés, les tests sont planifiés dans l’intégration continue
  • 21. Test d’intégration et de bout en bout 21 • Les Développeurs réutilisent les étapes de test définies précédemment pour chaque module afin de les intégrer 2 à 2 (avant livraison interne) • Les équipes de test font de même, sur l’ensemble du système, pour réaliser une intégration bout en bout (après livraison interne) • Ces tests sont planifiés dans une intégration continue transverse Artefacts : simulateurs sondes robots Difficultés: limiter la dépendance avec un état initial du système prendre en compte la volumétrie du système en production
  • 22. Validation du système 22 • Les équipes de test et la DA définissent des scénarios qui vont mettre en jeu des cycles de vie “métiers” (je suis administrateur, je suis conducteur, ...) • Ces tests sont exécutés pour la plupart manuellement (mais rapidement) • Les tests “voyageurs”, les plus critiques, sont néanmoins tous automatisés • Cette base de tests sert aussi aux démo réalisées avec le client Artefacts : sondes robots Difficultés: prouver la couverture des exigences limiter la dépendance avec un état initial du système interactions «physiques» avec le système
  • 23. Synthèse 23 Toutes les équipes ont participé à la réalisation d’un objectif commun : construire une bibliothèque et un automate de tests leur permettant de valider l’ensemble du système Le BDD a donné un cadre au contrat qui les liait La démarche a été perçue avec enthousiasme par les équipes, sans contrainte. Elle a l’avantage de mettre en avant la valeur humaine et de favoriser les échanges.
  • 25. Langage commun spécifique au métier Testeur 我希望我可 以混合颜色 function(c1, c2) { if (c1==c2) { return c1; } else { … } }; Expert métier Développeur Given the color red and the color green when you mix the colors then you obtain yellow 25
  • 26. Syntaxe Gherkin Given : Étant donné un état When : Lorsqu’une action est effectuée Then : Une conséquence est constatée 26
  • 28. Être consistant dans la terminologie 28 Autocomplete
  • 29. Refactoring continu des tests 29 Détection des duplications pour créer un seul point de maintenance
  • 30. Refactoring continu des tests 30 Propagation automatique des modifications sur le langage métier
  • 31. Processus outillé 31 1- Détailler les stories 2 - Raffiner les cas de tests 3 - Implémenter les stories et tests 4 - Orchestrer les builds et tests runs 5 - Exécuter les tests Résultats
  • 32. Automatisation et check (BDD) 32 1635 tests fonctionnels unitaires 990 tests d’intégration sous systèmes 475 tests d’intégration système 200 tests de validation métiers Langage métier: 1690 steps
  • 34. Investissement en test 34 Répartition des coûts de développement
  • 35. Respect du calendrier 35 Cohésion du planning: • Par rapport aux engagements pris, le plus gros décalage de livraison a été d’une semaine • Aucun déscopage fonctionnel n’a été réalisé pour tenir le planning • Environ 10% de fonctions (sur 800) ont pu être modifiées/ajoutées en parallèle du développement initial.
  • 36. Répartition des défauts par phase 36 Gain sur la qualité du système délivré
  • 37. Répartition des défauts par domaine 37 Facilité d’intégration du BDD et défauts Clients ● Équipements ○ Intégration compliquée ○ Fonctionne en mode produit pour plusieurs projets. ○ Pas de testeur dans l’équipe ● Back Office ○ Adhésion forte ○ Mais 3 équipes différentes ○ et «out sourcées» ● Serveur de Vente ○ Adhésion très forte ○ 1 équipe locale