Testlösung für Android-Entwickler

LinkedIn stellt Android-Testing-Tool Test Butler Open Source
Kommentare

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.

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.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -