© saicle/Shutterstock.com
Wie automatisierte Tests helfen, die Testqualität zu steigern

Lieber tief als breit


Automatisierte Tests sind ein wichtiges Werkzeug für Webdeveloper und eine zentrale Säule in der Softwarequalität. Ihre Einführung kann allerdings schnell scheitern, was dann einen gewaltigen Rückschlag im Kampf gegen Legacy-Code und unprofessionelle Entwicklung bedeutet. Dabei sollte allen Beteiligten eigentlich völlig klar sein: Was über Jahre „kaputtprogrammiert“ wird, lässt sich nicht in wenigen Wochen geradeziehen; viel mehr ist hier Geduld gefragt. Wie Sie zuverlässig Testen können, erfahren Sie in diesem Artikel.

Wer automatisierte Tests in einer Applikation einsetzen möchte, der hat klare Erwartungen an diese aufwendige Investition: Alles soll schneller, besser und dadurch günstiger werden. Zudem soll die Softwarequalität kontinuierlich gesteigert werden, damit die Kundenzufriedenheit steigt und wieder mehr investiert wird. Insgesamt, so die berechtige Hoffnung, werden somit die Entwicklungskosten sinken, und der gute Ruf sorgt dann dafür, dass Arbeitgebern wieder mehr Initiativbewerbungen der begehrten qualifizierten Webdeveloper ins Haus flattern.

Dafür muss einiges getan werden: Personal erstellt Tests, Personal baut Build Pipelines – hierfür muss oftmals eine neue Infrastruktur geschaffen werden. Auch gilt es, für das erste Set-up zunächst noch einige unberechenbare Faktoren aus dem Weg zu räumen. Und bis es schließlich tatsächlich wieder mehr Features ohne Bugs geben kann, muss sich das Ganze erst einmal bewähren. Nur so ist sichergestellt, dass Bugs mit neuen Tests zuverlässig abgedeckt werden können.

Die Mär von der grünen Ampel

Build-Prozesse zeigen ihren aktuellen Status in Ampelfarben an. Gelb bedeutet, dass der Build läuft, grün, dass er erfolgreich war, und rot, dass es einen Fehler gegeben hat. Idealerweise wird der jeweilige Status direkt den Entwicklern angezeigt, damit allen ein aktuelles Stimmungsbild über- bzw. vermittelt wird. Das Problem bislang: Leider ist „grün“ nicht wirklich aussagekräftig, da schlechte Test nun einmal keine Bugs finden – weder alte noch neue. Dennoch glaubt man gerne daran, und Entwickler freuen sich, Projektmanager schwärmen beim Kunden, und den verantwortlichen Programmierern wird auf die Schultern geklopft. Das alles oftmals viel zu voreilig und in dem „blinden“ Vertrauen darauf, dass die Tests schon alles übernehmen und zuverlässig sind.

Doch in der Realität sieht es nicht selten anders aus; und scheitert die erfolgreiche Einführung, so steht man wieder am Anfang mit all seinen Problemen. Schlimmstenfalls ist das Vertrauen dann so nachhaltig geschädigt, dass man sich nur schwer wieder davon erholt. Wenn überhaupt. Genau dann können Hoffnung und Motivation auf einen Tiefpunkt sinken, und das darf nicht passieren.

Ohne Sicherheit kein Vertrauen

In der Testphase für automatisierte Tests werden diese regelmäßig durchgeführt – also immer, wenn ein Entwickler seinen aktuellen Stand in das Remote Repository pusht. Hier laufen die Tests dann automatisch durch und melden den Entwicklern etwaige Fehlschläge. Meist werden sie wiederholt ausgeführt. Doch selbst, wenn der Status irgendwann grün ist, heißt das lediglich, dass man zumindest kein allzu großes technisches Problem hat. Dafür aber immer noch ein großes Vertrauensproblem, da darf man sich nichts vormachen.

Kurzum, automatisierte Tests und Softwarequalität haben keinen besonders hohen Stellenwert und nur entsprechend wenige Befürworter in den eigenen Reihen. Zumal auch Entwickler selbst Tests immer wieder aus den verschiedensten Gründen ablehnen – und unzuverlässige Tests bieten dann nur noch mehr Angriffsfläche. So wird sich kein Erfolg einstellen. Die Überzeugung für den neuen Weg schwindet zusehends.

Es gilt, aktuelle Bugs aufzuspüren

Ungetestete Softwareprojekte wimmeln höchstwahrscheinlich nur so vor noch nicht gefundenen Bugs – plus aktuellen Bugs, die in den üblichen Tickets abgebildet werden. Diese werden manuell im Browser getestet. Daher ergibt es durchaus Sinn, mit Acceptance-Tests in genau diesem Browser mit genau diesen User Stories anzufangen. Somit ist schon mal sichergestellt, dass diese Bugs nicht wieder auftauchen. Das Vorgehen hierbei: Man erstellt den Test und behebt den Fehler, sobal...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang