Das Testen seines geschriebenen Codes ist wichtig. Aber wie kann man das Testen effektiv und effizient in die täglich anfallenden Entwicklungsarbeiten einbinden? Eine Methode die dies ermöglicht ist die Testgetriebene Entwicklung (Test Driven Development – TDD).

Bevor eine Zeile Funktionaler Code geschrieben wird, muss bereits ein Test für diesen Code, vorhanden sein. Der Test wird voll ausformuliert, wird jedoch zu Beginn fehlschlagen, da der zu testende Code noch nicht geschrieben wurde. Steht der Test kann mit dem eigentlichen Code angefangen werden. Es wird mit so wenig wie möglich Code versucht die Anforderungen umzusetzen und den Testfall damit zu bestehen. Anschließend wird versucht den Code weiter zu verbessern und Code Smells zu beseitigen.

Beim ersten Lesen der Beschreibung und betrachten des Schaubildes sieht das nach mehr Arbeit aus. Einfacher und Zeit schonender wäre es doch wie gewohnt den Code einfach runter zu schreiben? Das ist aber nur auf den ersten Blick der Fall und wenn überhaupt auf die initiale Entwicklung bezogen. Durch TDD entsteht von Beginn an vollständig getesteter Code, der qualitativ hochwertiger ist und nur das macht was in den Anforderungen beschrieben wurde. Müssen nun Änderungen am Code vorgenommen werden, können diese über die bereits bestehenden Tests direkt und ohne zusätzlichen Aufwand verifiziert werden. Das spart auf lange Sicht Zeit in der Entwicklung von zusätzlichen Features oder dem finden und beseitigen von Bugs.

Fazit

TDD sollte nicht als testen von Software verstanden werden. Es sollte als Methode bzw. als Werkzeug gesehen werden um in kleinen Schritten soliden Code zu produzieren. Fehler in der Entwicklung können dadurch vermieden bzw. früh erkannt werden.

Es einfach mal versuchen wird auf jeden Fall nicht schaden, also viel Spaß dabei.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.