Datum | 18.09.2024
Die GUI automatisiert testen – eine Erfolgsgeschichte
Die Automatisierung von GUI-Tests ist ein wesentlicher Bestandteil der modernen Softwareentwicklung. Sie ermöglicht es, Anwendungen effizient auf Fehler zu überprüfen und die Qualität nachhaltig zu sichern. Agile Softwareentwicklung sowie Continuous Delivery und Continuous Integration sind ohne automatisierte Tests kaum vorstellbar.
Bei einem unserer Kunden erhielten wir den Auftrag, Teile einer Benutzeroberfläche automatisiert zu testen. Hierfür setzten wir das Tool „Robot Framework“ ein. Dieses Tool hat eine lebendige Community und fällt unter die Apache 2.0 Lizenz – es ist also Freeware. Doch das Tool allein ist nicht das Geheimnis des Erfolgs, es gibt viele vergleichbare Tools. Entscheidend sind das richtige Vorgehen und ein gut durchdachter Plan, wie das Tool effektiv eingesetzt werden kann.
Unser Motto: Start small – think big
Zunächst erstellten wir einen Prototypen, um die Leistungsfähigkeit des Testtools zu demonstrieren. 1200 Testfälle wurden in etwa 7 Minuten durchgeführt und revisionsgerecht protokolliert.
Zu Beginn nahmen wir uns dabei die einfachen Testfälle vor: das Programm starten, anmelden sowie alle Masken öffnen und schließen. Diese Art von Testfällen ist kostengünstig zu entwickeln und liefert wichtige Informationen über mögliche Runtime-Errors. Gleichzeitig machten wir uns mit der Software vertraut und gaben Hinweise, worauf bei der Entwicklung stärker geachtet werden sollte – die eindeutige Identifizierung aller GUI-Elemente gehörte zum Beispiel dazu.
Schrittweise gingen wir weiter vor: Die nächsten Teststufen umfassten
- das Füllen aller Felder, um die Datenbankverbindung zu überprüfen,
- das Ausgeben von Reports und Listen inklusive deren Abgleich sowie
- einfache fachliche Prozesse.
Erst am Ende nahmen wir uns die komplexeren fachlichen Prozesse vor. Diese sind oft aufwendiger in der Entwicklung und auch kritischer in der Testdurchführung, da die Komplexität sich auch beim Testen bemerkbar macht.
Das Ergebnis konnte sich sehen lassen: Bereits frühzeitig in der Entwicklung konnten unerwünschte Seiteneffekte erkannt und Fehler kostengünstig behoben werden. Die Durchführung der Tests kann automatisiert gestartet werden und täglich ablaufen. Die Protokollierung der Testdurchführung wird durch Jira verwaltet.