Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
More Development 
Than Ever 
Test Driven Development
Team Lead at EPAM 
Agile practitioner (CSM) 
Trainer 
Public speaker
Writes perfect code with no bugs 
Also saves the world during coffee breaks
I’m more like 
this guy
Billions of years ago… 
In the stone age of computer science… 
© Mutatis mutandis
© Computer History Museum
1994–95: 
rediscovered by 
Kent Beck 
© Improve It
2014 – 1995 = ?
2014 – 1999 = 15
2014 – 2002 = 12
I spend too 
much time 
writing tests.
TDD 
Non-TDD 
Think Test Code 
Think Code
Think Test Code 
Think Code 
Debug!!!
In reality 
Think Test Code
TDD vs. debugging only 
Shorter feedback cycle 
Reusable test suite 
Code instead of pen and paper 
Genuine feeling of com...
I spend too 
much time 
writing tests. 
I would have 
spent this time 
anyway.
It doesn’t apply 
exactly to my 
case.
Legacy code
Front-end
Embedded 
systems
It doesn’t apply 
exactly to my 
case. 
There’s a fair 
chance my case 
is not unique.
I’m new to the 
technology, 
I can’t test what 
I don’t know.
It’s OK to use a debugger 
It’s OK to go back and forth
Test is a hypothesis 
you can prove on the spot.
I’m new to the 
technology, 
I can’t test what 
I don’t know. 
TDD in fact 
helps me learn.
I have to modify 
the code too 
often, my tests 
become waste.
Think Test Code Refactor
Think Test Code Refactor
I have to modify 
the code too 
often, my tests 
become waste. 
Code without 
tests is non-existing 
to me.
My project is 
too agile, don’t 
have time for 
tests! 
Well…
Requirements Waterfall 
Design 
Implementation 
Verification 
Maintenance
Agile 
Requirements 
Design 
Implementation 
Verification 
Maintenance 
Requirements 
Design 
Implementation 
Verification...
My project is 
too agile, don’t 
have time for 
tests! 
I use TDD to 
build in quality 
into my code.
Driven 
Test Development
TDD is a way to 
prepare your 
workplace and 
keep it safe 
© johnjazz
There strategy 
And there’s 
execution 
And execution is 
hard
http://kirbarn.blogpost.com 
kiryl.baranoshnik@gmail.com 
@kirbarn
References 
Ten Years Of Test Driven Development 
Why does Kent Beck refer to the "rediscovery" of test-driven development...
Books 
"Extreme Programming Explained: Embrace Change" by Kent Beck, Cynthia Andres 
"Test Driven Development: By Example"...
Image sources 
http://commons.wikimedia.org/wiki/File:Kent_Beck_no_Workshop_Mapping_XP.jpg 
http://www.freeimages.com/phot...
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
Upcoming SlideShare
Loading in …5
×

Test Driven Development: More Development Than Ever

723 views

Published on

TDD has been around since 2002 but today still too many people out there have little understanding of what it actually is. This slide deck tries to help to understand that TDD is not a method to create tests but a truly genuine way to do programming and that programmers like no other benefit from the technique. Hopefully, this will lead more people to embracing it.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Test Driven Development: More Development Than Ever

  1. 1. More Development Than Ever Test Driven Development
  2. 2. Team Lead at EPAM Agile practitioner (CSM) Trainer Public speaker
  3. 3. Writes perfect code with no bugs Also saves the world during coffee breaks
  4. 4. I’m more like this guy
  5. 5. Billions of years ago… In the stone age of computer science… © Mutatis mutandis
  6. 6. © Computer History Museum
  7. 7. 1994–95: rediscovered by Kent Beck © Improve It
  8. 8. 2014 – 1995 = ?
  9. 9. 2014 – 1999 = 15
  10. 10. 2014 – 2002 = 12
  11. 11. I spend too much time writing tests.
  12. 12. TDD Non-TDD Think Test Code Think Code
  13. 13. Think Test Code Think Code Debug!!!
  14. 14. In reality Think Test Code
  15. 15. TDD vs. debugging only Shorter feedback cycle Reusable test suite Code instead of pen and paper Genuine feeling of completeness Predictability
  16. 16. I spend too much time writing tests. I would have spent this time anyway.
  17. 17. It doesn’t apply exactly to my case.
  18. 18. Legacy code
  19. 19. Front-end
  20. 20. Embedded systems
  21. 21. It doesn’t apply exactly to my case. There’s a fair chance my case is not unique.
  22. 22. I’m new to the technology, I can’t test what I don’t know.
  23. 23. It’s OK to use a debugger It’s OK to go back and forth
  24. 24. Test is a hypothesis you can prove on the spot.
  25. 25. I’m new to the technology, I can’t test what I don’t know. TDD in fact helps me learn.
  26. 26. I have to modify the code too often, my tests become waste.
  27. 27. Think Test Code Refactor
  28. 28. Think Test Code Refactor
  29. 29. I have to modify the code too often, my tests become waste. Code without tests is non-existing to me.
  30. 30. My project is too agile, don’t have time for tests! Well…
  31. 31. Requirements Waterfall Design Implementation Verification Maintenance
  32. 32. Agile Requirements Design Implementation Verification Maintenance Requirements Design Implementation Verification Maintenance Requirements Design Implementation Verification Maintenance
  33. 33. My project is too agile, don’t have time for tests! I use TDD to build in quality into my code.
  34. 34. Driven Test Development
  35. 35. TDD is a way to prepare your workplace and keep it safe © johnjazz
  36. 36. There strategy And there’s execution And execution is hard
  37. 37. http://kirbarn.blogpost.com kiryl.baranoshnik@gmail.com @kirbarn
  38. 38. References Ten Years Of Test Driven Development Why does Kent Beck refer to the "rediscovery" of test-driven development? (Quora) Waterfall model (Wikipedia) JQuery
  39. 39. Books "Extreme Programming Explained: Embrace Change" by Kent Beck, Cynthia Andres "Test Driven Development: By Example" by Kent Beck "Working Effectively with Legacy Code" by Michael C. Feathers "Test Driven Development for Embedded C" by James W. Grenning
  40. 40. Image sources http://commons.wikimedia.org/wiki/File:Kent_Beck_no_Workshop_Mapping_XP.jpg http://www.freeimages.com/photo/903964 http://commons.wikimedia.org/wiki/File:Punched_card.jpg http://www.computerhistory.org/revolution/punched-cards/2/4/40 http://wall.alphacoders.com/big.php?i=62375 http://m.pegitboard.com/pin/b0b39cd746fcdabcc1000acff560051b https://ru.wikipedia.org/wiki/Keep_Calm_and_Carry_On#mediaviewer/File:Keep_Calm_and_ Carry_On_Poster.svg http://www.belconsole.by/Tematicheskie_razdely/strategii/starcraft_ii_heart_of_the_swarm/ starcraft_ii_heart_of_the_swarm_dopolnenie_pc_jewel_/

×