SmartMonkey: UI-aware Android testing framework
Hintergrund und Problemstellung
Das Standard-Testwerkzeug für Android-Apps ist der sog. „monkeyrunner“, der zufällige Touch- bzw. Tastenevents erzeugt und damit bei genügend langer Laufzeit einen grossen Teil der Anwendung testet. Sinnvoller wäre es allerdings, die Position und Art der einzelnen UI-Elemente zu erkennen und nur diese mit passenden Eingaben zu bedienen, also z.B. in ein Textfeld mit dem Namen „URL“ einen Fake-URL einträgt. Das Tool sollte über „reflection“ o.ä. Methoden Zugriff auf die interne Java-Struktur der App haben (ggf. auch offline) und daraus die zu erzeugenden Eingaben ableiten. Alternativ wäre es auch möglich, die UI-Elemente per Bildverarbeitung in Screenshots zu erkennen (schwierig!).
Zielsetzung der Arbeit
In dieser BA/MA soll ein Tool entwickelt werden (z.B. auf Basis des existierenden monkeyrunner), das die obigen Anforderungen erfüllt und im Android-Emulator läuft.
Erwartete Vorkenntnisse
Vorkenntnisse mit Android-Entwicklung sind dringend empfohlen.