18
Coding Dojo: TDD as if You Meant It Agile Testing Days 2013 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.

TDD as if You Meant It (2013)

Embed Size (px)

DESCRIPTION

Slides from Coding Dojo at Agile Testing Days 2013.

Citation preview

Page 1: TDD as if You Meant It (2013)

Coding Dojo:TDD as if You Meant It

Agile Testing Days 2013

Peter Kofler, ‘Code Cop’@codecopkofler

www.code-cop.org

Copyright Peter Kofler, licensed under CC-BY.

Page 2: TDD as if You Meant It (2013)

Peter Kofler

• Software Developerfor 14 years

• “fanatic aboutcode quality”

• I help development teams to do it right

• Pair Programming #CodeCopTour

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 3: TDD as if You Meant It (2013)

Expectations?

Page 4: TDD as if You Meant It (2013)

Coding Dojo Mindset

● Safe place outsidework

● We are here to learn● Need to slow down● Focus on doing it right● Collaborative Game

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 5: TDD as if You Meant It (2013)

Dojo Structure

● Introduction 15'● Coding 30'● Interim (Retrospective) 15'● Break 25'● Coding 45'● Retrospective 15'

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 6: TDD as if You Meant It (2013)

TDD Skills

● Driving Development with Tests ● Designing Test Cases● Designing Clean Code● Refactoring Safely

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 7: TDD as if You Meant It (2013)

TDD should be...

● Add a test● See it fail● Add code to make all tests pass● Refactor mercilessly● Repeat

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 8: TDD as if You Meant It (2013)

… but often is

● Think up design● Write some tests that verify the design● Write full implementation● Test, debug, test, debug, test, debug, …● Add TODO to refactor later

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 9: TDD as if You Meant It (2013)

TDD as if You Meant It

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 10: TDD as if You Meant It (2013)

Rules

● Exactly one, simplest failing test ● Least code possible to pass failing test

● Add code only to test methods● When duplication is spotted

● Extract non-test methods (extract method)● New classes only as target for “move method”● Refactor as required

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 11: TDD as if You Meant It (2013)

Assignment

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 12: TDD as if You Meant It (2013)

Tic-Tac-Toe

● http://en.wikipedia.org/wiki/Tic-tac-toe

● Board 3x3

● X plays first, O plays second

● Check if/who is winner

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 13: TDD as if You Meant It (2013)

Don't Focus on Getting it Done.F0cus on Doing

It Perfectly.

Page 14: TDD as if You Meant It (2013)

→Practice

Page 15: TDD as if You Meant It (2013)

Closing Circle

● What did you learn today?

● What surprised you today?

● What will you do differently in the future?

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 16: TDD as if You Meant It (2013)

Please evaluate my presentation using the AgileTD Mobile App at www.touchmyconference.com/ATD2013

I appreciate your feedback.

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 17: TDD as if You Meant It (2013)

Peter Kofler@codecopkofler

www.code-cop.org

Kata by

Keith Braithwaite@keithb_b

http://cumulative-hypotheses.org/2011/08/30/tdd-as-if-you-meant-it/

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Page 18: TDD as if You Meant It (2013)

CC Images● Dojo http://www.flickr.com/photos/49715404@N00/3267627038/● Todos http://www.flickr.com/photos/kylesteeddesign/3724074594/● Signs http://www.flickr.com/photos/rwp-roger/7689114246/● Game http://www.flickr.com/photos/benclinch/476855843/● Wants you http://www.flickr.com/photos/shutter/105497713/

PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY