Vermeidbare Fehler in der Testautomatisierung

Testautomatisierung kann Ressourcen sparen, wenn keine Fehler gemacht werden. Worauf Unternehmen achten sollten, erklärt Marco Nowak von innobis.

Falsch gewählte zu automatisierende Testfälle

Die Auswahl der Testfälle, die zu automatisieren sind, ist einer der wichtigsten Aspekte bei der Umsetzung der Testautomatisierung. So ist es nicht hilfreich, Testautomatisierungsskripte für Oberflächen anzufertigen, die einem ständigen Wandel unterliegen. Dies würde nämlich dazu führen, dass die Testautomatisierung permanent angepasst werden müsste und dadurch der Aufwand höher wäre als das manuelle Testen. Das Ziel sollte sein, sich auf wiederkehrende gleiche Testfälle zu konzentrieren – sogenannte Regressionstests.

Darüber hinaus ist es zu Beginn der Einführung einer Testautomatisierung förderlich, wenn sich die Softwaretester auf einen kleinen Teil von Testfällen konzentrieren, mit denen sie einen Prototyp schaffen. Dadurch können sie die weitere Vorgehensweise besser planen und zu einem späteren Zeitpunkt gegebenenfalls auch zusätzliche Personen ins Thema holen.

Kein strukturiertes Vorgehen

Wie in vielen Bereichen der heutigen IT ist es auch für die erfolgreiche Einführung der Testautomatisierung wichtig, das Vorgehen detailliert zu strukturieren. In unserem Fall heißt das: Es ist nicht zielführend, die Testautomatisierungsskripte in einem Stück herunterzuschreiben. Vielmehr hat es sich bewährt, eine Funktionsbibliothek zu etablieren. Dabei werden sich wiederholende Bausteine in einer Funktion hinterlegt und im eigentlichen Testskript nur die Funktion aufgerufen: Dies kann zum Beispiel bei Anmeldedaten der Fall sein oder bei der Eingabe von personenbezogenen Daten.

Zu einem strukturierten Vorgehen gehört außerdem die vorausschauende Planung eines ausführlichen Reportings. So ist es bereits bei der Erstellung von Skripten sinnvoll, definierte Prüfungen oder Screenshots für ein Reporting festzuhalten, da ansonsten Mehraufwand bei einer späteren Umsetzung entsteht.

Fehlendes Konzept für die Testdaten

Die Softwaretester sollten sich rechtzeitig Gedanken über die Verwendung der Testdaten zu machen. Es ist wichtig darauf zu achten, keine Testdaten wie beispielsweise Vor- und Nachname direkt in den Skriptcode zu schreiben. Um im Test flexibel zu bleiben, ist es notwendig, die Testdaten von außen mitzugeben, etwa über eine Exceltabelle oder eine angebundene Datenbank. Dafür muss das Testskript so geschrieben werden, dass es in der Lage ist, die Daten auch von außen aufzunehmen.

Zu einem guten Konzept gehört weiterhin die Planung der Ausgabe von Testdaten. Ist ein Testskript durchgelaufen und hat auf dem zu testenden System etwas erzeugt, wie beispielsweise eine neue Vertragsnummer, ist es wichtig, die Ausgabe und Weiterverarbeitung der Werte zu definieren, um im Anschluss mit diesen weiterarbeiten zu können.

Vernachlässigung automatisierter Testfälle

Es kommt immer wieder vor, dass ein automatisierter Testfall nach längerer Zeit einer nochmaligen Ausführung bedarf, diese aber nicht mehr funktionsfähig ist. Kontinuierliche Änderungen an den Testsystemen können ursächlich dafür sein. Um das zu vermeiden, empfiehlt es sich, die automatisierten Testfälle regelmäßig auszuführen – auch wenn der konkrete Testfall in dem Moment gar nicht benötigt wird. Dies kann zum Beispiel voll automatisiert durch eine Batch-Einplanung erfolgen. Dank der Regelmäßigkeit können die Softwaretester sofort auf Veränderung am testenden System reagieren und die Testfälle bleiben stets einsatzbereit.

Falsche Zielvorstellungen und unterschätzte Komplexität

Die Erfahrung zeigt, dass Softwaretester manchmal mit falsche Erwartungen an die Testautomatisierung herangehen. Sie können nicht davon ausgehen, dass alle bisherigen Testfälle auch automatisiert laufen. Grund dafür können technische oder fachliche Restriktionen sein. Eine Quote von 70 bis 80 Prozent an Automatisierungsgrad ist ein sehr gutes Ergebnis. Ein Beispiel aus der Praxis: Bei einer deutschen Förderbank ließen sich bei einem großen Releasewechsel eines SAP-basierten Add-ons von 1.055 Testfällen 600 automatisieren. Die Ausführungsdauer pro automatisiertem Testfall verkürzte sich von 20 auf sechs Minuten. Insgesamt eine immense Zeitersparnis für das Institut.

Weiterhin sind auch die Wartung und Komplexität beim Einsatz der Testautomatisierung nicht zu unterschätzen. IT-Landschaften unterliegen einem stetigen Wandel. Dies hat auch Einfluss auf die Testautomatisierung. Änderungen sind stets zeitnah und zentral nachzuziehen.

Abgesehen davon sollte Zeit und Energie in den Ausbau des Know-hows bei den Softwaretestern fließen, sodass alle beteiligten Personen (Ersteller und Nutzer der Tests) stets auf dem gleichen Stand sind. Es kommt nämlich durchaus vor, dass die Ersteller automatisierter Skripte nicht die gleichen Personen sind, die die Testfälle am Ende auch ausführen und die Ergebnisse prüfen.

Testautomatisierung lohnt sich

Der Einsatz von Testautomatisierung ist in jedem Fall gewinnbringend; der Start will wohlüberlegt geplant, das Vorgehen übersichtlich strukturiert und die Wartung gut organisiert sein. Wenn Softwaretester diese Aspekte berücksichtigen, ist das Potenzial der Testautomatisierung enorm: Testaufwand und Testzeitraum lassen sich erheblich reduzieren, kritische Fehler schneller aufdecken und beheben. Die Qualität der Software steigt – und auch die Zufriedenheit der Tester.

 

Marco Nowak

ist Senior Consultant im Team Consulting & Testing Services bei der innobis AG.