Seminararbeit | Testautomatisierung von KeePass mit QF-Test

„Warum zerbrechen meine automatisierten GUI-Tests?“ das war die Seminarfrage eines Studenten. Damit hat er die zentrale Frage für die Testautomatisierung gestellt. Denn der Erfolg dieser, ebenso wie die tägliche Arbeit der QA, steht und fällt mit der Wiedererkennung der Objekte – oder eben deren Scheitern/Zerbrechen der Tests.

Sein Forschungsobjekt war KeePass für Windows in den Versionen 2.0 bis 2.18 (=SUT, System under test). Mit QF-Test Version erstellte er für KeePass2.00 GUI-Tests, die er in den folgenden 17 Versionen abspielte.

Zum Exzerpt der Seminararbeit

Komplette Seminararbeit als PDF

Die unmittelbaren Ergebnisse des KeePass GUI Tests mit QF-Test

Die unmittelbaren Ergebnisse des KeePass GUI Tests mit QF-Test

Wenn Tests fehlschlugen, woran lag das? Er hat drei Hauptgründe (neben Einzelgründen wie Verschwinden einer Komponente) gefunden und von all denen die Kategorie „Triviale Umbenennungen“ als Hauptursache ausgemacht.

Wie repräsentativ ist sein Ergebnis für die Erfahrungen des Support-Teams von QFS?

Dort wurde mir bestätigt, dass – wenn Tests fertig sind und laufen – ebenso triviale Umbenennungen bei der Weiterentwicklung des SUT den Schwerpunkt der Anfragen im Support-Team ausmachen. Heißt, GUI Tests zerbrechen ganz oft, weil sich die Erkennungsmerkmale der Komponente geändert haben.

⇒ Also liebe Entwickler:

Bitte eineindeutige Namen oder IDs setzen und diese nie mehr anfassen.

Wie in der Seminararbeit geschrieben, „Lock Windows“ zu „Lock Window“ zu ändern ist für einen Entwickler und Menschen klar als „identisch“ erkennbar, aber ein Testautomat stolpert darüber.

QF-Test entwickelt seine Konzepte zur Komponentenerkennung stetig weiter und optimiert den Algorithmus, um die erstellten Tests möglich robust gegen Änderungen zu machen. Es bietet verschiedene Möglichkeiten auf die Erkennung der GUI-Komponenten Einfluss zu nehmen um diese so stabil wie nur möglich zu gestalten.

Aktuell wird ein neuer Ansatz entwickelt, der es erlauben wird, den Suchbereich für eine Komponente noch dedizierter einzugrenzen, um so neben einer stabileren Erkennung durch Ausschluss von multiplen möglichen Komponenten die Test noch stabiler und darüber hinaus auch schneller zu machen. Außerdem wird die Wartbarkeit erhöht, da man keine komplexen Komponentenbäume mehr pflegen muss.

Wir verwenden Cookies zur anonymisierten Auswertung Ihres Besuchs auf unserer Webseite durch "Matomo". Dafür benötigen wir Ihr Einverständnis, welches für zwölf Monate gilt.

Cookie-Konfiguration

Funktionale Cookies

Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.

Performance- und Statistik-Cookies

Wir verwenden Matomo zur Analyse und Optimierung unserer Webseite. Cookies erlauben eine anonyme Erfassung der Informationen und helfen uns, Ihnen einen benutzerfreundlichen Besuch unserer Webseite zu bieten.

Cookie-Details
Bezeichnung Anbieter Gültigkeitsdauer Typ Verwendung
_pk_id Matomo 13 Monate HTTP Enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
_pk_ref Matomo 6 Monate HTTP Wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
_pk_ses Matomo 1 Tag HTTP Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
_pk_testcookie Matomo Session HTTP Zur Prüfung, ob der Browser des Besuchers Cookies unterstützt.
_pk_cvar Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.
_pk_hsr Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.