test driven development

13
TestDrivenDevelopment.php Dominik Jungowski, inovex GmbH Jakob Ketterl, Süddeutsche Zeitung Digitale Medien GmbH

Upload: inovex-gmbh

Post on 06-Jul-2015

94 views

Category:

Software


0 download

DESCRIPTION

Unit Testing hat bereits einen weiten Weg hinter sich und so ist es zu unserem Glück heutzutage recht einfach seine Testumgebung aufzusetzen. Dieser Workshop führt Sie in die Grundlagen von Unit Tests ein und zeigt Ihnen außerdem wie man Tests vor dem Code schreibt. Am Ende des Tages werden Sie eine Menge Unit Tests in PHPUnit sowie Ihre ersten Mock Objekte geschrieben haben. Außerdem werden Sie erfahren haben, wie es sich anfühlt, zuerst die Tests und dann den Code geschrieben zu haben.

TRANSCRIPT

Page 1: Test Driven Development

TestDrivenDevelopment.phpDominik Jungowski, inovex GmbH

Jakob Ketterl, Süddeutsche Zeitung Digitale Medien GmbH

Page 2: Test Driven Development

§1You may not write production code until you have written a failing unit

test.

Quelle: Professionalism and Test-Driven Development, Robert C. Martin

Page 3: Test Driven Development

§2You may not write more of a unit test

than is sufficient to fail, and not compiling is failing.

Quelle: Professionalism and Test-Driven Development, Robert C. Martin

Page 4: Test Driven Development

§3You may not write more production code than is sufficient to pass the

currently failing test.

Quelle: Professionalism and Test-Driven Development, Robert C. Martin

Page 5: Test Driven Development

$3.61/LOC

Technical Debt

Quelle: http://www.castsoftware.com/research-labs/technical-debt-estimation

Page 6: Test Driven Development

Qualität

Page 7: Test Driven Development

Freude am!Refactoring

© Wikimedia

Page 8: Test Driven Development

Tests = Doku

Page 9: Test Driven Development

Red

GreenRefactor

The TDD Cycle

Page 10: Test Driven Development

Bowling Game Coding KataRegeln!

Punktzahl Startwert: 0

Ein Wurf erhöht die Punktzahl um die Anzahl der umgefallenen Pins

Ein Haus besteht aus maximal 2 Würfen

In einem Haus können maximal 10 Pins umfallen

Bei einem Spare zählt der nächste Wurf als Bonus zum aktuellen Haus

Bei einem Strike zählen die nächsten beiden Würfe als Bonus zum aktuellen Haus

Page 11: Test Driven Development

Bowling Game Coding Kata

http://content.codersdojo.org/ code-kata-catalogue/bowling-game/

© Pixabay / OpenClips

Page 12: Test Driven Development

Mocking

Lvl 90 Testing

BDD Continuous Integration

Contract

TestsIntegrationstests

1st

Page 13: Test Driven Development

kthxbye!

https://github.com/djungowski/dwx-tdd