SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
TDD de la vraie vie
AlpesCraft 2022
Qui sommes-nous ?
Johan MARTINSSON
Coach tech
Dev
Xavier NOPRE
Artisan Développeur
CTO @ vrtice
Constat / Notre but
● Intérêt des tests unitaires ? ⇒ OK pour beaucoup de monde !
● Qui pratique le TDD régulièrement ? ⇒ … 😕
● Quel est le problème ? ⇒ Passage à l’acte au quotidien
⇒ Montrer notre approche du TDD pour la vraie vie !
TDD vs Test After
End of story
Changing the
code again
No value until code is
changed
TDD : comment ?
Remaniements, mise au
propre, nommages,
factorisations, …
1 test qui ne passe pas
pour de bonnes raisons
Code “minimum” pour
faire passer ce test
De la valeur au plus tôt !
● TDD sur du code algorithmique ⇒ OK mais éloigné de notre quotidien
● "Ecrire une spécification exécutable" n'est pas spécifique au "bas niveau"
○ Cela se fait aussi bien à tout niveau comme par exemple sur des “test d’intégration”
De la valeur au plus tôt !
● TDD sur algo ⇒ OK mais éloigné de notre
quotidien
● "Écrire une spécification exécutable" ⇏ "bas niveau"
○ TDD 💕 tous les tests
Démo
Vous verrez
● Du TDD en action
● Une approche de TDD basée sur l’usage
○ “Test d’intégration”
Vous ne verrez pas
● De la logique métier complexe
● Du DDD
● De l'archi hexagonale
● Du code très propre
Vous verrez
● TDD en action
● Du TDD sans TU
Vous ne verrez pas
Démo : contexte
● Application de vote pour votre langage préféré !
● Prototype front en approche “front first”
Démo !
Le risque de devoir changer les tests
😱
Problème
Modifier une interface sous test
⇒
● Pas de protection
● Modification du test
Comment reconnait-on une
interface stable 🤔 ?
1. Proche du besoin utilisateur/client
2. Vielle
3. Le ratio surface / volume faible.
💡
Testons des interfaces stables
A retenir
● + Le TDD ça vaut le coup, et c’est faisable dans la vraie vie
● Respectez le cycle du TDD et les règles de base (pour apprendre)
● + Le TDD n'a rien à voir avec le type du test
● Ecrivez les tests qui vous aide à avancer et vous apporte vite de la valeur
● + Au début, le TDD est plus intéressant avec les tests proches de l’usage
○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables
● Le besoin côté utilisateur est connu au début et stable dans le temps
● Le feedback immédiat a de la valeur
A retenir
● Le TDD ça vaut le coup, et c’est faisable dans la vraie vie
● Le TDD n'a rien à voir avec le type du test
○ On ne doit pas forcément faire du TDD sur des tests unitaires bas niveau
● Pour du TDD sur du code nouveau, des tests proches de l’usage peuvent être plus
intéressants
○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables
Merci !
Des questions ?

Mais conteúdo relacionado

Semelhante a TDD de la vraie vie - AlpesCraft 2022

Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
agnes_crepet
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013
agnes_crepet
 
Tdd en action - découverte
Tdd en action - découverteTdd en action - découverte
Tdd en action - découverte
Eric Mignot
 

Semelhante a TDD de la vraie vie - AlpesCraft 2022 (20)

Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
TDD où l’art de développer à l’endroit
TDD où l’art de développer à l’endroitTDD où l’art de développer à l’endroit
TDD où l’art de développer à l’endroit
 
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...
 
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
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013
 
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet AgileLes tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
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
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
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
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
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
 
Tdd en action - découverte
Tdd en action - découverteTdd en action - découverte
Tdd en action - découverte
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
 
Commencer avec le tdd
Commencer avec le tddCommencer avec le tdd
Commencer avec le tdd
 
Test Driven Development, propulsé par les Legos!
Test Driven Development, propulsé par les Legos!Test Driven Development, propulsé par les Legos!
Test Driven Development, propulsé par les Legos!
 
Travailler avec l'existant : ou comment s'en débarrasser - Agile Tour Paris ...
Travailler avec l'existant : ou comment s'en débarrasser -  Agile Tour Paris ...Travailler avec l'existant : ou comment s'en débarrasser -  Agile Tour Paris ...
Travailler avec l'existant : ou comment s'en débarrasser - Agile Tour Paris ...
 

Mais de martinsson

Pyramide des tests
Pyramide des testsPyramide des tests
Pyramide des tests
martinsson
 

Mais de martinsson (15)

Split my monolith - Workshop
Split my monolith - WorkshopSplit my monolith - Workshop
Split my monolith - Workshop
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Testing strategies visualized
Testing strategies visualizedTesting strategies visualized
Testing strategies visualized
 
Split my monolith! Workshop
Split my monolith! Workshop Split my monolith! Workshop
Split my monolith! Workshop
 
No Agility without Continuous Delivery
No Agility without Continuous DeliveryNo Agility without Continuous Delivery
No Agility without Continuous Delivery
 
No agility without continuous delivery frugagile
No agility without continuous delivery   frugagileNo agility without continuous delivery   frugagile
No agility without continuous delivery frugagile
 
De legacy au tdd agilegrenoble
De legacy au tdd   agilegrenobleDe legacy au tdd   agilegrenoble
De legacy au tdd agilegrenoble
 
De legacy au tdd - Agile pays basque
De legacy au tdd  - Agile pays basqueDe legacy au tdd  - Agile pays basque
De legacy au tdd - Agile pays basque
 
Usable software design ncraft
Usable software design ncraftUsable software design ncraft
Usable software design ncraft
 
Usable software design - code utilisable
Usable software design - code utilisableUsable software design - code utilisable
Usable software design - code utilisable
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
Pyramide des tests
Pyramide des testsPyramide des tests
Pyramide des tests
 
Changer Pour Mieux Coder
Changer Pour Mieux CoderChanger Pour Mieux Coder
Changer Pour Mieux Coder
 
Mikado
MikadoMikado
Mikado
 
Mikado
MikadoMikado
Mikado
 

TDD de la vraie vie - AlpesCraft 2022

  • 1. TDD de la vraie vie AlpesCraft 2022
  • 2. Qui sommes-nous ? Johan MARTINSSON Coach tech Dev Xavier NOPRE Artisan Développeur CTO @ vrtice
  • 3. Constat / Notre but ● Intérêt des tests unitaires ? ⇒ OK pour beaucoup de monde ! ● Qui pratique le TDD régulièrement ? ⇒ … 😕 ● Quel est le problème ? ⇒ Passage à l’acte au quotidien ⇒ Montrer notre approche du TDD pour la vraie vie !
  • 4. TDD vs Test After End of story Changing the code again No value until code is changed
  • 5. TDD : comment ? Remaniements, mise au propre, nommages, factorisations, … 1 test qui ne passe pas pour de bonnes raisons Code “minimum” pour faire passer ce test
  • 6. De la valeur au plus tôt ! ● TDD sur du code algorithmique ⇒ OK mais éloigné de notre quotidien ● "Ecrire une spécification exécutable" n'est pas spécifique au "bas niveau" ○ Cela se fait aussi bien à tout niveau comme par exemple sur des “test d’intégration”
  • 7. De la valeur au plus tôt ! ● TDD sur algo ⇒ OK mais éloigné de notre quotidien ● "Écrire une spécification exécutable" ⇏ "bas niveau" ○ TDD 💕 tous les tests
  • 8. Démo Vous verrez ● Du TDD en action ● Une approche de TDD basée sur l’usage ○ “Test d’intégration” Vous ne verrez pas ● De la logique métier complexe ● Du DDD ● De l'archi hexagonale ● Du code très propre
  • 9. Vous verrez ● TDD en action ● Du TDD sans TU Vous ne verrez pas
  • 10. Démo : contexte ● Application de vote pour votre langage préféré ! ● Prototype front en approche “front first”
  • 12. Le risque de devoir changer les tests 😱
  • 13. Problème Modifier une interface sous test ⇒ ● Pas de protection ● Modification du test Comment reconnait-on une interface stable 🤔 ? 1. Proche du besoin utilisateur/client 2. Vielle 3. Le ratio surface / volume faible. 💡 Testons des interfaces stables
  • 14. A retenir ● + Le TDD ça vaut le coup, et c’est faisable dans la vraie vie ● Respectez le cycle du TDD et les règles de base (pour apprendre) ● + Le TDD n'a rien à voir avec le type du test ● Ecrivez les tests qui vous aide à avancer et vous apporte vite de la valeur ● + Au début, le TDD est plus intéressant avec les tests proches de l’usage ○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables ● Le besoin côté utilisateur est connu au début et stable dans le temps ● Le feedback immédiat a de la valeur
  • 15. A retenir ● Le TDD ça vaut le coup, et c’est faisable dans la vraie vie ● Le TDD n'a rien à voir avec le type du test ○ On ne doit pas forcément faire du TDD sur des tests unitaires bas niveau ● Pour du TDD sur du code nouveau, des tests proches de l’usage peuvent être plus intéressants ○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables