molily: Test-Driven Development

Beitrag lesen

Hallo,

Zum Beispiel für den Fall, dass der über ein Formular eingegebene Tag eines Monats weiterverarbeitet wird. Was soll passieren, wenn keine Zahl, sondern ein Buchstabe eingegeben worden ist? Was soll passieren, wenn gar nichts eingegeben worden ist? Was soll passieren, wenn eine Zahl größer als 31 eingegeben worden ist oder eine 30 für einen Februar, eine 31 für einen April? Hier gilt: Wirklich _jede_ Eventualität durchspielen.

Wenn man schon soweit ist, sollte man das nicht manuell tun. Das ist zeitraubend und letztlich unmöglich. Das Zauberwort heißt hier »Unit Test« bzw. »Integration Tests«, allgemein Test-Driven Development.

Dabei schreibt man all diese Anforderungen in ein separates Programm – die Spezifikation. Dieses Programm kann man immer wieder ausführen und erweitern, wenn neue Anforderungen implementiert werden müssen.

Viele Frameworks haben eine modulare Architektur, die Aufgaben streng trennt (z.B. durch MVC) und damit aus unabhängig testbaren Modulen besteht. Die Abhängigkeiten können beim Testing durch sogenannte Mocks bzw. Stubs ersetzt werden.

Grüße,
Mathias