3 Szenarien für eine erfolgreiche Testautomatisierung

Kennen Sie das auch aus Ihren vorangegangenen Projekten: Ihre manuellen Tests benötigen sehr viel Zeit und ihre Tester stöhnten unter der Last der Tests? Wollen Sie es jetzt besser machen? Automatisierung kann hier Abhilfe schaffen. Doch wann lohnt es sich wirklich?

Vorteile von Testautomatisierung sind das Verringern der Menge der manuell auszuführenden Tests, dadurch werden Ressourcen, Zeit und somit Geld eingespart. Außerdem erreicht man eine höhere Qualität durch höhere Testabdeckung.

Doch was bedeutet das in der Praxis? In folgenden Szenarien wird Licht ins Dunkle gebracht, in welchen Use Case eine Testautomatisierung hilfreich ist.

Szenario 1: Test-Driven-Development-Ansatz

Ein klassisches Szenario, in dem sich die Testautomatisierung nicht nur anbietet sondern aufdrängt, ist ein Implementierungsprojekt mit Test Driven Development. Dieser Arbeitsmodus diktiert, dass die Tests bereits feststehen (und geschrieben) sein müssen, bevor mit der eigentlichen Implementierung begonnen wird. Danach wird die Implementierung gestartet und nach jeder Iteration werden die vordefinierten Tests durchgeführt. Es kann hier insbesondere bei komplexen Problemstellungen zu vielen Iterationen kommen. Um die Testaufwände nicht explodieren zu lassen benötigt es ein Automatisierungsframework.

Szenario 2: Regressionstest

Als Regressionstest bezeichnet man Testfälle, die durchgeführt werden müssen, wenn eine Änderung an der Software vorgenommen wurde, um sicher zu stellen, dass die bereits existierenden Funktionen nicht beschädigt wurden. Dies ist insbesondere wichtig, wenn Prozesse verwoben sind und/oder aufeinander aufbauen. Hier ist eine Automatisierung dann sinnvoll, wenn die Grundfunktionalitäten der Software nicht mehr geändert werden, sodass die Regressionstestfälle nicht jedes Mal neu geschrieben werden müssen. Insbesondere vordefinierte fachliche Tests können den Fachbereich deutlich entlasten.

Damit sich die Testautomatisierung auch lohnt, kommt es auch auf die Anzahl der Regressionstestfälle und wie oft diese wiederholt werden müssen. Es lohnt sich hier eine Kosten-Nutzen-Rechnung aufzustellen. Solange jedoch kein Grundriss der Software steht, macht eine Automatisierung keinen Sinn, da der Anpassungsaufwand bei den Testfällen zu hoch ausfällt.

Szenario 3: Aufbau technischer Infrastruktur

Hat man zu Beginn eines Projektes bereits technische Ressourcen zur Verfügung, aber gleichzeitig noch keine Implementierungen geplant (da zum Beispiel die Anforderungen noch nicht bekannt sind) kann es sich lohnen die Ressourcen zu verwenden, um eine technische Infrastruktur zu erstellen. Dazu gehört auch eine Testautomatisierung. Aus unseren eigenen Erfahrungen kann eine einfache Testautomatisierung auf Unit-Testebene schon in einem Monat geschrieben sein und die kommenden Testaufwände erheblich entlasten.

Neben dem Verfügbarkeitsaspekt ist es ebenfalls hilfreich, wenn die Systemstruktur eine klar definierte Eingangs- und Ausgangsschicht aufweist, die von dem Automatisierungsframework angezielt werden kann.

Komplexes System

Ein Fall in dem Testautomatisierung zu einer Zeit- und Ressourcenverschwendung wird, ist bei einem komplexen System mit vielen Datenablagen, die sich von Zeit zu Zeit noch verändern. Somit lassen sich die Eingangs- und Ausgangsschichten nicht klar definieren und das Framework müsste ständig angepasst werden. Dies führt letztendlich zu einem Zeitverlust, da auch das Framework selbst bei Änderungen abgetestet werden muss.

Ist das System nicht von außen zugänglich verbietet sich in den meisten Fällen eine Testautomatisierung, da diese separiert sein sollte, um externe Einflüsse zu vermeiden.

Fazit

Wie Sie sehen ist eine Testautomatisierung in vielen Szenarien empfehlenswert. Sie erhöht nicht nur die Qualität Ihres Produktes, sondern auch die Zufriedenheit Ihrer Tester.

Die Testautomatisierung ist aber kein Allheilmittel, das alle Testprobleme löst. Ebenso passt nicht jedes Testautomatisierungswerkzeug zu jeder Infrastruktur und jedem Projekt. Wir empfehlen bei jedem Projektstart genau zu analysieren und zu definieren, welches der Szenarien bzw. ob ein Mix dieser zutrifft.

Gern unterstützen die Experten von ADWEKO Sie sowohl bei der Entscheidung, ob eine Automatisierung sinnvoll ist und ob Sie vollständig oder teilweise automatisieren sollten, als auch bei der Auswahl eines passenden Testautomatisierungsframeworks und dem Aufsetzen des Testautomatisierungsprojektes.

> Erfahren Sie mehr über unsere Managed Testing Services

Sonja Müller