worked on by: Antonia Kresse
Exposé
Ausgangssituation
Grafische Benutzeroberflächen (engl. graphical user interface, (GUI)) sind heutzutage
allgegenwärtig und daher ein wichtiger Bestandteil vieler Softwareprodukte.
Die zunehmende Bedeutung spiegelt sich auch im Quellcode wieder, so dass
sich bis zu 60% des Programmcodes auf die graphische Oberfläche beziehen können. Eine GUI ist das grafische Front-End eines Softwaresystems und oft
der einzige für den Endbenutzer sichtbare Interaktionspunkt zwischen ihm und dem
Programm. Daher ist nicht nur eine Korrektheit des Programms, sondern auch insbesondere
eine fehlerfreie Integration und Funktionalität der dazugehörenden GUI
notwendig. Zu den wichtigen Aspekten beim Testen grafischer Oberflächen gehören
Testabdeckung, Testfallgenerierung, Testorakel und Regressionstests. Im
Rahmen dieser Arbeit erfolgt dabei eine Fokussierung auf die Testfallgenerierung mit
automatisierten Tests unter der Verwendung von Capture & Replay-Tools.
Motivation
Das Testen GUI-basierter Anwendungen (engl. GUI-based applications,(GAPs)) bedarf
eines hohen Arbeits- und Zeitaufwands, da GAPs aus vielen zu testenden Bildern
und GUI-Objekten bestehen. Häufig werden diese Tests manuell oder
automatisiert mit Hilfe von Capture & Replay-Tools durchgeführt, um die Interaktionen
der Endbenutzer zu simulieren. Der Vorteil automatisierter Tests im Vergleich
zu einem manuellen Vorgehen ist deren schnelleres und höher frequentiertes Durchlaufen. Ziel dieser Arbeit ist die qualitative Untersuchung der Funktionsweise
von drei verschiedenen Capture & Replay-Tools im Hinblick auf deren Robustheit
sowie Entwicklungs- und Wartungskosten.
Problem
In wissenschaftlichen Arbeiten zum Testen von GUIs werden Capture & Replay-Tools häufig gebündelt bzw. undifferenziert aufgeführt. Jedes Tool hat jedoch einen eigenen Algorithmus, der in Bezug auf das zu testende System (engl. system under Test, (SUT)) Vor- und Nachteile besitzen kann. Zudem können bei der Entwicklung
von SUTs bereits minimale Änderungen im Quellcode die GUI verändern
und somit bis zu 74% der GUI-Tests unbrauchbar machen. Dabei haben
die durchgeführten Änderungen im Quellcode (und damit an den Elementen
der GUI) unterschiedliche Auswirkungen auf die verschiedenen Tests der Capture &
Replay-Tools, so dass eine differenzierte Betrachtung ebenfalls sinnvoll wäre.
Lösungsidee
Um den Einsatz von Capture & Replay-Tools differenzierter zu betrachten, wird im
Rahmen dieser Arbeit eine qualitative Untersuchung der Funktionsweise der drei
verschiedenen Capture & Replay-Tools QF-Test, TestComplete und Eggplant
auf dem in verschiedenen Versionen vorliegenden SUT TESTONA durchgeführt.
Dazu werden für die Ausgangsversion des SUTs TESTONA 4.1 26 verschiedene
Testfälle detailliert spezifiziert und anschließend durch die Capture & Replay-Tools
implementiert bzw. aufgenommen. Für jeden Test erfolgt dabei die Messung der
Entwicklungszeit und die Notation eventuell entstandener Probleme. Die fertig implementierten
Tests werden nach ihrer Fertigstellung auf der aktualisierten SUTVersion
TESTONA 4.3 ausgeführt und auf ihre Robustheit geprüft. Anschließend
erfolgt die Ursachenanalyse der fehlgeschlagenen Tests sowie deren Reparatur. Die
so reparierten Tests werden im Anschluss mit den fehlerfreien Testfällen erneut auf
der neuesten SUT-Version TESTONA 4.5 ausgeführt, um wiederum Fehlschläge zu
inspizieren und zu reparieren. Die im Rahmen dieses Vorgehens gewonnenen Erkenntnisse
im Hinblick auf die Robustheit sowie Entwicklungs- und Wartungskosten
der verschiedenen Capture & Replay-Tools ermöglichen dann im Ergebnis die angestrebte
differenziertere Betrachtung.