Automatisches Testverfahren für Apps von Smartphones und Tablet-Rechnern
Täglich wird das Smartphone-Betriebssystem Android aus dem Hause des Softwarekonzerns Google auf mehr als 1,3 Millionen mobilen Endgeräten neu installiert. Unzählige Mini-Programme folgen aus dem Google Play Store. Diese funktionieren jedoch nicht immer zu 100 Prozent. „Es ist traurig, dass der Google Play Store aufgrund der fehlenden Qualitätskontrolle für Apps die Option einräumen muss, eine App 15 Minuten nach ihrer Installation wieder zurückzunehmen, wenn Funktionsfehler auffallen“, schrieb ein neuseeländischer Entwickler bereits im vergangenen Jahr. Ein Analyst bezeichnete Android sogar als den „wilden Westen der Apps“. In diesen wollen die Saarbrücker Informatiker Gesetz und Ordnung bringen. „Unglücklicherweise sind Apps so komplex, dass es sehr zeitaufwendig und auch schwierig ist, die meisten der Programmierfehler zu finden“, erklärt Konrad Jamrozik, Doktorand am Saarbrücker Lehrstuhl für Softwaretechnik.
Zusammen mit seinen Forscher-Kollegen Florian Groß und Professor Andreas Zeller hat er eine Software namens “Droidmate” entwickelt, die Android-Apps automatisch testet. „In Zukunft sollen damit Entwickler mit minimalem Aufwand die maximale Gewissheit erreichen, dass ihre App funktioniert“, sagt Jamrozik. Droidmate simuliert dazu für die zu testende App einen Anwender. Dieser führt unermüdlich alle möglichen Bedienschritte aus. Noch ist dies das Tippen auf diverse virtuelle Tasten, bald jedoch soll auch schon das Wischen über die berührungsempfindliche Anzeige getestet werden.
Dabei setzt Droidmate neuartige Rechenverfahren ein. Neben der Modellierung von graphischen Benutzerschnittstellen gehören dazu auch genetische Algorithmen. „Diese funktionieren ähnlich wie die biologische Evolution. Eine Menge von Testfällen wird zufällig erzeugt. Daraus werden diejenigen ausgewählt, die sinnvoll erscheinen. Das System verändert sie geringfügig und kombiniert sie miteinander, um eine neue Generation von Benutzereingaben zu erzeugen“, erläutert Florian Groß. Diese und folgende Generationen müssen dann ebenfalls Auslese und neue Kombinationen über sich ergehen lassen. Dabei stellen die Forscher über eine spezielle Optimierungsfunktion sicher, dass ein möglichst großer Teil des Programmes getestet wird. Aufgedeckte Fehlfunktionen werden an den Entwickler weitergegeben.
Neben dem Testen sieht Jamrozik eine weitere Anwendung von Droidmate darin, den Apps, die Benutzerdaten ausspionieren, das Handwerk zu legen. Auch könne man Muster bei fehlerhaften Apps definieren und diese gleich zum Testen ähnlicher Apps benutzen. „Nahezu alle Interaktionen der jeweiligen App zu erfassen, kann auch als Grundlage dienen, um automatisch eine Spezifikation zu generieren“, erklärt Jamrozik. Der Prototyp funktioniert bereits für bekannte Apps mit vereinfachten Algorithmen. Diesen präsentieren die Forscher jetzt auf der Cebit. Dabei assistiert ihm ein Roboterarm, der auf einem Tablet-PC Apps bedient. Er ist jedoch nur Show für die Messebesucher. Die Software der Forscher braucht keinen Arm, sondern nur die jeweilige App als Eingabe.
Weitere Fragen beantworten
Konrad Jamrozik, Lehrstuhl für Softwaretechnik
+49 681 302-70978
E-Mail
Florian Groß, Lehrstuhl für Softwaretechnik
+49 681 302-70143
E-Mail
Weitere Informationen