SlideShare ist ein Scribd-Unternehmen logo
TestDrivenDevelopment.php
Dominik Jungowski, inovex GmbH
Jakob Ketterl, Süddeutsche Zeitung Digitale Medien GmbH
You may not write production code
until you have written a failing unit
test.
Quelle: Professionalism and Test-Driven Development, Robert C. Martin
You 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
You may not write more production
code than is sufficient to pass the
currently failing test.
Quelle: Professionalism and Test-Driven Development, Robert C. Martin
$3.61/LOC
Technical Debt
Quelle: http://www.castsoftware.com/research-labs/technical-debt-estimation
Qualität
Freude am!
Refactoring
© Wikimedia
Tests = Doku
Red
GreenRefactor
Bowling Game Coding Kata
Regeln!
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
…
Bowling Game Coding Kata
http://content.codersdojo.org/
code-kata-catalogue/bowling-game/
© Pixabay / OpenClips
Mocking
Lvl 90 Testing
BDD ContinuousIntegration
Contract
Tests
Integrationstests
1st
kthxbye!
https://github.com/djungowski/dwx-tdd

Weitere ähnliche Inhalte

Andere mochten auch

技术中心第一次培训
技术中心第一次培训技术中心第一次培训
技术中心第一次培训jianfeng
 
Aeron Systems Presentation
Aeron Systems PresentationAeron Systems Presentation
Aeron Systems Presentation
aerobuddy
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
Dominik Jungowski
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at exciteyuki777
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
Dominik Jungowski
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
Dominik Jungowski
 
Inertial Navigation System
Inertial Navigation SystemInertial Navigation System
Inertial Navigation System
aerobuddy
 

Andere mochten auch (7)

技术中心第一次培训
技术中心第一次培训技术中心第一次培训
技术中心第一次培训
 
Aeron Systems Presentation
Aeron Systems PresentationAeron Systems Presentation
Aeron Systems Presentation
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at excite
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
 
Inertial Navigation System
Inertial Navigation SystemInertial Navigation System
Inertial Navigation System
 

Mehr von Dominik Jungowski

Agil vs. $kunde
Agil vs. $kundeAgil vs. $kunde
Agil vs. $kunde
Dominik Jungowski
 
Definition of almost done
Definition of almost doneDefinition of almost done
Definition of almost done
Dominik Jungowski
 
Definition of almost done
Definition of almost doneDefinition of almost done
Definition of almost done
Dominik Jungowski
 
Definition of almost Done
Definition of almost DoneDefinition of almost Done
Definition of almost Done
Dominik Jungowski
 
Scrum, Kanban oder vielleicht beides?
Scrum, Kanban oder vielleicht beides?Scrum, Kanban oder vielleicht beides?
Scrum, Kanban oder vielleicht beides?
Dominik Jungowski
 
Agile Fortschritte erfolgreich verhindern
Agile Fortschritte erfolgreich verhindernAgile Fortschritte erfolgreich verhindern
Agile Fortschritte erfolgreich verhindern
Dominik Jungowski
 
Kanban in der Softwareentwicklung
Kanban in der SoftwareentwicklungKanban in der Softwareentwicklung
Kanban in der Softwareentwicklung
Dominik Jungowski
 
Agile fortschritte erfolgreich verhindern
Agile fortschritte erfolgreich verhindernAgile fortschritte erfolgreich verhindern
Agile fortschritte erfolgreich verhindern
Dominik Jungowski
 
Von Fischen und Menschen
Von Fischen und MenschenVon Fischen und Menschen
Von Fischen und Menschen
Dominik Jungowski
 
Mythen und fakten über behavior driven development
Mythen und fakten über behavior driven developmentMythen und fakten über behavior driven development
Mythen und fakten über behavior driven development
Dominik Jungowski
 
Stolpersteine agiler Methoden
Stolpersteine agiler MethodenStolpersteine agiler Methoden
Stolpersteine agiler MethodenDominik Jungowski
 
Arbeitsmethoden
ArbeitsmethodenArbeitsmethoden
Arbeitsmethoden
Dominik Jungowski
 
Distributed work with Gearman
Distributed work with GearmanDistributed work with Gearman
Distributed work with Gearman
Dominik Jungowski
 
Ziele setzen und erreichen
Ziele setzen und erreichenZiele setzen und erreichen
Ziele setzen und erreichen
Dominik Jungowski
 
Pecha Kucha
Pecha KuchaPecha Kucha
Pecha Kucha
Dominik Jungowski
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through Scrum
Dominik Jungowski
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through Scrum
Dominik Jungowski
 
Live On Stage
Live On StageLive On Stage
Live On Stage
Dominik Jungowski
 

Mehr von Dominik Jungowski (18)

Agil vs. $kunde
Agil vs. $kundeAgil vs. $kunde
Agil vs. $kunde
 
Definition of almost done
Definition of almost doneDefinition of almost done
Definition of almost done
 
Definition of almost done
Definition of almost doneDefinition of almost done
Definition of almost done
 
Definition of almost Done
Definition of almost DoneDefinition of almost Done
Definition of almost Done
 
Scrum, Kanban oder vielleicht beides?
Scrum, Kanban oder vielleicht beides?Scrum, Kanban oder vielleicht beides?
Scrum, Kanban oder vielleicht beides?
 
Agile Fortschritte erfolgreich verhindern
Agile Fortschritte erfolgreich verhindernAgile Fortschritte erfolgreich verhindern
Agile Fortschritte erfolgreich verhindern
 
Kanban in der Softwareentwicklung
Kanban in der SoftwareentwicklungKanban in der Softwareentwicklung
Kanban in der Softwareentwicklung
 
Agile fortschritte erfolgreich verhindern
Agile fortschritte erfolgreich verhindernAgile fortschritte erfolgreich verhindern
Agile fortschritte erfolgreich verhindern
 
Von Fischen und Menschen
Von Fischen und MenschenVon Fischen und Menschen
Von Fischen und Menschen
 
Mythen und fakten über behavior driven development
Mythen und fakten über behavior driven developmentMythen und fakten über behavior driven development
Mythen und fakten über behavior driven development
 
Stolpersteine agiler Methoden
Stolpersteine agiler MethodenStolpersteine agiler Methoden
Stolpersteine agiler Methoden
 
Arbeitsmethoden
ArbeitsmethodenArbeitsmethoden
Arbeitsmethoden
 
Distributed work with Gearman
Distributed work with GearmanDistributed work with Gearman
Distributed work with Gearman
 
Ziele setzen und erreichen
Ziele setzen und erreichenZiele setzen und erreichen
Ziele setzen und erreichen
 
Pecha Kucha
Pecha KuchaPecha Kucha
Pecha Kucha
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through Scrum
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through Scrum
 
Live On Stage
Live On StageLive On Stage
Live On Stage
 

TestDrivenDevelopment.php