Testfall-Erosion

Ein kurzer Hinweis auf Martin Fowler’s Blog-Eintrag „Test Cancer“ sei mir hier erlaubt. Er beschreibt das Phänomen, dass man nach einiger Zeit seinen Code einmal wieder sieht und ein guter Teil der Tests auskommentiert sind, oder nicht mehr laufen. Der lesenswerte Eintrag entspricht dem, was auch ich meinen Kunden immer wieder predige: Nur wenn alle Tests zu 100% laufen, sind die Testfälle das Sicherheitsnetz, das man benötigt, um sicher Software zu testen.

In diesem Sinne sind agile Verfahren Hoch-Disziplin-Methoden. Am ehesten erreicht man dieses Ziel, wenn man alle Tests im Buildserver laufen lässt und mehrmals täglich verifziert. Dann kann die Änderung, die zum Brechen des Tests geführt hat, relativ schnell identifziert werden.

Ein Entwickler beschwerte sich neulich bei mir, durch eine Änderung von Kollegen an der Testinfrastruktur habe er sieben Stunden lang die Tests nicht laufen lassen können, das sei die Hölle gewesen und hätte ihn letztlich zwei Überstunden gekostet. Er verlange, dass die Tests in Zukunft lauffähig bleiben. Diese Einstellung ist das beste Mittel gegen Testfall-Erosion, eine der Todsünden agiler Entwicklung.