Page 1
More Development Than EverTest Driven Development
Page 2
Team Lead at EPAM
Agile practitioner (CSM)
Trainer
Public speaker
Page 4
Writes perfect code with no bugsAlso saves the world during coffee breaks
Page 5
I’m more likethis guy
Page 6
Billions of years ago…In the stone age of computer science…
© Mutatis mutandis
Page 7
© Computer History Museum
Page 8
1994–95:rediscovered byKent Beck
© Improve It
Page 12
I spend too much time writing tests.
Page 13
TDD
Non-TDD
Think Test Code
Think Code
Page 14
Think Test Code
Think Code
Debug!!!
Page 15
In reality
Think Test Code
Page 16
TDD vs. debugging only
Shorter feedback cycle
Reusable test suite
Code instead of pen and paper
Genuine feeling of completeness
Predictability
Page 17
I spend too much time writing tests.
I would have spent this time anyway.
Page 18
It doesn’t apply exactly to my case.
Page 22
It doesn’t apply exactly to my case.
There’s a fair chance my case is not unique.
Page 23
I’m new to the technology,
I can’t test what I don’t know.
Page 24
It’s OK to use a debuggerIt’s OK to go back and forth
Page 25
Test is a hypothesisyou can prove on the spot.
Page 26
I’m new to the technology,
I can’t test what I don’t know.
TDD in fact helps me learn.
Page 27
I have to modify the code too often, my tests become waste.
Page 28
Think Test Code Refactor
Page 29
Think Test Code Refactor
Page 30
I have to modify the code too often, my tests become waste.
Code without tests is non-existing to me.
Page 31
My project is too agile, don’t have time for tests!
Well…
Page 33
WaterfallRequirements
Design
Implementation
Verification
Maintenance
Page 35
Agile
Requirements
Design
Implementation
Verification
Maintenance
Requirements
Design
Implementation
Verification
Maintenance
Requirements
Design
Implementation
Verification
Maintenance
Page 36
My project is too agile, don’t have time for tests!
I use TDD to build in quality into my code.
Page 37
Test Development
Driven
Page 38
TDD is a way toprepare your workplace andkeep it safe
© johnjazz
Page 39
There strategyAnd there’s execution
And execution is hard
Page 41
http://kirbarn.blogpost.com
[email protected]
@kirbarn
Page 42
ReferencesTen Years Of Test Driven Development
Why does Kent Beck refer to the "rediscovery" of test-driven development? (Quora)
Waterfall model (Wikipedia)
JQuery
Page 43
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
Page 44
Image sourceshttp://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_/