Slide 1

Slide 1 text

types of coding automated tests with lemi orhan ergin, agile software craftsman @ craftbase

Slide 2

Slide 2 text

CODE TEST REFACTOR Test Driven Development TEST FAIL TEST PASS START

Slide 3

Slide 3 text

CODE Refactoring is skipped to be faster Increased duplication in code Long methods We have to clean our mess TEST FAIL TEST PASS Tested Mess Based Development TEST START

Slide 4

Slide 4 text

Refactoring is skipped to be faster Increased duplication in code Long methods We have to clean our mess TEST FAIL TEST PASS Test First Then Write Everything Based Development TEST START CODE CODE CODE CODECODECOD ODE

Slide 5

Slide 5 text

CODE TEST FAIL TEST PASS TEST FAIL Failed test guaranteed Can mask ignorance of domain Dummy-Test First Development TEST update same TEST REFACTOR START

Slide 6

Slide 6 text

CODE START TEST REFACTOR TEST PASS No failing tests Useful for exploring Losing focus on design Mock misuse Too much refactoring required Code First Development

Slide 7

Slide 7 text

CODE START TEST REFACTOR TEST PASS Uncovered bugs Hard to write tests Bored programmers Lower test quality Test Last Development CODE CODE CODECODECODE CODE

Slide 8

Slide 8 text

CODE TEST REFACTOR TEST PASS START TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST FAIL TEST Allows planning for future code Loss of focus Harder to code against Test Everything First Development

Slide 9

Slide 9 text

CODE TEST REFACTOR TEST PASS START TEST FAIL Large, bri!le setup methods Slow tests High level tests People hate testing Huge Setup Based Development SETUP

Slide 10

Slide 10 text

CODE SCENARIO REFACTOR Acceptance Test Driven Development TEST PASS START TEST TEST FAIL SCENARIO FAIL SCENARIO PASS Increased focus Focus on requirements Do also the right thing