21
@gil_zilberfeld TDD Patterns

TDD patterns

Embed Size (px)

DESCRIPTION

Patterns in coding, developing and leading TDD.

Citation preview

Page 1: TDD patterns

@gil_zilberfeld

TDD Patterns

Page 2: TDD patterns

@gil_zilberfeld

Hello!

I AM GIL ZILBERFELD

www.gilzilberfeld.comwww.everydayunittesting.com

www.fastee.im

@gil_zilberfeld

Page 3: TDD patterns

@gil_zilberfeld

Patterns? In TDD?

Share, care and avoid those potholes

Page 4: TDD patterns

@gil_zilberfeld

The mental model

Page 5: TDD patterns

@gil_zilberfeld

Getting it!

Waiting for the value

Test-first != Test-Drive

Page 6: TDD patterns

@gil_zilberfeld

Stupid is as stupid does

Simplest thing that works

Stupidest thing that works

Page 7: TDD patterns

@gil_zilberfeld

Social patterns

Page 8: TDD patterns

@gil_zilberfeld

Togetherness

Alone

Driver-Navigator

Ping-Pong

Domain-Design

Page 9: TDD patterns

@gil_zilberfeld

Making decisions

Page 10: TDD patterns

@gil_zilberfeld

Versus

Greenfield vs brownfield

Feature vs bug fix

Page 11: TDD patterns

@gil_zilberfeld

From problem to solution

Starting from High-level design

ATDD as guidance

Page 12: TDD patterns

@gil_zilberfeld

Coming up with test cases

Identifying examples up front

Jump around

Incremental test-by-test

Copy and mutate

Page 13: TDD patterns

@gil_zilberfeld

Where do I stop?

Optimist vs pessimist

Best code ever

Running out of ideas

Page 14: TDD patterns

@gil_zilberfeld

Bangin’ that keyboard

Page 15: TDD patterns

@gil_zilberfeld

A rose by any other name

Convention-based

Just the specs

BDD style

Page 16: TDD patterns

@gil_zilberfeld

Two roads diverged in a wood

Easy path first

Happy path first

Page 17: TDD patterns

@gil_zilberfeld

Filling in the gaps

Test the whole functionality

Test just new functionality

Fill in the gaps without tests

Page 18: TDD patterns

@gil_zilberfeld

Algorithms

Examples

Build the framework

Hack and slash

Child tests

Page 19: TDD patterns

@gil_zilberfeld

In case of emergency

Test breaks many others

Retract and refactor

Page 20: TDD patterns

@gil_zilberfeld

Patterns are a communication tool

Once identified we can decide what to do about them

Page 21: TDD patterns

@gil_zilberfeld

Thanks!

ANY QUESTIONS?

You can find me at:

@gil_zilberfeld

http://www.GilZilberfeld.com

http://www.EverydayUnitTesting.com

http://www.fastee.im