Upcoming SlideShare
×

# Test drivendevelopment fluency

963
-1

Published on

1 Comment
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• 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

Are you sure you want to  Yes  No
• Be the first to like this

Views
Total Views
963
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
10
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
• ### 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.