Meetup bei der lise: TDD-Stile unter die Lupe genommen
Das Juli-Treffen der Softwerkskammer Köln durften wir in unseren Räumen hosten. Das Thema: State Verification, Behaviour Verification und Discovery Testing. Die Teilnehmer nahmen aus dem Vortrag von Stefan Scheidt, REWE Digital, einige wichtige Erkenntnisse für ihre Testing-Praxis mit.
Denn Test Driven Development (TDD) ist nicht gleich Test Driven Development. Das zeigte Stefan Scheidt, gewohnt gekonnt, indem er zwei TDD-Ansätze im Live-Coding vorstellte.
Neben dem Classic TTD-Style (auch Detroit School genannt), der vor allem dadurch gekennzeichnet ist, dass das Design durch das Erfüllen der Tests entsteht (“Red-Green-Refactor”), präsentierte Scheidt den London-School-Style. Dieser zeichnet sich dadurch aus, dass man die Tests nicht Bottom-up entwickelt, sondern frühzeitig mit Mocks arbeitet, so dass man auch komplexe Sachverhalte testgetrieben entwickeln kann. Das Vorgehen basiert dabei auf auf der Idee, die im Buch “Growing Object-Oriented Software Guided by Tests” von Steve Freeman und Nat Pryce beschrieben wird.
Im Rahmen der Game-of-Life-Kata konnten alle Softwerker live miterleben, welche Vor- und Nachteile die beiden Ansätze haben und bei einigen TDD-Skeptikern wuchs die Erkenntnis, dass man mit dem richtigen Ansatz durchaus effizient auch in größeren Projekten testgetrieben entwickeln kann.
Zitat eines Teilnehmer: “Hey, man läuft ja gar nicht mehr absichtlich in jede Sackgasse während der Entwicklung!”
Eine Veranstaltung mit vielen Erkenntnissen, einem regen Austausch unter den Teilnehmern und vielen neuen Gesichtern.
Links:
Buch http://www.growing-object-oriented-software.com/
Stefan Scheidt: https://twitter.com/stefanscheidt
Softwerkskammer Köln: https://www.softwerkskammer.org/groups/cologne