SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
TDD
Test Driven Development
La meilleure chose qui soit arrivée au design logiciel
Arek Torczuk, ThoughtWorks
Définition
“Le Test-Driven Development (TDD), ou développements pilotés par les tests, est une méthode de
développement de logiciel qui consiste à écrire chaque test avant d'écrire le code source d'un logiciel, de
façon itérative.”
Wikipedia
Historique
● 1950: Découverte de l’approche “Test First”
● 1998: Kent Beck (XP) redécouvre ce principe.
● 2003: Beck popularise le terme TDD
Les principes de la profession de développeur
● Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus.
● Pas seulement l'adaptation aux changements, mais aussi l'ajout constant de valeur.
● Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle.
● Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs.
Le TDD est une pratique qui contribue à l’adoption de ces principes.
Problèmes rencontrés en développement
● Difficulter à tester le code.
● Complexiter excessive.
● Syndrôme du “Tant qu’à y être”.
● Peur de faire du refactoring.
Avantages du TDD
● Standard de qualité élevé.
● Couverture de tests automatisés optimale.
● Design émergeant.
● Clean Code, Testable Code.
● Permet le refactoring.
● Permet ultimement d’aller plus vite.
Les trois étapes du cycle TDD
1. Écrire un test qui échoue.
2. Écrire suffisamment de code pour faire passer le test.
3. Refactoring.
Atelier - Lego
Atelier Lego - mise en scène
● Votre but: utiliser le TDD dans la réalisation d’une voiture.
● Défi: construire une suite de tests qui n’est pas fragile au changement.
● Ayez en main:
● Un sac contenant des Legos.
● Un surligneur
● Deux types de feuilles quadrillées.
● Une liste de requis.
Atelier Lego - quelques règles
● Dessiner le test en premier :
● Utiliser la plaque comme point de repère.
● Ajouter juste assez de Lego pour faire passer le test.
● Assurez-vous que les tests passent avant de passer au requis suivant.
Requis 1: La voiture doit avoir une plaque pour plancher.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Requis 2: La voiture doit avoir une carrosserie d’un bloc de haut.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Requis 3: La voiture doit avoir un volant.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Requis 4: La voiture doit pouvoir asseoir un conducteur.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Requis 5: La voiture doit avoir un pare-brise.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Requis 6: La voiture doit avoir quatre roues.
Grande voiture (6 x 8) Petite voiture (4 x 8)
Félicitations!!!
Le client est satisfait de votre voiture!
Vous obtenez un budget pour
poursuivre le projet!!!
Refactoring
● Afin de répondre au nouveau requis de votre client, vous devez apporter des modifications à
votre voiture.
● N'oubliez pas de modifier vos tests au besoin et assurez-vous qu’ils s’exécutent toujours avec
succès!
Au travail !!!
Nouveaux requis
● Requis 7: Doit avoir une ligne jaune décoratrice sur chacune des ailes de
la voiture.
● Requis 8: Doit avoir un aileron arrière.
Voilà!
Retour sur l’exercice
● La pratique du TDD facilite le refactoring:
○ En créant une couverture de code optimale.
○ En augmentant notre confiance dans le code.
○ En retirant la peur du changement / régressions.
● Viser une seule validation par test.
● Valider l’état suite à l’exécution et non l’implémentation
???
Références
Kent Beck explique que le TDD existe depuis plus longtemps qu’on ne le croit
https://arialdomartini.wordpress.com/2012/07/20/you-wont-believe-how-old-tdd-is/
Kent Beck - Test Driven Development
https://www.amazon.ca/Test-Driven-Development-Kent-Beck/dp/0321146530
TDD: la meilleure chose qui soit arrivée au design logiciel
https://www.thoughtworks.com/pt/insights/blog/test-driven-development-best-thing-has-happened-software-design
Pourquoi faire du TDD
https://builttoadapt.io/why-tdd-489fdcdda05e
Comment le TDD peut changer votre vie en tant que développeur
https://medium.com/@raphaelyoshiga/why-tdd-will-change-your-developer-life-b0bf234e15ac
Autres formations
● DevOps
● Clean Architecture
● TDD
● ATDD
● BDD
● Code Testable
● Clean Code
● Principes de design SOLID
● Tests automatisés
Dîtes-nous ce que vous en avez pensé!
Trouvez-nous dans l’application mobile Guideview.

Contenu connexe

Tendances

Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetictdiavet
 
Pizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberPizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberHervé Leclerc
 
Transition Agile @ Meetic
Transition Agile @ MeeticTransition Agile @ Meetic
Transition Agile @ MeeticmeeticTech
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)French Scrum User Group
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFETelecomValley
 
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...TelecomValley
 

Tendances (7)

Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetic
 
Pizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberPizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumber
 
Transition Agile @ Meetic
Transition Agile @ MeeticTransition Agile @ Meetic
Transition Agile @ Meetic
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
 
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
 

Similaire à Test Driven Development, propulsé par les Legos!

Commencer avec le tdd
Commencer avec le tddCommencer avec le tdd
Commencer avec le tddEric Hogue
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilNormandy JUG
 
Test Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsTest Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsThierry Gayet
 
Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Agile En Seine
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptxGuillaume Saint Etienne
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgileAgile Tour 2009 Québec
 
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDDWebinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDDDC CONSULTANTS
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221Frédéric Delorme
 
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?florentpellet
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Benoit St-André
 
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...DC CONSULTANTS
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - IntroductionOlivier ETIENNE
 
NDepend 5 en action par son créateur
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateurMicrosoft
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Charles Bouttaz
 

Similaire à Test Driven Development, propulsé par les Legos! (20)

Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017
 
Commencer avec le tdd
Commencer avec le tddCommencer avec le tdd
Commencer avec le tdd
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Test Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsTest Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teams
 
Flex Unit Testing
Flex Unit TestingFlex Unit Testing
Flex Unit Testing
 
Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDDWebinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
 
Method XP
Method XP Method XP
Method XP
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221
 
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
 
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - Introduction
 
NDepend 5 en action par son créateur
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateur
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
 

Plus de Agile Montréal

ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...Agile Montréal
 
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...Agile Montréal
 
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander DurATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander DurAgile Montréal
 
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...Agile Montréal
 
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...Agile Montréal
 
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...Agile Montréal
 
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...Agile Montréal
 
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...Agile Montréal
 
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...Agile Montréal
 
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...Agile Montréal
 
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...Agile Montréal
 
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...Agile Montréal
 
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi RocheATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi RocheAgile Montréal
 
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...Agile Montréal
 
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline  TissierATMTL23 - La collaboration intergénérationnelle au travail par Apolline  Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline TissierAgile Montréal
 
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl MétivierATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl MétivierAgile Montréal
 
ATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique PothierATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique PothierAgile Montréal
 
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...Agile Montréal
 
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...Agile Montréal
 
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...Agile Montréal
 

Plus de Agile Montréal (20)

ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
 
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
 
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander DurATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
 
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
 
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
 
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
 
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
 
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
 
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
 
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
 
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
 
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
 
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi RocheATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
 
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
 
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline  TissierATMTL23 - La collaboration intergénérationnelle au travail par Apolline  Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline Tissier
 
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl MétivierATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
 
ATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique PothierATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique Pothier
 
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
 
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
 
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
 

Test Driven Development, propulsé par les Legos!

  • 1. TDD Test Driven Development La meilleure chose qui soit arrivée au design logiciel Arek Torczuk, ThoughtWorks
  • 2. Définition “Le Test-Driven Development (TDD), ou développements pilotés par les tests, est une méthode de développement de logiciel qui consiste à écrire chaque test avant d'écrire le code source d'un logiciel, de façon itérative.” Wikipedia
  • 3. Historique ● 1950: Découverte de l’approche “Test First” ● 1998: Kent Beck (XP) redécouvre ce principe. ● 2003: Beck popularise le terme TDD
  • 4. Les principes de la profession de développeur ● Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus. ● Pas seulement l'adaptation aux changements, mais aussi l'ajout constant de valeur. ● Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle. ● Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs. Le TDD est une pratique qui contribue à l’adoption de ces principes.
  • 5. Problèmes rencontrés en développement ● Difficulter à tester le code. ● Complexiter excessive. ● Syndrôme du “Tant qu’à y être”. ● Peur de faire du refactoring.
  • 6. Avantages du TDD ● Standard de qualité élevé. ● Couverture de tests automatisés optimale. ● Design émergeant. ● Clean Code, Testable Code. ● Permet le refactoring. ● Permet ultimement d’aller plus vite.
  • 7. Les trois étapes du cycle TDD 1. Écrire un test qui échoue. 2. Écrire suffisamment de code pour faire passer le test. 3. Refactoring.
  • 9. Atelier Lego - mise en scène ● Votre but: utiliser le TDD dans la réalisation d’une voiture. ● Défi: construire une suite de tests qui n’est pas fragile au changement. ● Ayez en main: ● Un sac contenant des Legos. ● Un surligneur ● Deux types de feuilles quadrillées. ● Une liste de requis.
  • 10. Atelier Lego - quelques règles ● Dessiner le test en premier : ● Utiliser la plaque comme point de repère. ● Ajouter juste assez de Lego pour faire passer le test. ● Assurez-vous que les tests passent avant de passer au requis suivant.
  • 11. Requis 1: La voiture doit avoir une plaque pour plancher. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 12. Requis 2: La voiture doit avoir une carrosserie d’un bloc de haut. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 13. Requis 3: La voiture doit avoir un volant. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 14. Requis 4: La voiture doit pouvoir asseoir un conducteur. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 15. Requis 5: La voiture doit avoir un pare-brise. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 16. Requis 6: La voiture doit avoir quatre roues. Grande voiture (6 x 8) Petite voiture (4 x 8)
  • 17. Félicitations!!! Le client est satisfait de votre voiture! Vous obtenez un budget pour poursuivre le projet!!!
  • 18. Refactoring ● Afin de répondre au nouveau requis de votre client, vous devez apporter des modifications à votre voiture. ● N'oubliez pas de modifier vos tests au besoin et assurez-vous qu’ils s’exécutent toujours avec succès!
  • 20. Nouveaux requis ● Requis 7: Doit avoir une ligne jaune décoratrice sur chacune des ailes de la voiture. ● Requis 8: Doit avoir un aileron arrière.
  • 22. Retour sur l’exercice ● La pratique du TDD facilite le refactoring: ○ En créant une couverture de code optimale. ○ En augmentant notre confiance dans le code. ○ En retirant la peur du changement / régressions. ● Viser une seule validation par test. ● Valider l’état suite à l’exécution et non l’implémentation
  • 23. ???
  • 24. Références Kent Beck explique que le TDD existe depuis plus longtemps qu’on ne le croit https://arialdomartini.wordpress.com/2012/07/20/you-wont-believe-how-old-tdd-is/ Kent Beck - Test Driven Development https://www.amazon.ca/Test-Driven-Development-Kent-Beck/dp/0321146530 TDD: la meilleure chose qui soit arrivée au design logiciel https://www.thoughtworks.com/pt/insights/blog/test-driven-development-best-thing-has-happened-software-design Pourquoi faire du TDD https://builttoadapt.io/why-tdd-489fdcdda05e Comment le TDD peut changer votre vie en tant que développeur https://medium.com/@raphaelyoshiga/why-tdd-will-change-your-developer-life-b0bf234e15ac
  • 25. Autres formations ● DevOps ● Clean Architecture ● TDD ● ATDD ● BDD ● Code Testable ● Clean Code ● Principes de design SOLID ● Tests automatisés
  • 26. Dîtes-nous ce que vous en avez pensé! Trouvez-nous dans l’application mobile Guideview.