TDD is                           a Superior Way of Working                                      Emily Bache               ...
Test Driven Development                                      Red                           Refactor         Green         ...
TDD states & moves             Overview                         Red       Analyse Problem                   Declare & Name...
Study at Microsoft & IBM                               IBM drivers Windows MSN   Visual Studio            Defect density o...
Agile Engineering Practices                            (Exploratory) Testing                             Automated Checks ...
TDD -> Automated Checks           Agile Engineering Practices                         TDD                            (Expl...
Productivity & good design       programming team          productivity                                                   ...
Automated Checks               Safety net for refactoring               Documentation/examples of               usage     ...
TDD vs Test Last                           TDD                   Test Last                                                ...
TDD & feedback                                     Writing a failing test tells you:                      Red             ...
TDD & feedback                           Red                                             Getting to Green:                ...
TDD & feedback                                        Red                             Refactor         Green            Re...
TDD - no silver bullet                     You can test all you want and if you don’t                       know how to ap...
TDD is                           a Superior Way of Working                                      Emily Bache               ...
Upcoming SlideShare
Loading in …5
×

Tdd is a Superior Way of Working - Emily Bache, LTG-4

1,419 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,419
On SlideShare
0
From Embeds
0
Number of Embeds
396
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tdd is a Superior Way of Working - Emily Bache, LTG-4

  1. 1. TDD is a Superior Way of Working Emily Bache http://bacheconsulting.comMonday, 19 December 2011
  2. 2. Test Driven Development Red Refactor Green TDD is a disciplined way of working Developers write automated tests for their code Minute-by-minute cycle material copyright Bache consulting, emily@bacheconsulting.comMonday, 19 December 2011
  3. 3. TDD states & moves Overview Red Analyse Problem Declare & Name Test List Arrange-Act-Assert Guiding Test Satisfy compiler Refactor Green Remove Fake Implement solution Remove Code Smell Fake it Improve Design Start over (No new functionality) material copyright Bache consulting, emily@bacheconsulting.comMonday, 19 December 2011
  4. 4. Study at Microsoft & IBM IBM drivers Windows MSN Visual Studio Defect density of W X Y Z comparable team not using TDD Defect density of 0.61W 0.38X 0.24Y 0.09Z team using TDD Increase in time 15-20% 25-35% 15% 25-20% taken because of TDD http://research.microsoft.com/en-us/groups/ese/ nagappan_tdd.pdfMonday, 19 December 2011
  5. 5. Agile Engineering Practices (Exploratory) Testing Automated Checks Continuous Integration Automated Build Version ControlMonday, 19 December 2011
  6. 6. TDD -> Automated Checks Agile Engineering Practices TDD (Exploratory) Testing Automated Checks Red Continuous Integration Automated Build Version Control Refactor GreenMonday, 19 December 2011
  7. 7. Productivity & good design programming team productivity time As mess builds, productivity decreasesMonday, 19 December 2011
  8. 8. Automated Checks Safety net for refactoring Documentation/examples of usage material copyright Bache consulting, emily@bacheconsulting.comMonday, 19 December 2011
  9. 9. TDD vs Test Last TDD Test Last Write code Red Refactor Green Debug Write testsMonday, 19 December 2011
  10. 10. TDD & feedback Writing a failing test tells you: Red what problem you are solving if your design is inconvenient Refactor Green before you commit to an implementationMonday, 19 December 2011
  11. 11. TDD & feedback Red Getting to Green: makes you write only just enough functionality Refactor Green Avoid over design & code bloat LEAN!Monday, 19 December 2011
  12. 12. TDD & feedback Red Refactor Green Refactoring happens frequently Optimize design for long term maintainabilityMonday, 19 December 2011
  13. 13. TDD - no silver bullet You can test all you want and if you don’t know how to approach the problem, you’re not going to get a solution Peter Norvig - quoted p301 in “Coders At Work”Monday, 19 December 2011
  14. 14. TDD is a Superior Way of Working Emily Bache http://bacheconsulting.comMonday, 19 December 2011

×