Logo QF-Test

Vorüberlegungen zu 
GUI-Testautomatisierung

 

Gratis Testen  Download

Ampel

Damit Sie mit Ihrer
GUI-Testautomatisierung
starten können!

10 Fragen, die Sie sich vor der
Automatisierung Ihrer GUI Tests stellen sollten

1. Machen Tests der graphischen Oberfläche (GUI) überhaupt Sinn?

Wenn die graphische Oberfläche in nächster Zeit stabil bleibt (d.h. keine komplette Änderung des GUI geplant), dann sind GUI Tests zu empfehlen.

Damit wird das System als Ganzes über die graphische Oberfläche getestet und nicht nur das GUI selbst. Das ist ein häufiges Missverständnis bei GUI-Testautomatisierung. Die GUI-Tests werden aus Sicht des Endanwenders an einem "lebenden" System ausgeführt.

Sie können also einen kompletten Workflow abbilden, wie es ein Endanwender die Software wirklich sieht bzw. erlebt.

2. Welche Art von GUI-Tests möchte ich automatisieren?

Funktionale Tests, also Tests die eine Funktion prüfen oder auch nicht-funktionale Bereiche wie Last und Performance der Software. Macht es für Sie Sinn ein Tool für beide Bereiche zu verwenden oder ist es nicht besser für diese getrennten Bereiche zwei Tools zu verwenden?

Automatisieren Sie Tests von Software mit häufigen Änderungen am Quellcode, die Sie regelmäßig überprüfen möchten und die beim manuellen Testen für den Tester ermüdend sind. Tester können sich dann auf spannendere Aufgaben wie die Testarchitektur und das Testdesign fokussieren sowie das manuelle Testen fortgeschrittener Answendungsfälle. Dies kann Zeit und Geld sparen, die Initialkosten für die Testautomatisierung müssen sich aber natürlich erst amortisieren.

3. Ist meine Software überhaupt testbar? 

  • Ist die Software überhaupt schon auf dem Stand, dass automatisiert getestet werden kann?
  • Gibt es eine Möglichkeit Testdaten anzulegen bzw. den Datenstand zu bereinigen?
  • Bei Tests an der graphischen Oberfläche kann es auch wichtig werden, die graphischen Objekte mit Identifikatoren für eine bessere Wiedererkennungsrate zu versehen. Ist dies bereits Teil des Entwicklungsprozesses oder kann dies noch eingepflegt werden?

4. Welche Rahmenbedingung muss ich für automatisierte GUI-Tests schaffen?

Für eine stabile und erfolgreiche Testautomatisierung ergeben sich eine Reihe von Fragen, über die Sie sich im Vorfeld Gedanken machen sollten:

  • Kann ich eine stabile Testumgebung bereitstellen?
  • Sollen die automatisierten Tests auf einen festen Datenbestand oder einen flexiblen Datenbestand laufen?
  • Werden noch weitere Hilfsmittel wie Simulatoren oder Installationsskripte o.ä. benötigt?
  • Soll Ihre Anwendung auch mit mehreren Sprachen getestet werden? Wenn ja, welche neuen Erkenntnisse erhoffen Sie sich über die Funktionalität?

Diese Fragen beeinflussen die Art und Weise der Implementierung der Tests und wie flexibel die Skripte gehalten werden sollen.

5. Wie wähle ich das richtige Tool aus?

Erstellen Sie am besten zunächst eine Liste an Kriterien für die Toolauswahl (Beispiel-Checkliste von QF-Test).

Sie können sicherlich schon aus dem Stegreif mehrere „Must-have“-Kriterien aufzählen: z.B. unterstützte Technologie und Plattform, Integration in den Buildprozess oder stabile Erkennung der graphischen Elemente Ihrer Software.
Auf der anderen Seite gibt es für Sie bestimmt auch „Nice-to-have“-Kriterien, auf die Sie zur Not zu Gunsten eines anderen Aspektes verzichten können. Hinsichtlich dieser Kriterien können Sie die unterschiedlichen Tools testen, bewerten und vergleichen. Natürlich müssen Sie sich dann auch noch für eines entscheiden.

Ein weiterer Punkt ist die Art und Weise, wie die Tests erstellt werden sollten: Möchten Sie Tests codieren, sie per Capture/Replay aufzeichnen, einen Schlüsselwort basierten Ansatz oder einen Ansatz wie Behavior Driven Testing (BDT) verfolgen?

Am aller wichtigsten ist jedoch, dass das Testteam das Tool akzeptiert.

6. Verfügt mein Team über die notwendigen Ressourcen?

Je nachdem wie viele Tests automatisiert werden sollen, sollten Sie sich überlegen, wie viele Tester, Testautomatisierer bzw. Entwickler Sie mit welchem Erfahrungsstand für Ihr Automatisierungsprojekt benötigen.

In jedem Fall ist es sinnvoll das Team auf das bestimmte Tool zu schulen, sei es intern, von einem externen Anbieter oder dem Toolhersteller. Im Fall von QF-Test werden für die Schulung 3 bis 5 Tage Schulung vor Ort oder als Webinar empfohlen.

Besteht die Möglichkeit einer weiteren Betreuung oder eines Supportvertrages um bei Fragen schnell und kompetent Hilfe von erfahrenen Anwendern bzw. dem Softwarehersteller zu bekommen? Wird z.B. eine Starthilfe in Form einer Beratung für die Einführung angeboten?

7. Gibt es Budget für den Toolkauf?

Nachdem es Open Source und kommerzielle Testautomatisierungstools gibt, sollte bei Wahl eines kostenpflichtigen natürlich Budget vorhanden sein.

In beiden Fällen müssen Sie einen gewissen Aufwand spendieren, um die automatisierten Tests zu erstellen.

Vermeiden Sie den Fehler nur aufgrund der Kosten ein weniger passendes Softwarewerkzeug auszuwählen, denn die Folgekosten für den Umzug auf ein anderes Tool können noch viel höher liegen.

8. Habe ich genug Zeit für die Automatisierung der Tests und deren Wartung?

Sie müssen sich im Klaren sein, dass automatisierte Tests zunächst einmal erstellt werden und auch regelmäßig gewartet werden müssen.

Wenn die Tests aufgesetzt sind, verringern sie natürlich die Zeit, die Sie sonst mit manuellem Testen verbracht hätten und Sie haben den Vorteil, dass Sie die Tests regelmäßig und auch öfter als vorher durchführen können und damit schnelleres Feedback über den Zustand Ihrer Software erreichen. Aufgrund des schnelleren Feedbacks können Sie gezielter und früher auf mögliche Fehler reagieren. Das verbessert Ihre Softwarequalität.

9. Wie und wo erhalte ich Hilfe, wenn während der Tests ein Problem auftaucht?

Ziehen Sie ein Tool in Betracht, das direkt von einem Beratungsunternehmen unterstützt wird, können Sie die Beratungsleistung direkt dazu erwerben. Es gibt dabei Berater, die auf unterschiedliche Teilbereiche der Automatisierung oder generell auf Testprojekte spezialisiert sind.

Sie können auch Tools erwerben, die Support und Beratung anbieten.
In jedem Fall ist es sinnvoll im Zweifelsfall ein Beratungs- und Schulungsangebot wahrnehmen zu können, falls man mit der eigenen Software an ungeahnte Grenzen stößt.

10. Kann ich Tools ausprobieren?

Ja, da es eine Vielzahl an Tools gibt, die es für Testautomatisierung gibt, ist auch deren Evaluation möglich.

Meist hinterlassen Sie hierbei Ihre Kontaktdaten und bekommen dann eine Testlizenz zur Verfügung gestellt.

Überzeugen Sie sich einfach selbst von QF-Test: