Skip to content

Test Driven Development – Unentdecktes Land

Immer wieder höre ich komische Dinge über Test Driven Development von Teilweise schon sehr Erfahren Software Entwickler Kollegen. Ich will auch nicht sagen das Test Driven Development das Allheilmittel ist und jeder dies nutzen sollte. Es ist eine Disziplin WIE Software Entwickelt werden kann. Test Driven Development heißt auch nicht „Ich schreibe Unit-Tests“. Unit-Tests sind ein essentieller Bestandteil von Test Driven Development aber eben nicht die Disziplin. Diese besteht, wie viele sicher schon häufig gehört haben aus der Idee den Test vorher zu schreiben und danach den Code der diesen erfüllt.

Diese Idee erscheint Anfänger zunächst merkwürdig. Das ging mir genauso: „Wie soll ich denn Wissen was ich Testen soll!“.

Und genau das ist ja der Grundgedanke: Ich mache mir vorher Gedanken über die Struktur bzw. das Interface der Software Einheit / Klasse.

Die Oft verbreiteten Mythen über Test Driven Development:

 

1. Test Driven dauert zu lange

Testen muss man seine Implementierung in jedem Fall. Gerade wenn diese noch weiter angepasst wird ist es eigentlich unumgänglich das man Unit Tests für die einzelnen Klassen hat. Diese müssen auch Implementiert werden. Ob dies gleichzeitig zu der Implementierung passiert oder danach ändert nichts am Zeitaufwand.

2. Wenn mich der Kunde fragt was ich gemacht habe, kann ich nicht nur Testcode zeigen.

Der Test wird vor dem Produktiv Code geschrieben. Das geschieht aber pro Klasse und pro Methode. Man Entwickelt den Produktiv Code sofort mit!

3. Wie soll ich vorher wissen was getestet werden soll

Das schreiben des Testcodes ist die Specification der zu Implementierenden Funktionalität auf der maximalen Detailtiefe.

Der Test spezifiziert was die Software tun soll!

Diese Spezifikation muss erfüllt werden und nur diese!

Sich als Entwickler Gedanken über die Spezifikation des Moduls und dem dazugehörigen Interfaces zu machen ist teil des Jobs. Dafür eine entsprechende Beschreibungssprache zu haben macht diesen Teil des Jobs einfacher.

 

Be First to Comment

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich stimme zu.