+ All Categories
Home > Documents > Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven...

Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven...

Date post: 15-Mar-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
32
Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2
Transcript
Page 1: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

Test Driven Developmenttdd.talks.makandra.commakandra GmbH

continued slides from chapter #2

Page 2: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

Page 3: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

Page 4: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

Page 5: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

shopping_cart.feature, line 6

Expected to see "Item was added to cart"

...................................................................

.......................................... .........................

......................

157 scenarios (156 passed, 1 failed)

Page 6: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

�Technical debt

Page 7: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

Page 8: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

„Customers should be able to order without registration or login“

Page 9: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

„Customers should be able to order without registration or login“

Page 10: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

As a project progresses,

it accumulates technical debt

� Code is growing more coupled, but cleaning up is risky

� Error rates are rising

� Regressions:New features are breaking existing features

� Changes become increasingly expensive

Page 11: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

project progression

Fixing bugs, wrestling with old code

Implementing new featuresw

ork

ing

ho

urs

Page 12: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Credits: davenicolette.net

Page 13: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Fixing bugs

New features

pla

nn

ed

pro

ject

lif

esp

an

Credits: davenicolette.net

Page 14: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Fixing bugs

New features

pla

nn

ed

pro

ject

lif

esp

an

Credits: davenicolette.net

Page 15: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Fixing bugs

New features

de

ath

of

the

pro

ject

pla

nn

ed

pro

ject

lif

esp

an

Credits: davenicolette.net

Page 16: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

Credits: davenicolette.net

Page 17: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

original code

cost of next change

C

Credits: davenicolette.net

Page 18: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

original code

cost of next change

C

code after change

cost of next change

C + n

Credits: davenicolette.net

Page 19: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �

original code

cost of next change

C

code after change

cost of next change

C + n

refactored code

cost of next change

C

Credits: davenicolette.net

Page 20: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

Tests enable continuous reduction

of technical debt

� In the presence of tests, code refactoring is easy and riskless

� Technical debt is repaid in small installment over the course of the project

� Problems are mitigated before they become unmaintainable

Page 21: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Fixing bugs

New features

pla

nn

ed

pro

ject

lif

esp

an

Credits: davenicolette.net

Page 22: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

� �project progression

exp

en

ses

Fixing bugs

New features

pla

nn

ed

pro

ject

lif

esp

an

Credits: davenicolette.net

Page 23: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

�Fast releases

Page 24: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

Manual QA sucks

� Manually testing a release is time-consuming

� As the number of features grows, so does the time required to manually test for regressions

� A natural reaction is to release less often(„big bang releases“)

Page 25: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

R 1.0 R 1.2

QAdevelopment QAdevelopment

Page 26: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

Unreleased features are worthless

� Only released features add value to the client's business

� Only released features will generate feedback

� Code ages while requirements keep evolving

Page 27: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

Test-assisted QA enables fast delivery

� Manual QA for new features only

� Minimizes a feature's lead time from commission to release

Page 28: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

QAdevelopment QAdevelopment

R 1.0 R 1.2

Page 29: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

QAdevelopment QAdevelopment

R 1.0 R 1.2

development with automated tests

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11

Page 30: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

this presentation continues with chapter #3 attdd.talks.makandra.com

Page 31: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2

„dummies“ by greg westfall.www.flickr.com/photos/imagesbywestfall/3658162161/

„Day 4 – Paying off debt“ by quaziewww.flickr.com/photos/quazie/578252290/

„where to?“ by limaoscarjulietwww.flickr.com/photos/limaoscarjuliet/822938133/

„20100509 Kinetic Spring 086“ by cygnus921www.flickr.com/photos/cygnus921/4592767178/

„Hamburg Nightlights“ by eriwstwww.flickr.com/photos/eriwst/3483623571/

Illustrations

Page 32: Test Driven Development tdd.talks.makandra.com makandra … · 2017. 1. 27. · Test Driven Development tdd.talks.makandra.com makandra GmbH continued slides from chapter #2


Recommended