SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Développement piloté par les
          tests
     Bob - Pyxis Technologies
Moi, quand j'ai commencé à bosser...

...ça se passait comme ça :
Quand j'y repense...

...on écrivait l'application plusieurs fois :-(
Quand j'y repense...

...on écrivait l'application plusieurs fois :-(
Quand j'y repense...

...on écrivait l'application plusieurs fois :-(
Quand j'y repense...

...on écrivait l'application plusieurs fois :-(
Ca marchait pas si mal

  On faisait des nuits uniquement vers la fin
  On arrivait à reporter les fautes sur les clients
  On s'en sortait grâce aux avenants
Ah bien sur...

  on était fatigué
  on était stressé
  on croisait les doigts à chaque livraison
  ...
  on envisageait sérieusement d'aller élever des chèvres
En plus...

...c'était la faute à personne
En plus...

...c'était la faute à personne
En plus...

...c'était la faute à personne
En plus...

...c'était la faute à personne
Autrement dit...

...la faute au client !
STOP !!!

C'était vraiment n'im-por-te quoi
Souvent, il y a eu un choc, un déclic...

  Certains ont lu un livre
  D'autres ont pris une bière avec des amis
  Pour d'autres ça a été la nuit de trop
Par exemple, il y a ceux...

...qui ont lu ce livre une première fois...




...puis une deuxième
...puis une troisième
...
Il y a aussi ceux...

...qui ont lu ce livre une première fois...




...puis une deuxième
...puis une troisième
...
Et il y a ceux...

...qui ont pris ça très au sérieux.
Et il y a ceux...

...qui ont pris ça très au sérieux.
Développement piloté par les
          tests
     Bob - Pyxis Technologies
Une idée maîtresse

Faire collaborer les différents intervenants
Si on simplifie un brin...

...on rencontre principalement 3 types d'intervenants
    Ceux qui "spécifient"
    Ceux qui "codent"
    Ceux qui "testent"
Malheureusement, la plupart du temps

 Ils ne parlent pas le même langage
 Ils ne travaillent pas ensemble
 Ils ne se connaissent parfois même pas
Retroussons nos manches !

Il faut les aider
     à travailler ensemble
     à rendre le travail de chacun utile
     à se sentir ensemble dans cette aventure
     à prendre du plaisir ?
Bonne nouvelle !

On a inventé tout ce qu'il faut pour ça :-)
Et si on ne parlait plus de "tests"...

  Une spécification évoque un comportement générique
  Un test décrit un exemple d'utilisation
  Un test peut être un programme qui exécute le code
...mais de spécifications exécutables ??

  Contient des exemples
  Liée au code
  Lieu de rencontre et d'échanges
Alors ? Test ou Spec ?

Vous les lancez pour vérifier une non-régression ?
  -> on dirait des tests

Vous les écrivez pour décrire un comportement attendu ?
  -> on dirait des specs
Test -Driven Development

Cela veut dire plusieurs choses
   Spécifier les comportements via des exemples
   Lier les spécifications au code de production
   Ecrire des tests avant le code
   Echanger des idées en écrivant des tests
   Partager un résultat attendu avant de coder
   Faire des tests les stars
   Se mettre d'accord sur ce que l'on veut puis coder
   Capitaliser les conversations dans des tests
   Documenter l'utilisation d'un code dans des tests
   Se lever le matin et penser aux tests que l'on va écrire
   Se coucher le soir et penser aux tests que l'on a fait passer
   ...
Vous entendrez souvent parler...

...du "cycle" du TDD
Une vision simple du cycle

1 : Test
    écrire un test et voir qu'il échoue
    il faut ajouter au code la valeur décrite dans le test

2 : Code
    faire passer le test rapidement

3 : Refactor
    on n'ajoute pas de fonctionnalité
    on améliore la qualité interne du code
TDD & Qualité

Qu'est-ce qu'un logiciel de qualité ?
TDD & Qualité

Quel est notre engagement en tant que professionnels de
l'informatique ?
TDD & Qualité
"Faire émerger le modèle pendant le
refactoring"
Pendant un cours de TDD, les participants s'interrogent
   Dois-je écrire des tests pour les classes qui émergent en
   refactoring ?
   Si je le fais, ne suis-je pas en train d'éluder le refactoring
   pour continuer ?
Que pensez-vous de ça ?
Et si je le dessine comme ça ?

ça vous rappelle quelque chose ?
"Test-Driven Scrum" ?
"Show me the code!"
"Show me the code!"
Merci

Bons tests ! ;-)

Weitere ähnliche Inhalte

Ähnlich wie Développement piloté par les tests - DDD

La solution-a-la-dette-technique
La solution-a-la-dette-techniqueLa solution-a-la-dette-technique
La solution-a-la-dette-techniqueFabrice Aimetti
 
La solution-a-la-dette-technique
La solution-a-la-dette-techniqueLa solution-a-la-dette-technique
La solution-a-la-dette-techniqueFabrice Aimetti
 
Mob Programming et #NoEstimates : contre-intuitif et efficace
Mob Programming et #NoEstimates : contre-intuitif et efficaceMob Programming et #NoEstimates : contre-intuitif et efficace
Mob Programming et #NoEstimates : contre-intuitif et efficaceNicolas Umiastowski
 
201001 TDD
201001 TDD201001 TDD
201001 TDDlyonjug
 
Bbd dans le flow nov.2012
Bbd dans le flow nov.2012Bbd dans le flow nov.2012
Bbd dans le flow nov.2012guillaumeagilr
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérienceDavid Hodgetts
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
 
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017Jean-Pierre Lambert
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introductionlaurent bristiel
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survieNicolas VERINAUD
 
Développer en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceDévelopper en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceSamuel Le Berrigaud
 
Le test n'est pas (qu')une histoire - agile france 2016
Le test n'est pas (qu')une histoire - agile france 2016Le test n'est pas (qu')une histoire - agile france 2016
Le test n'est pas (qu')une histoire - agile france 2016Clément Rochas
 
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
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)LVLUP
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...SEO CAMP
 
Software Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsSoftware Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsDamien Thouvenin
 
Outils Collaboratifs Pourquoi Comment
Outils Collaboratifs Pourquoi CommentOutils Collaboratifs Pourquoi Comment
Outils Collaboratifs Pourquoi Commentanne.wiener
 

Ähnlich wie Développement piloté par les tests - DDD (20)

La solution-a-la-dette-technique
La solution-a-la-dette-techniqueLa solution-a-la-dette-technique
La solution-a-la-dette-technique
 
La solution-a-la-dette-technique
La solution-a-la-dette-techniqueLa solution-a-la-dette-technique
La solution-a-la-dette-technique
 
Mob Programming et #NoEstimates : contre-intuitif et efficace
Mob Programming et #NoEstimates : contre-intuitif et efficaceMob Programming et #NoEstimates : contre-intuitif et efficace
Mob Programming et #NoEstimates : contre-intuitif et efficace
 
201001 TDD
201001 TDD201001 TDD
201001 TDD
 
Bbd dans le flow nov.2012
Bbd dans le flow nov.2012Bbd dans le flow nov.2012
Bbd dans le flow nov.2012
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience
'il y avait vraiment du gâteau" , Pair Programming un retour d'expérience
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
 
Session mons 22 mars
Session mons 22 marsSession mons 22 mars
Session mons 22 mars
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survie
 
Développer en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceDévelopper en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx France
 
Le test n'est pas (qu')une histoire - agile france 2016
Le test n'est pas (qu')une histoire - agile france 2016Le test n'est pas (qu')une histoire - agile france 2016
Le test n'est pas (qu')une histoire - agile france 2016
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
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
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
 
Software Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsSoftware Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logiciels
 
Outils Collaboratifs Pourquoi Comment
Outils Collaboratifs Pourquoi CommentOutils Collaboratifs Pourquoi Comment
Outils Collaboratifs Pourquoi Comment
 

Mehr von Pyxis Technologies

Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...Pyxis Technologies
 
Sorry, the new Champlain Bridge can’t be built using Agile...
Sorry, the new Champlain Bridge can’t be built using Agile...Sorry, the new Champlain Bridge can’t be built using Agile...
Sorry, the new Champlain Bridge can’t be built using Agile...Pyxis Technologies
 
Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...Pyxis Technologies
 
Agilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernanceAgilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernancePyxis Technologies
 
La gestion de portefeuille Agile - c'est pas compliqué!
La gestion de portefeuille Agile - c'est pas compliqué! La gestion de portefeuille Agile - c'est pas compliqué!
La gestion de portefeuille Agile - c'est pas compliqué! Pyxis Technologies
 
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...Pyxis Technologies
 
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve Pyxis Technologies
 
Estimation initiale dun projet agile de Mathieu Boisvert
Estimation initiale dun projet agile de Mathieu BoisvertEstimation initiale dun projet agile de Mathieu Boisvert
Estimation initiale dun projet agile de Mathieu BoisvertPyxis Technologies
 
Les attitudes doxiques dans les équipes et le syndrome du Titanic!
Les attitudes doxiques dans les équipes et le syndrome du Titanic!Les attitudes doxiques dans les équipes et le syndrome du Titanic!
Les attitudes doxiques dans les équipes et le syndrome du Titanic!Pyxis Technologies
 
La valeur d’affaires: L’indicateur qui peut changer le succès des projets
La valeur d’affaires: L’indicateur qui peut changer le succès des projetsLa valeur d’affaires: L’indicateur qui peut changer le succès des projets
La valeur d’affaires: L’indicateur qui peut changer le succès des projetsPyxis Technologies
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertPyxis Technologies
 
Agilité et la gestion du changement mboisvert - 15 octobre 2013
Agilité et la gestion du changement   mboisvert - 15 octobre 2013Agilité et la gestion du changement   mboisvert - 15 octobre 2013
Agilité et la gestion du changement mboisvert - 15 octobre 2013Pyxis Technologies
 
Comment être agile dans un contexte non lié aux TI ?
Comment être agile dans un contexte non lié aux TI ?Comment être agile dans un contexte non lié aux TI ?
Comment être agile dans un contexte non lié aux TI ?Pyxis Technologies
 
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...Pyxis Technologies
 
Choisir ses priorités: le développement incrémental de produit
Choisir ses priorités: le développement incrémental de produitChoisir ses priorités: le développement incrémental de produit
Choisir ses priorités: le développement incrémental de produitPyxis Technologies
 
Apprendre pour la performance et le bien-être
Apprendre pour la performance et le bien-êtreApprendre pour la performance et le bien-être
Apprendre pour la performance et le bien-êtrePyxis Technologies
 
L'agilité : de l'individu à l'organisation en passant par l'équipe
L'agilité : de l'individu à l'organisation en passant par l'équipeL'agilité : de l'individu à l'organisation en passant par l'équipe
L'agilité : de l'individu à l'organisation en passant par l'équipePyxis Technologies
 
Agile du point de vue d'un PMP
Agile du point de vue d'un PMPAgile du point de vue d'un PMP
Agile du point de vue d'un PMPPyxis Technologies
 

Mehr von Pyxis Technologies (20)

Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
 
Sorry, the new Champlain Bridge can’t be built using Agile...
Sorry, the new Champlain Bridge can’t be built using Agile...Sorry, the new Champlain Bridge can’t be built using Agile...
Sorry, the new Champlain Bridge can’t be built using Agile...
 
Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...
 
Agilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernanceAgilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernance
 
La gestion de portefeuille Agile - c'est pas compliqué!
La gestion de portefeuille Agile - c'est pas compliqué! La gestion de portefeuille Agile - c'est pas compliqué!
La gestion de portefeuille Agile - c'est pas compliqué!
 
Introduction à Agile Lean
Introduction à Agile LeanIntroduction à Agile Lean
Introduction à Agile Lean
 
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...
La valeur d'affaires comme indicateur de la gestion de projet - IIBA Montréal...
 
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve
Agile BA - catalyseur, createur de valeur - BAFS 29 juin 2015 Geneve
 
Estimation initiale dun projet agile de Mathieu Boisvert
Estimation initiale dun projet agile de Mathieu BoisvertEstimation initiale dun projet agile de Mathieu Boisvert
Estimation initiale dun projet agile de Mathieu Boisvert
 
Les attitudes doxiques dans les équipes et le syndrome du Titanic!
Les attitudes doxiques dans les équipes et le syndrome du Titanic!Les attitudes doxiques dans les équipes et le syndrome du Titanic!
Les attitudes doxiques dans les équipes et le syndrome du Titanic!
 
La valeur d’affaires: L’indicateur qui peut changer le succès des projets
La valeur d’affaires: L’indicateur qui peut changer le succès des projetsLa valeur d’affaires: L’indicateur qui peut changer le succès des projets
La valeur d’affaires: L’indicateur qui peut changer le succès des projets
 
Danser avec les polarités
Danser avec les polaritésDanser avec les polarités
Danser avec les polarités
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu Boisvert
 
Agilité et la gestion du changement mboisvert - 15 octobre 2013
Agilité et la gestion du changement   mboisvert - 15 octobre 2013Agilité et la gestion du changement   mboisvert - 15 octobre 2013
Agilité et la gestion du changement mboisvert - 15 octobre 2013
 
Comment être agile dans un contexte non lié aux TI ?
Comment être agile dans un contexte non lié aux TI ?Comment être agile dans un contexte non lié aux TI ?
Comment être agile dans un contexte non lié aux TI ?
 
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...
La revue d'itération intégrée… Et autres fabuleuses pratiques Agiles adaptées...
 
Choisir ses priorités: le développement incrémental de produit
Choisir ses priorités: le développement incrémental de produitChoisir ses priorités: le développement incrémental de produit
Choisir ses priorités: le développement incrémental de produit
 
Apprendre pour la performance et le bien-être
Apprendre pour la performance et le bien-êtreApprendre pour la performance et le bien-être
Apprendre pour la performance et le bien-être
 
L'agilité : de l'individu à l'organisation en passant par l'équipe
L'agilité : de l'individu à l'organisation en passant par l'équipeL'agilité : de l'individu à l'organisation en passant par l'équipe
L'agilité : de l'individu à l'organisation en passant par l'équipe
 
Agile du point de vue d'un PMP
Agile du point de vue d'un PMPAgile du point de vue d'un PMP
Agile du point de vue d'un PMP
 

Développement piloté par les tests - DDD

  • 1. Développement piloté par les tests Bob - Pyxis Technologies
  • 2. Moi, quand j'ai commencé à bosser... ...ça se passait comme ça :
  • 3. Quand j'y repense... ...on écrivait l'application plusieurs fois :-(
  • 4. Quand j'y repense... ...on écrivait l'application plusieurs fois :-(
  • 5. Quand j'y repense... ...on écrivait l'application plusieurs fois :-(
  • 6. Quand j'y repense... ...on écrivait l'application plusieurs fois :-(
  • 7.
  • 8. Ca marchait pas si mal On faisait des nuits uniquement vers la fin On arrivait à reporter les fautes sur les clients On s'en sortait grâce aux avenants
  • 9. Ah bien sur... on était fatigué on était stressé on croisait les doigts à chaque livraison ... on envisageait sérieusement d'aller élever des chèvres
  • 10. En plus... ...c'était la faute à personne
  • 11. En plus... ...c'était la faute à personne
  • 12. En plus... ...c'était la faute à personne
  • 13. En plus... ...c'était la faute à personne
  • 15. STOP !!! C'était vraiment n'im-por-te quoi
  • 16. Souvent, il y a eu un choc, un déclic... Certains ont lu un livre D'autres ont pris une bière avec des amis Pour d'autres ça a été la nuit de trop
  • 17. Par exemple, il y a ceux... ...qui ont lu ce livre une première fois... ...puis une deuxième ...puis une troisième ...
  • 18. Il y a aussi ceux... ...qui ont lu ce livre une première fois... ...puis une deuxième ...puis une troisième ...
  • 19. Et il y a ceux... ...qui ont pris ça très au sérieux.
  • 20. Et il y a ceux... ...qui ont pris ça très au sérieux.
  • 21. Développement piloté par les tests Bob - Pyxis Technologies
  • 22. Une idée maîtresse Faire collaborer les différents intervenants
  • 23. Si on simplifie un brin... ...on rencontre principalement 3 types d'intervenants Ceux qui "spécifient" Ceux qui "codent" Ceux qui "testent"
  • 24. Malheureusement, la plupart du temps Ils ne parlent pas le même langage Ils ne travaillent pas ensemble Ils ne se connaissent parfois même pas
  • 25. Retroussons nos manches ! Il faut les aider à travailler ensemble à rendre le travail de chacun utile à se sentir ensemble dans cette aventure à prendre du plaisir ?
  • 26. Bonne nouvelle ! On a inventé tout ce qu'il faut pour ça :-)
  • 27. Et si on ne parlait plus de "tests"... Une spécification évoque un comportement générique Un test décrit un exemple d'utilisation Un test peut être un programme qui exécute le code
  • 28. ...mais de spécifications exécutables ?? Contient des exemples Liée au code Lieu de rencontre et d'échanges
  • 29. Alors ? Test ou Spec ? Vous les lancez pour vérifier une non-régression ? -> on dirait des tests Vous les écrivez pour décrire un comportement attendu ? -> on dirait des specs
  • 30. Test -Driven Development Cela veut dire plusieurs choses Spécifier les comportements via des exemples Lier les spécifications au code de production Ecrire des tests avant le code Echanger des idées en écrivant des tests Partager un résultat attendu avant de coder Faire des tests les stars Se mettre d'accord sur ce que l'on veut puis coder Capitaliser les conversations dans des tests Documenter l'utilisation d'un code dans des tests Se lever le matin et penser aux tests que l'on va écrire Se coucher le soir et penser aux tests que l'on a fait passer ...
  • 31. Vous entendrez souvent parler... ...du "cycle" du TDD
  • 32. Une vision simple du cycle 1 : Test écrire un test et voir qu'il échoue il faut ajouter au code la valeur décrite dans le test 2 : Code faire passer le test rapidement 3 : Refactor on n'ajoute pas de fonctionnalité on améliore la qualité interne du code
  • 33. TDD & Qualité Qu'est-ce qu'un logiciel de qualité ?
  • 34. TDD & Qualité Quel est notre engagement en tant que professionnels de l'informatique ?
  • 36. "Faire émerger le modèle pendant le refactoring" Pendant un cours de TDD, les participants s'interrogent Dois-je écrire des tests pour les classes qui émergent en refactoring ? Si je le fais, ne suis-je pas en train d'éluder le refactoring pour continuer ?
  • 38. Et si je le dessine comme ça ? ça vous rappelle quelque chose ?
  • 40. "Show me the code!"
  • 41. "Show me the code!"