6 goldene Regeln zur Testautomatisierung im Testmanagement

Testautomatisierung im Testmanagement

In einem vorhergehenden Artikel (6 goldene Regeln der Testautomatisierung) haben wir Sie bereits ausführlich über das Thema Testautomatisierung informiert.

Im Folgenden möchten wir Ihnen nun die 6 goldenen Regeln der Testautomatisierung aus Testmanagementsicht vorstellen, die Sie als Testmanager - oder Projekt- bzw. Teamleiter im Fokus haben sollten.

1 Neue Rolle - Test Automation Engineer

Wer führt Ihre Testautomatisierung durch bzw. entwickelt diese? Ein Tester, eine Entwicklerin? 

Die Entwicklung der Testscripte ist eine Aufgabe, die zwischen dem Testbereich und der Entwicklung verortet werden kann. Deshalb gibt es hierfür auch eine neue Rolle: Test Automation Engineer.

In dieser Rolle sind sowohl solides Wissen aus dem Testbereich als auch Praxis-Erfahrung aus der Entwicklung vertreten, genau das Wissen und Können, das für Testautomatisierung benötigt wird.

Denn die Aufgaben befinden sich zwischen den Bereichen und erfordern Wissen aus beiden: ein Tester weiß, wie getestet wird, Testfälle geschrieben werden, Tests auszuwerten sind und eine Entwicklerin, wie gute Software programmiert wird. Also werden beide Eigenschaften benötigt, die im Test Automation Engineer versammelt sind.

2 Entscheidung über zu automatisierende Testfälle

Bevor Sie mit der Testautomatisierung beginnen, sollten Sie wissen, was Sie automatisieren wollen (oder können). Den Anfang sollte sinnvollerweise Ihr Satz an Regressionstests bilden. Deshalb sollten Sie diese jetzt erstellen oder prüfen - bevor Sie mit der Testautomatisierung beginnen.

Davon abgesehen gibt es mehrere Typen von Testfällen, die sich besonders zur Automatisierung eignen

Testfälle mit Berechnungen (Rabattstaffeln, Versicherungsprämien etc.)

Viele Testfälle, die einen ähnlichen Prozess haben/sich ähneln (z.B. Registrierungsformular: PLZ für Deutschland 5stellig, Österreich 4stellig, alle Felder ausgefüllt, Syntax E-Mail-Adresse)

Das heißt, die Testfälle, die besonders komplex oder am wenigstens interessant sind, eignen sich gut für eine Automatisierung, da hierbei die manuellen Tester besonders stark entlastet werden.

3 Auswahl des passenden Testautomatisierung Tools

Das Tool, das Sie nutzen, sollten Sie sehr sorgfältig aussuchen. Es muss in Ihre Infrastruktur passen, Ihre Prozesse widerspiegeln und auch Ihre bestehende Software und Betriebssystem unterstützen. 

Außerdem sind für die Nutzung der verschiedenen Werkzeuge Programmierkenntnisse erforderlich, somit sollten Sie darauf achten, dass diese bei Ihnen im Unternehmen oder Team vorhanden sind oder sich darüber Gedanken machen, welches Wissen Sie auch für die Zukunft am sinnvollsten aufbauen. Wenn Sie Ihr Produkt inhouse entwickeln, haben Sie sicherlich auch Kenntnisse einer Programmiersprache im Unternehmen. In diesem Fall sollten Sie - wenn möglich - diese wählen, dann kann Ihre Applikations-Entwicklung die Testautomatisierung bei Fragen unterstützen; z.B. Wenn Ihre Softwareentwicklungsteam eine Microsoft Technologie Stack (ASP .NET, C#, Microsoft Team Foundation Server) verwendet, sollte das Testtool bzw. deren Implementierung C# unterstützen, hier kann Microsoft "Coded UI" oder Ranorex verwendet werden. Bei einem Testobjekt mit einer Java Technologie-Stack macht es wenig Sinn, ein Testtool aus der Microsoft-Welt einzusetzen. Hier wäre der Selenium WebDriver effizienter.

4 Was können Sie automatisieren?

Testpyramide zur Testautomatisierung

Auf jeder Teststufe - abgesehen vom Abnahmetest - können Tests automatisiert werden. Andererseits können auch die meisten Testarten automatisiert durchgeführt bzw. unterstützt werden

  • Komponententests
  • Integrationstests
  • Systemtests

Selbstverständlich können auch bei nicht-funktionalen Tests Automatisierung zum Einsatz kommen. Vor allem gilt dies für Last- und Performancetests, aber nicht nur für diese. Sicherheitstests beispielsweise lassen sich oftmals auch gut automatisieren.

5 Testdaten - Testautomatisierung

Die Daten, die in der Automatisierung verwendet werden, sollten nicht statisch in den Skripten abgelegt werden. Dies hat mehrere Gründe, die bereits in einem früheren Artikel beschrieben wurden.

Vor Allem sollten Sie darauf achten, dass die in der Automatisierung genutzten Daten nicht von anderer Seite geändert werden. Jeder Fehlschlag in der Automatisierung hat die gleiche Bedeutung für das System, da nur Werte verglichen werden und kein Verständnis für Inhalte besteht.

Außerdem können extern abgelegte Testdaten schneller und einfacher geprüft bzw. geändert werden.

Von all diesen Punkten abgesehen gehört die Auslagerung von Nutzdaten zu den Regeln guter Programmierung, und zum Thema Programmierung kommen wir jetzt auch.

6 Testautomatisierung ist Softwareentwicklung

An mehreren Stellen wurde bereits auf diesen Punkt hingewiesen. In der Tat gibt es Produkte, die behaupten, Sie kämen ohne Programmierung aus. Allerdings erkaufen Sie sich dies im Allgemeinen mit mangelnder Funktionalität oder Flexibilität. 

Deshalb sollten Sie Testautomatisierung als Softwareentwicklung begreifen und auch als solche behandeln. Letzten Endes bedeutet das auch, dass Testautomatisierung erwachsen wird und nicht mehr als Nebenbei-Tätigkeit gesehen, sondern als eigenständiges, komplexes Aufgabengebiet. 

Das bedeutet insbesondere die bereits beschriebenen Regeln für Konventionen und Standards, eine nachvollziehbare Architektur, Verwaltung des Codes in Versionskontrollsystemen und nicht zuletzt eine gute Dokumentation. Aber der letzte Punkt ist gerade für Test Professionals nichts Neues.

Tags: