[Agile Testing Day] Test Driven Development (TDD)

Click here to load reader

download [Agile Testing Day] Test Driven Development (TDD)

of 29

  • date post

    12-Apr-2017
  • Category

    Technology

  • view

    236
  • download

    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