Der Unit-Tester
Unit-Tests dienen dazu, den Code auf technischer Ebene zu überprüfen, und bilden damit eine Art Sicherheitsnetz für Änderungen wie Refactorings. Wer schreibt denn nun aber die Unit-Tests?
- Jutta Eckstein
Lange hat sich ja die Idee gehalten, dass ein Entwickler nicht seinen eigenen Code testen kann, da dieser – so die Annahme – ja seinen Code eh nur so (vorsichtig) testen würde, dass sich kein Fehler einstellen würde. Heutzutage ist man davon etwas abgerückt, vor allem wenn der Code auch noch testgetrieben entwickelt wird, da sich hier der Entwickler erst Gedanken über die Verwendung (und über das Design) des Codes macht, bevor er den eigentlichen Code entwickelt. Insofern ist die Testerstellung frei von den Eigenarten der Programmierung. Dazu kommt inzwischen noch die Erkenntnis, dass die Entwickler typischerweise auch gar kein Interesse daran haben, schlechte Tests zu erstellen, da die Unit-Tests (wie erwähnt) als Sicherheitsnetz dienen.
Deswegen ist es ĂĽblich, dass die Entwickler die Unit-Tests zu ihrem eigenen Code erstellen. (Wohlgemerkt ich spreche hier ausschlieĂźlich von den Modultests und nicht von Tests auf anderen Ebenen wie Integrations- oder funktionalen Tests.) Dementsprechend ĂĽberrascht war ich neulich, nachdem der Auftraggeber angemahnt hatte, dass es prozentual zum Code zu wenig Unit-Tests geben wĂĽrde (die Quote lag unter 30Â %), als der Projektleiter dann "konsequenterweise" beschloss, noch einen Unit-Test-Entwickler mit an Bord zu holen. Das heiĂźt, in diesem Projekt gibt es nun offiziell die Rolle des Unit-Testers, der fĂĽr die Klassen und Methoden, die seine Entwicklerkollegen erstellen, Unit-Tests nachzieht.
Die Frage nach der Effizienz und der Verantwortung für die Qualitität des eigenen Codes bleibt dabei jedoch unbeantwortet. ()