[Agile Testing Day] Test Driven Development (TDD)
date post
12-Apr-2017Category
Technology
view
236download
2
Embed Size (px)
Transcript of [Agile Testing Day] Test Driven Development (TDD)
TDD
Test Driven DevelopmentAgile Testing Day
1
Aurlien GALTIERSoftware Craftsman
Consultant/Formateur web et mobile
Twitter : @AurlienGaltierBlog : http://blogs.developpeur.org/agaltier/
TDD cest quoi ?Moi : TDD cest quoi ? Collgue : On cre les tests avant de crer le code de production
3
TDD cest quoi ? Une mthode de dveloppementUn outil de clean codeUn concept test firstUne philosophie
4
T comme TestOn commence par les testsChaque test reprsente un cas dutilisationLensemble des tests reprsente une description de notre codeFilet de scurit
D comme DrivenNos tests influencent le codeClassesMthodesAdapt directement aux testsInjectionInterfaceAbstraction
D comme developmentParce que lon est dveloppeurCode de productionClean codeRefactoring
7
Phases du TDD
AnalyseAnalyser le besoin mtier Mettre jour la liste de testsEcrire le nom de nos testsChoix du prochain test implmenter
Analyse
Analyse : Ecrire le nom du testLe pattern Should / When
Should return I When convert 1 in roman number
Should return IV When convert 4 in roman number
Analyse
Analyse : Ecrire le nom du testLe cas du And
Should return I and log convert of 1 When convert 1 in roman number
Should return I When convert 1 in roman number Should log convert of 1 When convert 1 in roman numberAnalyse
Analyse : Choisir son premier testChoisir votre prochain test :Choisir le plus petit incrmentUn incrment qui apporte de la valeurUn cas la marge
Analyse
RedEcriture du testCompilation du codeExcution du test et voir qu'il passe au rougeRed
Red : Rgle des 3 ARed
Red : Excution du testRed
GreenImplmentation du codeRespecter seulement le besoin du testGreen
16
GreenGreen
17
RefactorInteraction sur le codeMatrise du codeFactoriserStructurerRenommerPatternDesignRefactor
18
RefactorLe code de productionLe code des testsRefactorAlways leave the campground cleaner than you found it.The Boy Scout Rule (by Uncle Bob)
19
On recommence On recommence la phase dAnalyse On ajoute 1 test On implmente notre nouveau test On refactor lensemble du code
TDD
20
On recommence Dveloppement par Cycle Itration de code Feedback rapide Emergence du code
TDD
DmonstrationRoman Numerals
1510501005001000IVXLCDM
Difficult du TDDCot DapprentissageDe dveloppement
Difficult du TDDCode legacyNon adapt aux testsRefactoring difficile
Difficult du TDDVous ne matrisez pas toujours le codeOn oublie la phase de FactorisationOn ne prend pas de recul sur le code
Pourquoi faire du TDDCode couvert par des testsTrs peu de code inutileConfiance en son code
26
Pourquoi faire du TDDRduction du debugDveloppement itratifFeedback rapideMoins de F5
Pourquoi faire du TDDEmergence dune documentation automatiqueNoms des tests parlantsLes tests couvrent des cas dutilisation
Comment faire ?Coding DojoKataPratiquer
29