Your SlideShare is downloading. ×
0
Test Driven Development          It’s All about Fluency          @LlewellynFalco
Is Testing Faster? (Test After)                       60 Minutes         Work (code)                                    X ...
Is Testing Faster? (Test 1st)                                       30 Minutes         Work (code)                        ...
Today’s Kata: Triangle 1)    A side has a distance 2)    Side knows endpoints 3)    3 points 4)    3 sides 5)    Perimeter...
Parts of a Test1) Do2) Verify
Demo
Benefits of Unit Tests1)   Specification2)   Feedback3)   Regression4)   Granularity
RegressionIf I used to get :Then I still get :
Intentional Code// Create a Side from (0,0) to (5,0)var side = new Side(0,0,5,0);
Consume      1stWrite the objects & methods you wish existed
Test Until BoredTest the cases that bring you value
Verification Is it the right answer? 1. Change the Question 2. Ask an expert
Completing the CircleYour output should tell the story.Objects should have ToStrings                                     B...
Fake it Till You Make ItBuys some timeAllows for Triangulation
Today’s Kata: Triangle 1)    A side has a distance 2)    Side knows endpoints 3)    3 points 4)    3 sides 5)    Perimeter...
Verifying MultiplesVerify Single:Approvals.Approve(result);Verify Many:Approvals.Approve(results, "label");
Multiple CasesApprovals.Approve(cases, c => TestWith(c));
Maintaining TestsSame Quality as Production Code
Resources    Test Driven Development: By Example                              Kent Beck
Resources            www.ApprovalTests.com
Resources                    www.Develop.comIntro To TDD Class (4 Day)Legacy Code
TeachingKidsProgramming.orgDo a Recipe  Teach a Kid (Ages 10 ++)Microsoft SmallBasic  Free Courseware (recipes)
Please fill out evaluations:TDD – Fluency #AT11@LlewellynFalcohttp://LlewellynFalco.Blogspot.comhttp://www.approvaltests.c...
Test drivendevelopment   fluency
Test drivendevelopment   fluency
Upcoming SlideShare
Loading in...5
×

Test drivendevelopment fluency

926

Published on

Published in: Technology, Business
1 Comment
0 Likes
Statistics
Notes
  • I created a bare bones sample solution and shared it on github. https://github.com/benevolentprof/Triangle-kata
    Doing the steps laid out on Slide 4 exactly in the order given taught me a lot about TDD and OO design.

    Thanks Llewellyn.

    @benevolentprof
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
926
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • Both
  • I add this slide at the end of EVERY presentation.
  • Both
  • Transcript of "Test drivendevelopment fluency"

    1. 1. Test Driven Development It’s All about Fluency @LlewellynFalco
    2. 2. Is Testing Faster? (Test After) 60 Minutes Work (code) X minutes Non-Work(tests) Code < 60 Minutes Code + Test 60 + X minutes
    3. 3. Is Testing Faster? (Test 1st) 30 Minutes Work (code) X minutes Non-Work(tests) Code 60 Minutes < ? Test + Code X + 30 minutes
    4. 4. Today’s Kata: Triangle 1) A side has a distance 2) Side knows endpoints 3) 3 points 4) 3 sides 5) Perimeter 6) Get sides touching a point 7) Get side opposite a point 8) The angle of 2 sides touching a point 9) 3 angles 10) Right Triangle
    5. 5. Parts of a Test1) Do2) Verify
    6. 6. Demo
    7. 7. Benefits of Unit Tests1) Specification2) Feedback3) Regression4) Granularity
    8. 8. RegressionIf I used to get :Then I still get :
    9. 9. Intentional Code// Create a Side from (0,0) to (5,0)var side = new Side(0,0,5,0);
    10. 10. Consume 1stWrite the objects & methods you wish existed
    11. 11. Test Until BoredTest the cases that bring you value
    12. 12. Verification Is it the right answer? 1. Change the Question 2. Ask an expert
    13. 13. Completing the CircleYour output should tell the story.Objects should have ToStrings Benefits 1. Specification 2. Feedback 3. Regression 4. Granularity
    14. 14. Fake it Till You Make ItBuys some timeAllows for Triangulation
    15. 15. Today’s Kata: Triangle 1) A side has a distance 2) Side knows endpoints 3) 3 points 4) 3 sides 5) Perimeter 6) Get sides touching a point 7) Get side opposite a point 8) The angle of 2 sides touching a point 9) 3 angles 10) Right Triangle
    16. 16. Verifying MultiplesVerify Single:Approvals.Approve(result);Verify Many:Approvals.Approve(results, "label");
    17. 17. Multiple CasesApprovals.Approve(cases, c => TestWith(c));
    18. 18. Maintaining TestsSame Quality as Production Code
    19. 19. Resources Test Driven Development: By Example Kent Beck
    20. 20. Resources www.ApprovalTests.com
    21. 21. Resources www.Develop.comIntro To TDD Class (4 Day)Legacy Code
    22. 22. TeachingKidsProgramming.orgDo a Recipe  Teach a Kid (Ages 10 ++)Microsoft SmallBasic  Free Courseware (recipes)
    23. 23. Please fill out evaluations:TDD – Fluency #AT11@LlewellynFalcohttp://LlewellynFalco.Blogspot.comhttp://www.approvaltests.com @ArloBelshee (Microsoft) http://www.arlobelshee.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×