c't 1/2020
S. 152
Wissen
Unit-Test
Aufmacherbild
Bild: Albert Hulm

Programmierte Prüfer

Eine Einführung ins automatische Testen mit Python

Warum sollte man Software per Hand testen, wenn Unit-Tests die Arbeit automatisch erledigen? Der Zusatzaufwand zum Programmieren der Tests lohnt sich schon nach wenigen Releases und die Tests helfen, Fehler zu vermeiden und sauber zu strukturieren.

Programmieren wäre einfach, wenn der Code nicht funktionieren müsste. Stattdessen versuchen Programmierer, so gut es geht, ihren Code zu verstehen, damit der in allen Fällen ohne Fehler genau das tut, was die Auftraggeber wünschen. Die Prüfung nach der Auslieferung frisst eine Menge Zeit. Meist wollen die Prüfer auch noch Zeit sparen und übersehen dann Fehler.

Die Infamie manueller Tests offenbaren die weiteren Releases: Falls der Test zeigt, dass der Programmierer etwas ändern muss, wiederholt sich der gesamte Zyklus. Am Ende der zweiten Iteration testen die Prüfer dann dieselben Features noch mal, was mit zunehmender Zahl an Iterationen zu einer ziemlich stupiden Arbeit verkommt. Und immer, wenn ein Mensch am Rechner stupide Arbeiten verrichtet, keimt die Idee, ob man diese denn nicht automatisieren könnte.