title: Entwurf eines Kriterienkatalogs und Evaluierung von State-of-the-Art Open-Source Testautomatisierungswerkzeugen in Bezug auf Integrationstauglichkeit, Funktionalität und Flexibilität in realen, komplexen Testprozessen
Creators: name: Zrelski, Christina
Publisher: name: TU Wien
Year: 2014
Subjects: subject: Softwaretest
subject: GUI-Test
subject: Automatisierung
subject: Java Swing
subject: Qualitätssicherung
subject: Software Testing
subject: GUI-Testing
subject: Automation
subject: Java Swing
subject: Quality Management

description: Die Disziplin des Software-Testens hat in den vergangenen 30 Jahren stetig an Bedeutung gewonnen und ist heute wichtiger Bestandteil jedes Softwareprojekts. Aus Effizienz- und Kostengruenden wird dabei haeufig der Einsatz von Testwerkzeugen zur (Teil-)Automatisierung wiederkehrender und zeitaufwaendiger Taetigkeiten angestrebt. Die Sicherung der Qualitaet grafischer Benutzeroberflaechen ist besonders wichtig, da diese eine zentrale Rolle in der Interaktion zwischen einem Benutzer und einem Softwaresystem einnehmen. Die Erstellung von Tests gestaltet sich auf diesem Gebiet allerdings komplex und Ansaetze zur Automatisierung von Testablaeufen befinden sich oft erst im Anfangsstadium. Fuer das automatisierte Testen der Benutzeroberflaeche javabasierter Desktop-Applikationen fehlen Informationen ueber die Verfuegbarkeit, Praxistauglichkeit und den Reifegrad bestehender Werkzeuge. Diese Arbeit reduziert das angesprochene Wissensdefizit, indem sie sechs am Markt verfuegbare, als Open-Source lizensierte Werkzeuge zum automatisierten Testen von Benutzeroberflaechen javabasierter Rich-Client-Applikationen untersucht und vergleicht. Grundsaezlich gilt: Damit die Praxistauglichkeit bestehender Werkzeuge beurteilt werden kann, muessen diese anhand eines konkreten Fallbeispiels erprobt werden. Im Rahmen dieser Arbeit wurde hierfuer eine bestehende Event-Management-Applikation ausgewaehlt, die aufgrund ihres Umfangs, ihrer Komplexitaet sowie der verwendeten Technologien als repraesentativ anzusehen ist. Neben dem Funktionsumfang der Werkzeuge werden insbesondere auch nicht-funktionale Qualitaetskriterien wie Integrationsfaehigkeit, Robustheit und Wartbarkeit der Testskripts betrachtet. Zu Beginn werden die theoretischen Grundlagen fuer die nachfolgende praktische Untersuchung geschaffen, indem das Konzept der grafischen Benutzeroberflaeche diskutiert und in die Disziplin des Software-Testens eingefuehrt wird. Im Anschluss daran wird im Rahmen einer Analysephase ein auf das bestehende Softwareprojekt abgestimmter Kriterienkatalog entworfen, der alle projekt- spezifischen und allgemeinen Anforderungen an ein Testwerkzeug abbildet. Dieser wird als Basis fuer die Auswahl der sechs naeher zu betrachtenden Testwerkzeuge FEST, Marathon, Abbot, Sikuli, Robot Framework sowie WindowTester Pro herangezogen. Im Hauptteil der Arbeit werden die Ergebnisse der prototypischen Implementierung von jeweils fuenf repraesentativen Testfaellen praesentiert. Dabei wird die Funktionsweise jedes Werkzeugs am Beispiel eines Testskripts erlaeutert, die positiven Aspekte sowie die identifizierten Problemstellen werden aufgezeigt und Loesungsansaetze fuer diese vorgestellt. Generell ist erkennbar, dass keines der Werkzeuge frei von Problemen und somit ohne entsprechende Adaption fuer einen Praxiseinsatz tauglich ist. Die Ergebnisse der in dieser Arbeit durchgefuehrten Untersuchung sind aufgrund des repraesentativen Charakters des Fallbeispiels auch fuer unerfahrene Tester oder kleine Unternehmen mit wenig Budget fuer kommerzielle Werkzeuge von hoher Relevanz und koennen bei aehnlich aufgebauten Projekten als Leitfaden fuer die Auswahl eines geeigneten Werkzeugs dienen.
description: The software testing discipline has gained increasing importance over the past 30 years and is nowadays a vital part in every software project. To enhance efficiency and simultaneously reduce costs effort is put in the automation of recurring manual software testing tasks. The graphical user interface of a system plays a crucial role in establishing interaction between the system-s underlying functions and the user. Despite this fact, testing the graphical user interface is a complex and time-consuming task and automation strategies are still in an initial stage. Only rare information on the availability and maturity level of test automation tools for Java based rich client systems and on their suitability for practical application is available. This thesis overcomes this deficiency in knowledge by investigating six actively developed test automation tools, which are licensed as open source and are suitable for testing the graphical user interface of Java based desktop applications. To perform this investigation, the application of the selected tools within a representative example project is required. Due to its scope, level of complexity as well as usage of state of the art technologies the rich client of an existing event management system is chosen for this task. Object of study is the functional scope of the tools as well as non-functional quality parameters such as integrability, robustness and maintainability of the test scripts. Additionally, their suitability for practical application on the existing software project is analyzed. First, background information on the concept of graphical user interfaces as well as the discipline of software testing is provided. In order to select the best candidates, a criteria catalog containing general and project specific requirements for test automation tools is developed and evaluated. Following this, six automation tools, namely FEST, Marathon, Abbot, Sikuli, Robot Framework and WindowTester Pro, are chosen for further investigation. In the main part of this thesis a feasibility study is conducted in which the functioning of each test automation tool is analyzed by implementing five representative test cases from the existing software project. Furthermore, advantages as well as weaknesses of each tool are discussed and possible improvements are introduced. It is concluded, that none of the tools investigated is ready for practical application without extensive adaption work prior to usage. The results obtained from this feasibility study are due to the representative character of the chosen example project also highly relevant for inexperienced testers or small companies that cannot afford licenses for commercial test automation tools. They can serve as a decision guideline when introducing test automation in similar projects.