Einfache Benutzung und effektive Aufzeichnung von Testfällen

UI-Tests mit Q7

Dr. Jonas Helming und Dr. Maximilian Kögel

Nach Lehrbuch wird ein Softwareprodukt auf verschiedenen Ebenen getestet – angefangen bei automatisierten Modul- und Integrationstests bis hin zu System- und Abnahmetests. Während Modul- und Integrationstests die APIs von Teilkomponenten respektive deren Zusammenspiel abdecken, beziehen sich System- und Abnahmetests auf das gesamte System. Damit ist die zu testende Schnittstelle in vielen Fällen die Benutzeroberfläche, in der Anwendungsfälle durchgeführt werden. Q7 ist eine bisher wenig bekannte Alternative zu den bisher meist eingesetzten Testtools im Eclipse-Umfeld.

Je höher die Testebene, desto schwieriger ist meist die Automatisierung der Tests. Einzelne Klassen lassen sich in Unit Tests bei guter Architektur oft sehr komfortabel testen. Auch das Zusammenspiel einzelner Komponenten, beispielsweise eine Clientserverkommunikation, ist auf diese Weise testbar. Leider wird es oft spätestens dann schwierig, wenn das User Interface hinzukommt. Mangels Automatisierung können dadurch Teile der Systemtests und der Abnahmentests nur manuell durchgeführt werden. Das resultiert üblicherweise entweder in hohen Kosten oder einer mangelnden Testabdeckung. In der Praxis wird meist ein fauler Kompromiss aus beidem eingegangen. Da manuelle Tests konstant hohe Kosten pro Durchführung erzeugen, können Regressionstests außerdem nicht in beliebiger Häufigkeit durchgeführt werden. Praktisch wird damit die Schnittstelle, die den direkten Kontakt des Users mit dem System ermöglicht, am wenigsten getestet.

Umgekehrt macht das User Interface für den Endkunden in vielen Anwendungen zumindest gefühlt den größten Mehrwert aus: Was interessiert es einen Sachbearbeiter einer Versicherung, dass eine Datenbank-Query korrekt abgesetzt, berechnet und vom Server zurückgeliefert wird, wenn die Tabelle, die das Ergebnis anzeigt, sich nicht aktualisiert? Aus seiner Sicht ist das Feature wertlos, auch wenn 99 Prozent der Funktionalität korrekt arbeitet.

Abhilfe für die beschriebenen Probleme versprechen UI-Testing-Tools. Diese simulieren einen Test des vollständigen Systems inklusive UI durch einen User. Anwendungsfälle werden automatisiert und können ohne Eingreifen eines echten Benutzers beliebig oft wiederholt und getestet werden.

Wenn es an das UI Testing von Eclipse-Plug-ins oder RCP-Anwendungen geht, fällt der erste Blick meist auf das Open-Source-Projekt Jubula oder die kommerzielle Variante GUIdancer. Q7 ist eine weniger bekannte Alternative zu Jubula. Es verfolgt in vielen Teilbereichen einen anderen Ansatz als der Platzhirsch. Welches Tool die ideale Lösung für ein Projekt ist, kann am Ende nur eine Evaluierung entscheiden.

Geschrieben von
Dr. Jonas Helming und Dr. Maximilian Kögel
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.