Testlösung für Android-Entwickler

LinkedIn stellt Android-Testing-Tool Test Butler Open Source

Mascha Schnellbacher

© Shutterstock/Alena Kirdina

Beim Entwickeln der neuen LinkedIn-Android-App stieß das Developer-Team auf ein großes Problem: Die Testumgebung erwies sich als unzuverlässig, sodass die Tests immer wieder fehlschlugen. Eine Lösung war gefordert, die es ermöglicht, sich auf die Tests zu verlassen und die über Probleme mit der App und nicht mit der Testumgebung informiert. An dieser Stelle kommt das Android-Testing-Tool Test Butler ins Spiel.

UI-Testing auf Android-Devices kann aus diversen Gründen ziemlich unzuverlässig sein: So hängen Tests etwa von einer bestimmten Reihenfolge oder von einer nicht neu zu initialisierenden Applikation ab. Zwar sind für diese Probleme meist die App-Entwickler selbst verantwortlich, doch die wesentlich heimtückischeren Fehler finden sich meist im Gerät selbst. Wie viele Android-Entwickler vermutlich aus erster Hand wissen, ist besonders der Emulator instabil. Um Espresso-Tests verlässlich laufen zu lassen, müssen etwa Animationen ausgeblendet werden.

Es gibt aber noch weitere Fehler, die auftreten können: die CPU des Emulators versetzt sich plötzlich in den Ruhezustand, WiFi fällt aus oder das Gerät verliert aufgrund von ungenauen Daten seinen Standort. Espresso-UI-Tests scheitern auch, wenn eine System-App im Hintergrund crasht oder der Sperrbildschirm ausgelöst wird. All diese Probleme führten dazu, dass immer mehr Android-Entwickler das Vertrauen in LinkedIns Tests verloren. Eine Lösung musste also her.

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

DDD Summit 2018
Nicole Rauch

Domain-Driven Design für Einsteiger

mit Nicole Rauch (Softwareentwicklung und Entwicklungscoaching)

Test Butler: Android-Tests verlässlich durchführen

Um alle diese Probleme zu beheben und eine Lösung für verlässliche Tests zu bieten, hat LinkedIn jetzt das Tool Test Butler Open Source zur Verfügung gestellt. Test Butler enthält eine Android-Library, auf die sich Test-Code beziehen kann, sowie ein begleitendes Android-App-APK, das sich vor dem Start von Tests im Android-Emulator installieren lässt. Das Tool bietet eine Reihe von Features, die das Testing sicherer und zuverlässiger machen sollen: Signature-Level-Berechtigungen, Blockieren von Crash & App Not Responding-Dialogen sowie von Animationen und das Verhindern des Ruhezustands für Keyguard, WiFi und CPU.

Test Butler kann zudem beim Ausführen anderer Testing-Aufgaben helfen, die zusätzliche Berechtigungen erfordern. Dazu zählen beispielsweise das Ein- bzw. Ausschalten von WiFi, die Änderung der Geräteausrichtung und die Einstellung des Location-Service-Modus. Das Testing-Tool steht unter Apache-2.0-Lizenz zur Verfügung; der zugehörige Code steht auf GitHub bereit. Ausführliche Informationen zu Test Butler finden sich im Post von Drew Hannay im LinkedIn-Blog.

Geschrieben von
Mascha Schnellbacher
Mascha Schnellbacher
Mascha Schnellbacher studierte Buchwissenschaft und Deutsche Philologie an der Johannes Gutenberg-Universität Mainz. Seit Juni 2015 arbeitet sie als Redakteurin in der Redaktion des Entwickler Magazins bei Software & Support Media. Zuvor war sie als Lektorin in einem Verlag sowie als freie Editorin tätig.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: