Suchen

App-Entwicklung Droidmate testet Android Apps automatisch

Redakteur: Peter Koller

Bei vielen Apps für Smart Devices haben Entwickler und Unternehmen nur unzureichend sichergestellt, dass die Mini-Programme auch wirklich funktionieren. Informatiker der Universität des Saarlandes arbeiten daher an einer Software, die Apps des Betriebssystems Android automatisch testet.

Firmen zum Thema

Schutz vor schlechten Apps soll Droidmate bieten
Schutz vor schlechten Apps soll Droidmate bieten
( bellhäuser - das Bilderwerk)

Wie sie mit dieser Methode sogar bei beliebten und weit verbreiteten Apps auf Fehler stoßen, zeigen die Forscher ab 5. März am saarländischen Forschungsstand (Halle 9, Stand F34) auf der Computermesse Cebit in Hannover. Ein Roboterarm klickt sich dort symbolisch durch alle möglichen Apps und macht die Fehlerquote sichtbar.

Was die CeBIT 2013 an Neuheiten zu bieten hat

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.

(ID:38360630)