Vergleich der Entwicklungs- und Wartungskosten unterschiedlicher Capture & Replay-Tools beim Testen grafischer Benutzeroberflächen

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.