Frage-Antwort Runde "Testautomatisierung in agilen Projekten" mit Sergio Lucenti
Wie beeinflussen agile Entwicklungsmethoden Testprozesse im Unternehmen? Wie ändert sich dadurch die Rolle von Tester und Testmanager?
Sergio Lucenti: Gerade in agilen Projekten ist es jetzt so, dass immer weniger dedizierte Tester unterwegs sind und vielmehr Testautomatisierer. Parallel dazu müssen die Tester immer mehr Entwicklungserfahrung reinbringen. Bei agilen Projekten und kürzeren Release-Zyklen geht es vor allem darum, die Anzahl der manuellen Tests zu minimieren.
Bei agilen Projekten und kürzeren Release-Zyklen geht es vor allem darum, die Anzahl der manuellen Tests zu minimieren.
Welche Rolle spielen die Tools zur Testautomatisierung?
Sergio Lucenti: Bei Diskussionen über Tools ist Vorsicht geboten. Die reine Nutzung der Testautomatisierungstools kann zwar die Qualität der Software steigern, noch größere Rolle spielt aber die fachliche Abdeckung von den kompletten Testprozessen. Man sollte also vermeiden, dass in der Qualitätssicherung der Software nur das Automatisieren von Tests eine Rolle spielt, um den Schein zu gewähren, dass die Software abnahmebereit ist und andere Bereiche dabei vernachlässigt werden.
Bedeutet Testautomatisierung Fließbandarbeit, wo individuelles Wissen und Knowhow weniger nachgefragt werden?
Sergio Lucenti: Bei agilen Projekten werden die Tester im Idealfall bereits zum Beginn des Projekts involviert. So können die Entwickler sich schnelles und häufiges Feedback einholen, was die allgemeine Qualität der Software steigert. Hier geht es nicht um die Fließbandarbeit, sondern um gemeinsames Arbeiten zwischen Tester und Entwickler vom Anfang an.
Müssen Testautomatisierer als Tester oder als Entwickler denken?
Sergio Lucenti: Aus meiner Sicht hat es wesentliche Vorteile, wenn ein Tester mit dem entsprechenden Know-How die Testautomatisierung durchführt, weil er anders als der Entwickler denkt. Der Entwickler schreibt Software nach Anforderungen. Der Tester dagegen kann rechts und links schauen und auch genau die Punkte untersuchen, wo es oft Probleme gibt.
Wie sieht es mit der Anbindung der künstlichen Intelligenz in die Testautomatisierung?
Sergio Lucenti: Eine KI kann nur so intelligent sein wie derjenige der sie mit Daten befüllt. Die größte Schwierigkeit momentan ist es, die Fehler der Tools herauszufinden, wenn man eine Software mittels KI durchgetestet hat, aber mit falschen Eingangsdaten. Dies kann zu einer falschen Suggestion der Softwarequalität führen.
Die größte Schwierigkeit momentan ist es, die Fehler der Tools herauszufinden, wenn man zwar eine Software mittels KI durchgetestet hat, aber mit falschen Eingangsdaten.
Was ist mit dem „Test-First“ Ansatz – müssen die Tests nicht vor dem Code geschrieben werden?
Sergio Lucenti: Das kann manchmal zu einem deutlich höheren Aufwand bei Testprozessen führen. Als Beispiel, bei einem API Test muss man so genannte „Mocks“ bauen, welche korrekte Antworte bei einem Test liefern würden. Bei kleineren Projekten ist der Aufwand in der Regel dazu zu hoch, weil in dem Fall auch das Team klein ist und generell weniger Ressourcen zur Verfügung stehen. Ggf. erstellen die Entwickler selbst solche „Mocks“, was sie dann von der eigentlichen Entwicklung ablenkt bzw. weniger Zeit für die Entwicklung übrigbleibt. Dazu kommt, dass die Anforderungen an API im Laufe des Projekts oft geändert werden. Folglich müssen auch die dazugehörigen Tests ständig angepasst werden, was alles sehr aufwendig und kostspielig macht.
Bild: Markus Spiske, Unsplash