Test Driven Development (TDD) – Was steckt wirklich dahinter?


Mehr Test, mehr Produktiv, von vorn – Unser Rhythmus

Ihr ahnt vermutlich schon wie der nächste Test aussieht:

Natürlich schreiben wir hier jetzt keinen zweiten Test in einer neuen Methode. Das wäre tatsächlich übertrieben. Wir erweitern einfach unseren ersten Test.

Um den Test in einen Erfolg zu verwandeln müssen wir nur die entsprechende Methode anlegen.

Die ersten Anzeichen von „echtem“ Code

Unser Test wächst weiter:

Jetzt nicht hektisch werden und Regel 3 beachten!

Nur nicht anfangen zu denken

Ab diesem Punkt verändern wir nicht mehr unsere bereits erstellten Testbedingungen, diese müssen schließlich weiterhin erfüllt werden. Es kommt also nur die nächste Bedingung hinzu.

Lösung:


Was bringt mir das alles?

Die Schritte bisher waren derart trivial, dass ihr euch zurecht fragt, warum nicht einfach hier einsteigen oder warum Code erzeugen, der ganz offensichtlich nicht die Aufgabe (Primfaktorzerlegung) löst?

Seht es so: Obige Vorgehensweise soll euch lediglich in den Rhythmus bringen. Kurzer Test -> etwas Produktiv-Code -> alle Tests sind grün -> freuen -> von vorn.

Vorteile dieser Vorgehensweise

  • Ihr habt jederzeit funktionsfähigen Code. Das letzte Mal, dass alles funktioniert hat, war vor wenigen Sekunden. Wenn euch jetzt jemand unterbricht und ihr ganz dringend was anderes machen müsst, dann ist das kein Problem. Es wird euch leicht fallen später hier weiter zu machen.
  • Ihr zerlegt völlig automatisch das Problem in extrem kleine und damit leicht verständliche Teilschritte.
  • Ihr habt eine perfekte Dokumentation. Die Tests erklären alles.
  • Die Code-Coverage ist automatisch 100 %
  • Ihr könnt jederzeit einen Refactor durchführen, die Tests geben euch Rückendeckung.
  • Ihr verbringt keine Zeit mehr mit debugging und händischem testen.
  • Ihr habt völlig automatisch keine harten Kopplungen zu anderen Komponenten eures Codes.

Weiter mit dem nächsten Test