Methode und Technologie zur modellbasierten Automatisierung von Tests kontextsensitiver mobiler Anwendungen

Griebe, Tobias

Smartphone und Tablet Computer haben sich zu universalen Kommunikations- und Unterhaltungsplattformen entwickelt, die durch ständige Verfügbarkeit mobilen Internets die Verwendung mobiler, digitaler Dienste und Anwendungen immer mehr zur Normalität werden lassen und in alle Bereiche des Alltags vordringen. Die digitalen Marktplätze zum Vertrieb von Apps, sogenannten App Stores, sind Blockbuster-Märkte, in denen wenige erfolgreiche Produkte in kurzen Zeitintervallen den Großteil des Gesamtgewinns des Marktes erzielen. Durch dynamische, summative Bewertungssysteme in App Stores wird die Qualität einer App zu einem unmittelbaren Wert- und Aufwandstreiber. Die Qualität einer App steht in direktem Zusammenhang mit der Anzahl Downloads und somit mit dem wirtschaftlichen Erfolg. Mobile Geräte zeichnen sich gegenüber Desktop-Computern vorrangig dadurch aus, dass sie durch Sensoren in der Lage sind, Parameter ihrer Umgebung zu messen und diese Daten für Anwendungsinhalte aufzubereiten. Anwendungsfälle für solche Technologien sind beispielsweise ortsbasierte digitale Dienste, die Verwendung von Standortinformationen für Fahrzeug- oder Fußgängernavigation oder die Verwendung von Sensoren zur Interaktion mit einer Anwendung oder zur grafischen Aufbereitung in Augmented Reality-Anwendungen. Anwendungen, die Parameter ihrer Umgebung messen, aufbereiten und die Steuerung des Kontrollflusses einfließen lassen, werden als kontextsensitive Anwendungen bezeichnet. Kontextsensitivität hat prägenden Einfluss auf die fachliche und technische Gestaltung mobiler Anwendungen. Die fachliche Interpretation von Kontextparametern ist ein nicht-triviales Problem und erfordert eine sorgfältige Implementierung und gründliches Testen. Herausforderungen des Testens kontextsensitiver, mobiler Anwendungen sind Erstellung und Durchführung von Tests, die zum einen die zu testende Anwendung adäquat abdecken und zum anderen Testdaten bereitstellen und reproduzierbar in die zu testende Anwendung einspeisen. In dieser Dissertation wird eine Methode und eine Technologie vorgestellt, die wesentliche Aspekte und Tätigkeiten des Testens durch modellbasierte Automatisierung von menschlicher Arbeitskraft entkoppelt. Es wird eine Methode vorgestellt, die Tests für kontextsensitive Anwendungen aus UML-Aktivitätsdiagrammen generiert, die durch Verwendung eines UML-Profils zur Kontext- und Testmodellierung um Testdaten angereichert werden. Ein Automatisierungswerkzeug unterstützt die Testdurchführung durch reproduzierbare Simulation von Kontextparametern. Durch eine prototypische Implementierung der Generierung von funktionalen Akzeptanztests, der Testautomatisierung und Kontextsimulation wurde Machbarkeit des vorgestellten Ansatzes am Beispiel der mobilen Plattform Android praktisch nachgewiesen.

Smartphones and tablet computers have evolved into universal communication and entertainment platforms. With the ubiquitous availability of mobile internet access, digital services and applications have become a commodity that permeates into all aspects of everyday life. The digital marketplaces for mobile app distribution, commonly referred to as App Stores, are blockbuster markets, where few extraordinarily successful apps generate the major share of the market's overall revenue in a short period of time. Through the implementation of dynamic, summative rating mechanisms in App Stores, app quality becomes a key value-driver of app monetarization, as app quality is directly associated with the number of app downloads, and hence with economic success. In contrast to desktop computers, mobile devices are uniquely characterized by a variety of sensors that measure environmental parameters and make them available as input to software. Potential uses of these technologies range from location-based digital services that use the user's location for vehicle or pedestrian navigation to augmented reality applications that use sensor information for user experience enhancement. Apps instrumenting physical and non-physical environmental parameters to control workflows or user interfaces are called context-aware applications. Context-awareness has a formative impact on the functional and technical design of mobile applications. The algorithmic interpretation of context data is a non-trivial problem that makes thorough implementation and careful testing mandatory to ensure adequate application quality. Major challenges of context-aware mobile application testing are test case creation and test execution. The impact of context-awareness on test case creation is the attainability of adequate test coverage, that in contrast to non-context-aware application extends beyond traditional input data. It requires the identification and characterization of context data sources and the provisioning of suitable, reproducible test data. This thesis addresses a method and technology to decouple test case creation and test execution from manual labor through the extensive use of model-driven automation technology. A method is presented that generates test cases for context-aware mobile applications from UML Activity Models by means of model transformation technology. A test execution framework facilitates the reproducible simulation of context data derived from an enriched system model. The approach is validated using a prototypical implementation of the test case generation algorithm. The simulation of context data during test execution ist validated using a modified implementation of the Android operation system.

Share and cite

Citation style:

Griebe, Tobias: Methode und Technologie zur modellbasierten Automatisierung von Tests kontextsensitiver mobiler Anwendungen. 2017.

Could not load citation form. Default citation form is displayed.

Rights

Use and reproduction:
All rights reserved

Export