testdrivendevelopment.php

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

Upload: dominik-jungowski

Post on 25-Jun-2015

99 views

Category:

Engineering


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: TestDrivenDevelopment.php

TestDrivenDevelopment.phpDominik Jungowski, inovex GmbH

Jakob Ketterl, Süddeutsche Zeitung Digitale Medien GmbH

Page 2: TestDrivenDevelopment.php

§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: TestDrivenDevelopment.php

§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: TestDrivenDevelopment.php

§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: TestDrivenDevelopment.php

$3.61/LOC

Technical Debt

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

Page 6: TestDrivenDevelopment.php

Qualität

Page 7: TestDrivenDevelopment.php

Freude am!Refactoring

© Wikimedia

Page 8: TestDrivenDevelopment.php

Tests = Doku

Page 9: TestDrivenDevelopment.php

Red

GreenRefactor

The TDD Cycle

Page 10: TestDrivenDevelopment.php

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: TestDrivenDevelopment.php

Bowling Game Coding Kata

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

© Pixabay / OpenClips

Page 12: TestDrivenDevelopment.php

Mocking

Lvl 90 Testing

BDD Continuous Integration

Contract

TestsIntegrationstests

1st

Page 13: TestDrivenDevelopment.php

kthxbye!

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