Top Banner
1
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Test Driven Development: More Development Than Ever

More Development Than EverTest Driven Development

Page 2: Test Driven Development: More Development Than Ever

Team Lead at EPAM

Agile practitioner (CSM)

Trainer

Public speaker

Page 3: Test Driven Development: More Development Than Ever
Page 4: Test Driven Development: More Development Than Ever

Writes perfect code with no bugsAlso saves the world during coffee breaks

Page 5: Test Driven Development: More Development Than Ever

I’m more likethis guy

Page 6: Test Driven Development: More Development Than Ever

Billions of years ago…In the stone age of computer science…

© Mutatis mutandis

Page 7: Test Driven Development: More Development Than Ever

© Computer History Museum

Page 8: Test Driven Development: More Development Than Ever

1994–95:rediscovered byKent Beck

© Improve It

Page 9: Test Driven Development: More Development Than Ever

2014 – 1995 = ?

Page 10: Test Driven Development: More Development Than Ever

2014 – 1999 = 15

Page 11: Test Driven Development: More Development Than Ever

2014 – 2002 = 12

Page 12: Test Driven Development: More Development Than Ever

I spend too much time writing tests.

Page 13: Test Driven Development: More Development Than Ever

TDD

Non-TDD

Think Test Code

Think Code

Page 14: Test Driven Development: More Development Than Ever

Think Test Code

Think Code

Debug!!!

Page 15: Test Driven Development: More Development Than Ever

In reality

Think Test Code

Page 16: Test Driven Development: More Development Than Ever

TDD vs. debugging only

Shorter feedback cycle

Reusable test suite

Code instead of pen and paper

Genuine feeling of completeness

Predictability

Page 17: Test Driven Development: More Development Than Ever

I spend too much time writing tests.

I would have spent this time anyway.

Page 18: Test Driven Development: More Development Than Ever

It doesn’t apply exactly to my case.

Page 19: Test Driven Development: More Development Than Ever

Legacy code

Page 20: Test Driven Development: More Development Than Ever

Front-end

Page 21: Test Driven Development: More Development Than Ever

Embedded systems

Page 22: Test Driven Development: More Development Than Ever

It doesn’t apply exactly to my case.

There’s a fair chance my case is not unique.

Page 23: Test Driven Development: More Development Than Ever

I’m new to the technology,

I can’t test what I don’t know.

Page 24: Test Driven Development: More Development Than Ever

It’s OK to use a debuggerIt’s OK to go back and forth

Page 25: Test Driven Development: More Development Than Ever

Test is a hypothesisyou can prove on the spot.

Page 26: Test Driven Development: More Development Than Ever

I’m new to the technology,

I can’t test what I don’t know.

TDD in fact helps me learn.

Page 27: Test Driven Development: More Development Than Ever

I have to modify the code too often, my tests become waste.

Page 28: Test Driven Development: More Development Than Ever

Think Test Code Refactor

Page 29: Test Driven Development: More Development Than Ever

Think Test Code Refactor

Page 30: Test Driven Development: More Development Than Ever

I have to modify the code too often, my tests become waste.

Code without tests is non-existing to me.

Page 31: Test Driven Development: More Development Than Ever

My project is too agile, don’t have time for tests!

Well…

Page 32: Test Driven Development: More Development Than Ever
Page 33: Test Driven Development: More Development Than Ever

WaterfallRequirements

Design

Implementation

Verification

Maintenance

Page 34: Test Driven Development: More Development Than Ever
Page 35: Test Driven Development: More Development Than Ever

Agile

Requirements

Design

Implementation

Verification

Maintenance

Requirements

Design

Implementation

Verification

Maintenance

Requirements

Design

Implementation

Verification

Maintenance

Page 36: Test Driven Development: More Development Than Ever

My project is too agile, don’t have time for tests!

I use TDD to build in quality into my code.

Page 37: Test Driven Development: More Development Than Ever

Test Development

Driven

Page 38: Test Driven Development: More Development Than Ever

TDD is a way toprepare your workplace andkeep it safe

© johnjazz

Page 39: Test Driven Development: More Development Than Ever

There strategyAnd there’s execution

And execution is hard

Page 40: Test Driven Development: More Development Than Ever
Page 41: Test Driven Development: More Development Than Ever

http://kirbarn.blogpost.com

[email protected]

@kirbarn

Page 42: Test Driven Development: More Development Than Ever

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: Test Driven Development: More Development Than Ever

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: Test Driven Development: More Development Than Ever

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_/