[Back]


Diploma and Master Theses (authored and supervised):

M. Miheller:
"An Approach for a Re-Usable Android Mobile Software Product Line Test Framework";
Supervisor: T. Grechenig; 194/3, 2018.



English abstract:
Several organizations are engaged in developing software product lines for specific mobile application domains. Initial test cases are often created at the product line level followed by specialized test cases for each product. With every new product variant that is added to the software product line the overall number of test cases and the complexity of the testing process increases. The biggest problem is that testing a software product line is often tedious since both common features as well as feature variations must be tested for each product of the line. Furthermore, if organizations seek to embrace new but similar business domains, they must design the test framework for the new software product line from scratch. These issues can delay the testing process and can lead to time delays, irrelevant test results, and/or higher costs. This thesis proposes a proof-of-concept implementation of a re-usable test framework for Android application software product lines. The thesis investigates answers to research questions such as: which characteristics does the test framework have to satisfy to support testing of software product lines efficiently? What benefits can be achieved by providing re-usable test cases? And which properties does the architecture of the test framework have to make available to enable its re-use for future software product lines? A reverse generalization strategy for the creation of test cases is introduced, which intends to create single test cases at such a generic and re-usable level that one test case can handle all product variants. Consequently, a single test case is enough to cover one use case scenario for all the products of a software product line. The framework provides a set of reusable test cases based on the analysis of common and varying features in a software product line chosen as a representative case study. By supporting the reusability of individual test steps and test cases the time-to-market and cost for new member products and features of the software product line can be reduced and the test process can be accelerated for all products. Additionally, the architectural design of the test framework provided supports maintainability, expandability and reusability for new mobile software product line projects. Finally, the test framework is evaluated using the scenario-based evaluation strategy. The evaluation of the test framework shows that newly added products to the software product line can be easily included in the test framework without any need for major modifications. Thereby, economic efficiency, reduced test effort and fast test coverage of new products is achieved.

German abstract:
Mehrere Unternehmen befassen sich mit der Entwicklung von Softwareproduktlinien für bestimmte mobile Anwendungsgebiete. Viele dieser Organisationen erstellen zuerst Testfälle auf Produktlinienebene, gefolgt von spezialisierten Testfällen für jedes Produkt. Mit jeder neuer Produktvariante innerhalb der Softwareproduktlinie steigt die Anzahl der Testfälle und die Komplexität des Testprozesses. Das Hauptproblem besteht darin, dass das Testen einer Softwareproduktlinie oft monoton ist, da sowohl gemeinsame Anwendungsfälle als auch Variationen für jedes Produkt der Softwareproduktlinie getestet werden müssen. Wenn aber Unternehmen in einem neuen ähnlichen Geschäftsbereich arbeiten wollen, müssen sie das Testframework für die neue Softwareproduktlinie neu entwickeln. Das kann den Testprozess verzögern, nicht relevante Testergebnisse für Anwendungen hervorbringen und zu höheren Entwicklungskosten führen. Diese Arbeit führt eine Proof-of-Concept-Implementierung für ein wiederverwendbares Testframework für Android-Softwareproduktlinien ein. Die Implementierung wird anhand eines repräsentativen Fallbeispieles entwickelt. Dazu wird eine invertierte Generalisierungsstrategie für die Erstellung der Testfälle entwickelt, die beabsichtigt, einzelne Testfälle auf einer generischen und wiederverwendbaren Ebene zu erstellen. Das Ergebnis sind Testfälle, die die Varianten einer Softwareproduktlinie bewältigen können. Folglich reicht ein einziger Testfall aus, um ein Anwendungsszenario zu testen. Das Ziel des Frameworks ist es, eine Reihe von wiederverwendbaren Testfällen bereitzustellen, die auf der Analyse von gemeinsamen und variierenden Merkmalen einer Softwareproduktlinie basieren. Durch die Unterstützung der Wiederverwendbarkeit einzelner Testschritte und Testfälle können sowohl die Produkteinführungszeit, die Entwicklungskosten für neue Produkte und Funktionen der Softwareproduktlinie reduziert als auch der Testprozess für diese Produkte beschleunigt werden. Darüber hinaus wird ein Testframework-Architekturdesign bereitgestellt, das die Wartung, Erweiterung und Wiederverwendbarkeit für neue mobile Softwareproduktlinienprojekte unterstützt. Das Testframework wird anhand einer szenario-basierten Auswertestrategie evaluiert. Die Ergebnisse der Evaluierung zeigen eindeutig auf, dass neu hinzugefügte Produkte der Softwareproduktlinie problemlos in das Testframework integriert werden können, ohne dass größere Änderungen erforderlich sind. Dadurch wird der Aufwand, neue Produkte zu testen verringert, neue Produkte erreichen schneller eine hohe Testabdeckung und letztendlich steigt die Qualität der neu entwickelten Softwarekomponenten.

Created from the Publication Database of the Vienna University of Technology.