Zuerst Testen (TDD)
Parallel zur Entwicklung testen
Tests automatisieren
Warum und wann ist das sinnvoll?
- Beim Testen in "kleinen Portionen" sind die meisten Fehler schnell ihrer Ursache zuzuordnen.
- Manuelles Testen ist langweilig - die Aufmerksamkeit lässt schnell nach und Fehler bleiben unbemerkt.
- Manuelles Testen ist langsam im Vergleich zu automatisierten Tests.
- Automatisiertes Testen gibt Gewissheit beim Refactoring.
Und auch bei Elektronik-Hardware ist ein Bauteiletest oft sinnvoll, bevor diese zu komplexeren Einheiten zusammengeschaltet werden.
Bücher und Artikel
-
Eines der besten Bücher zu diesem Thema ist sicher der Klassiker von Kent Beck:
Test Driven Development: By Example, 2002, ISBN 0-321-14653-0 -
Und selbstverständlich darf ein anderer großer TDD-Verfechter nicht fehlen:
ein Link zu Martin Fowlers TDD-Einstiegsseite ist hier ein "Muss"
Darüberhinaus gibt es sicherlich jede Menge guten Lesestoff zu diesem Thema, auf jeder Einstiegsebene. Um so unverständlicher ist es für mich - und das ist tatsächlich passiert, ich habe es nicht erfunden - dass eine Softwareentwicklerin von ihrem Projektleiter quasi gezwungen wurde, wochenlang nur Code zu schreiben ohne auch nur eine einzige Zeile davon testen zu dürfen! Sie können wetten: ich wäre nach zwei oder drei Tagen laut schreiend davongelaufen ... :-)