TDD en action : découverte
Repérage●   TDD en action    –   Découverte                 Nous allons aborder ceci    –   Refactoring    –   Itératif in...
Découverte●   Définition●   Théorie●   Exemple●   Exercice●   Auto-évaluation
TDDTDD = Test-Driven Development=Développement piloté par les tests=Écrire des tests avant le code=Écrire des tests pour g...
Le TDD cest...●   Une méthode de développement incrémental●   Une technique de spécification●   Une démarche qualité●   Un...
...et aussi :●   Un outil pour ne plus avoir peur●   Un jeu●   Un ami qui vous simplifie la vie
Théorie – le « cycle » du TDD   1.TEST                2.CODE            3.REFACTOR
1.TEST●   Décrire le comportement souhaité●   Ce comportement peut être    –   Unitaire : exercer une unité de code    –  ...
1.TEST
1.TEST  Notez que le caractère unitaire, intégré ousystème dun test est défini par lenvergure du    code exercé lorsquon e...
1.TESTParfois on peut avoir des intuitions quant à  cette envergure dès la lecture du test
1.TESTAu début, commencez par explorer un cas simple
2.CODE●   Faire passer le test●   Vous avez le « droit » de tout faire    –   Écrire du code de débutant    –   Dupliquer ...
2.CODEAu début commencez par le code le plus simple        possible faisant passer le test
3.REFACTOR●   Supprimer le code dangereux...●   ...SANS ajouter de fonctionnalités...●   ...en continuant à avoir tous les...
3.REFACTOR●   Quest ce que du code « dangereux »?    –   Duplication    –   Couplage    –   Valeurs magiques    –   Condit...
3.REFACTOR●   Comment supprimer du code « dangereux »?
3.REFACTORAu début, commencez par apprendre à repérer le             code « dangereux »Je vois une valeur magique ici
Il est temps de pratiquer
Exemple●   Le kata des chiffres romainsLe kata dit que vous devez écrire une fonction pour convertirles nombres dont nous ...
ExempleNotez dans cette vidéo :●   Les tests sexécutent automatiquement en bas    à gauche●   Les tests peuvent rester rou...
A vous :)●   Exercice : le kata des facteurs premiersLe kata dit que vous devez écrire une fonction qui donne ladécomposit...
Souvenez-vous●   Commencez par un seul test●   Commencez par un cas simple●   Respectez le cycle                 1.TEST   ...
Vous avez fini ?
Recommencez :)
Plusieurs fois, avec différents langages.
Auto-évaluation●   Combien dexemples sont présents dans vos    tests ?    –   Vous en voulez plusieurs●   Avez-vous écrit ...
Auto-évaluation●   A chaque refactoring, quel « code smell » avez-    vous supprimé ?    –   Essayer à chaque fois de les ...
Auto-évaluation●   Est-ce que vos tests traduisent une démarche    incrémentale ?    –   Vos premiers tests devraient prés...
Auto-évaluation                               Tests                       X/V?Jai écrit plusieurs testsChaque nouveau test...
Merci●   Maiderez vous à améliorer ce matériel ?    –   Quavez-vous aimé ?    –   Quelles améliorations feriez-vous ?     ...
Upcoming SlideShare
Loading in …5
×

Tdd en action - découverte

1,372 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,372
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
27
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Tdd en action - découverte

  1. 1. TDD en action : découverte
  2. 2. Repérage● TDD en action – Découverte Nous allons aborder ceci – Refactoring – Itératif incrémental – Bases de données – Développement Web – Déploiement continu
  3. 3. Découverte● Définition● Théorie● Exemple● Exercice● Auto-évaluation
  4. 4. TDDTDD = Test-Driven Development=Développement piloté par les tests=Écrire des tests avant le code=Écrire des tests pour guider lécriture du code=Écrire des tests pour partager une idée=Écrire des tests pour explorer une hypothèse
  5. 5. Le TDD cest...● Une méthode de développement incrémental● Une technique de spécification● Une démarche qualité● Une technique de collaboration● Une des 13 pratiques de eXtrem Programming
  6. 6. ...et aussi :● Un outil pour ne plus avoir peur● Un jeu● Un ami qui vous simplifie la vie
  7. 7. Théorie – le « cycle » du TDD 1.TEST 2.CODE 3.REFACTOR
  8. 8. 1.TEST● Décrire le comportement souhaité● Ce comportement peut être – Unitaire : exercer une unité de code – Intégré : exercer plusieurs unités de code – Système : exercer lensemble dun systéme
  9. 9. 1.TEST
  10. 10. 1.TEST Notez que le caractère unitaire, intégré ousystème dun test est défini par lenvergure du code exercé lorsquon exécute ce test.
  11. 11. 1.TESTParfois on peut avoir des intuitions quant à cette envergure dès la lecture du test
  12. 12. 1.TESTAu début, commencez par explorer un cas simple
  13. 13. 2.CODE● Faire passer le test● Vous avez le « droit » de tout faire – Écrire du code de débutant – Dupliquer du code existant – Mettre des valeurs magiques dans le code – ...
  14. 14. 2.CODEAu début commencez par le code le plus simple possible faisant passer le test
  15. 15. 3.REFACTOR● Supprimer le code dangereux...● ...SANS ajouter de fonctionnalités...● ...en continuant à avoir tous les tests qui passent
  16. 16. 3.REFACTOR● Quest ce que du code « dangereux »? – Duplication – Couplage – Valeurs magiques – Conditionnel – Longues classes ou méthodes – Code obscur – ...cherchez « code smells » sur Google
  17. 17. 3.REFACTOR● Comment supprimer du code « dangereux »?
  18. 18. 3.REFACTORAu début, commencez par apprendre à repérer le code « dangereux »Je vois une valeur magique ici
  19. 19. Il est temps de pratiquer
  20. 20. Exemple● Le kata des chiffres romainsLe kata dit que vous devez écrire une fonction pour convertirles nombres dont nous avons lhabitude en chiffres romains.Par exemple :1--> I10-->X7-->VIIEtc.● Extrait de 10 minutes : http://vimeo.com/19621491● Vous pourrez trouver dautres extraits non loin de celui-ci
  21. 21. ExempleNotez dans cette vidéo :● Les tests sexécutent automatiquement en bas à gauche● Les tests peuvent rester rouges tout en changeant de message derreur● Le refactoring najoute pas de fonctionnalités
  22. 22. A vous :)● Exercice : le kata des facteurs premiersLe kata dit que vous devez écrire une fonction qui donne ladécomposition dun nombre en ses facteurs premiers.Par exemple :15 = 3 x 5300 = 2 x 2 x 3 x 5 x 5Etc.
  23. 23. Souvenez-vous● Commencez par un seul test● Commencez par un cas simple● Respectez le cycle 1.TEST 2.CODE 3.REFACTOR
  24. 24. Vous avez fini ?
  25. 25. Recommencez :)
  26. 26. Plusieurs fois, avec différents langages.
  27. 27. Auto-évaluation● Combien dexemples sont présents dans vos tests ? – Vous en voulez plusieurs● Avez-vous écrit le code minimum pour faire passer chaque test ? – Vous pouvez avoir une idée de cela en vérifiant que chaque nouveau test ne passe pas sans nouveau code
  28. 28. Auto-évaluation● A chaque refactoring, quel « code smell » avez- vous supprimé ? – Essayer à chaque fois de les nommer● Est-ce que vos tests documentent votre code ? – Prenez votre courage à deux mains et montrez vos tests à un ami, ils doivent suffire à expliquer ce quoffre votre code
  29. 29. Auto-évaluation● Est-ce que vos tests traduisent une démarche incrémentale ? – Vos premiers tests devraient présenter des cas simples, les cas plus compliqués venant ensuite.
  30. 30. Auto-évaluation Tests X/V?Jai écrit plusieurs testsChaque nouveau test commence par ne pas passerChaque test a une seule intentionChaque test a un nom qui illustre lintention du testMes tests illustrent un développement incrémentaleUn autre que moi comprend lintention de mes testsJe sais nommer les smells que je supprime en refactoring
  31. 31. Merci● Maiderez vous à améliorer ce matériel ? – Quavez-vous aimé ? – Quelles améliorations feriez-vous ? eric.mignot@gmail.com

×