Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Sponsored Post Was ist das?

Mobile-Testing: Ist TDD eine Methode für die Avantgarde?

Anzeige
Im Mai finden in Berlin die Mobile Testing Days 2015 mit den bekanntesten deutschsprachigen Mobile-Experten statt. Einer von ihnen ist Andreas Lüdeke. Im Interview erzählt er unter anderem, wann es sich lohnt über das Android-SDK hinauszugehen und wie es ums Test-Driven-Development (TDD) steht. 

mobile testing portrait-luedeke
Andreas Lüdeke, Gründer der Firma und Mobile-Testing-Cloudlösung TestObject.

Andreas Lüdeke auf den Mobile Testing Days 2015

Vom 28. bis 29. Mai präsentiert das Mobile Technology Magazin in Berlin die Mobile Testing Days 2015 mit den bekanntesten deutschsprachigen Mobile-Experten. Android- und iOS-Developer lernen in zwei Tagen umfassend, wie sie ihren Qualitätssicherungsprozess passend zu ihrer App aufsetzen, welche Testing-Frameworks sie verwenden können und wie sie diese kontinuierlich und zielgerichtet einsetzen. Das Programm richtet sich an alle, die in Mobile-App-Projekten mit dem Thema Qualitätssicherung in Berührung kommen.

Andreas Lüdeke wird einen der vier Workshops leiten. Er ist Gründer der Firma und gleichnamigen Mobile-Testing-Cloudlösung TestObject. Als CTO und Test-Automation-Engineer ist er Experte für Android-Build und Testautomatisierung. Durch seine Arbeit bei TestObject und durch zahlreiche Kundenprojekte kennt er die Herausforderungen bei der Automatisierung von Testfällen für Mobile-Apps und versucht diesen als Contributor für das bekannte Open-Source-Automatisierungs-Framework Appium zu begegnen. Der Journalist Thomas Wießeckel hat Andreas Lüdeke im Vorfeld der Mobile Testing Days schon mal ein paar Fragen gestellt:

Thomas Wießeckel: Wann und unter welchen Bedingungen lohnt es sich, über das Android-SDK hinauszugehen und andere Frameworks zum Testen mobiler Apps in Erwägung zu ziehen?

Andreas Lüdeke: Testing-Frameworks, wie Appium oder Selendroid, machen insbesondere dann Sinn, wenn Entwickler ihre Tests nicht selber schreiben. Sie setzten weniger Verständnis der zugrundeliegenden Plattform und deren Programmierschnittstellen voraus, als zum Beispiel Robotium oder Espresso. Außerdem macht die Verwendung dieser Frameworks Sinn, wenn Hybrid- oder Web-Apps getestet werden sollen. Das Android-SDK bietet hier keinen oder nur eingeschränkten Support.

Wießeckel: Ist Test-Driven-Development (TDD) mittlerweile im Mainstream angekommen oder immer noch eine Methodik für die Avantgarde?

Andreas Lüdeke: Aus meiner Sicht ist Test-Driven-Development bei vielen Entwicklern mittlerweile eine akzeptierte Vorgehensweise. Eine Grundvoraussetzung für TDD ist jedoch eine möglichst geringe Ausführungszeit von Tests (unter 500 Millisekunden). Und hier hakt es leider in der mobilen Entwicklung. Die Turnaround-Zeiten/Durchlaufzeiten bei On-Device-Tests sind bei allen Frameworks am Markt noch zu hoch, um praktikabel TDD zu betreiben. Somit kommen nur so genannte Off-Device-Tests infrage und damit für Android nur das Robolectric-Framework. Leider war der Einsatz und die Integration dieses Frameworks bis vor kurzem noch recht kompliziert, sodass viele Entwickler davor zurückgeschreckt sind. Zum Glück hat Google das erkannt und es gibt seit kurzem eine gute Integration in den Gradle-Build-Prozess sowie in Android Studio. Ich hoffe das TDD damit auch die Welt der Android-Entwickler erobern wird.

Wießeckel: Was spricht denn deiner Meinung nach gegen Test-Driven-Development bei der Entwicklung mobiler Apps? Lohnt sich der Mehraufwand für TDD?

Andreas Lüdeke: Der Aufbau einer Testinginfrastruktur sowie das Aufsetzen von TDD ist leider immer noch recht aufwendig. Deshalb lohnt sich dies für App-Entwickler nur, wenn ein entsprechend langer App-Lifecycle zu erwarten ist. Sind aber nur wenige Releases über einen kurzen Zeitraum im Play Store zu erwarten, macht das sicherlich keinen Sinn. Ab einem Lifecycle von mehr als einem Jahr amortisieren sich die Kosten, sobald neue große Features oder Refactorings anstehen. Jedem der sich nicht mit TDD anfreunden kann, empfehle ich trotzdem einfache Tests für die wichtigsten Funktionen einer App zu automatisieren. Diese können dann bei einem Cloud-Testing-Anbieter wie TestObject regelmäßig ausgeführt werden, dadurch spart man Kosten für eine eigene Testinginfrastruktur.

Wießeckel: Welchen Mehrwert bietet Selendroid und Appium für den Entwicklungsprozess?

Andreas Lüdeke: Appium und Selendroid sind Frameworks mit denen klassische UI-Tests automatisiert werden können. Sie bauen beide auf dem Webdriver-Protokoll auf, das viele Entwickler und Tester schon aus dem Web-Testing-Umfeld mit Selenium kennen. Außerdem bieten sie – wie Selenium – die Möglichkeit, Tests in einer Vielzahl von Programmiersprachen zu schreiben. Das verringert die Einstiegsbarriere ungemein. Des Weiteren bieten beide Frameworks einen guten Support für das Testen von Hybrid- und Web-Apps, was Frameworks aus dem Android-SDK nicht tun. Dazu kommt, dass sowohl Appium als auch Selendroid, durch sein Schwesterprojekt IOSDriver, Tests unter iOS unterstützten und man somit das Erlernen weiterer Frameworks vermeiden kann.

Wießeckel: Was hat es denn mit der Cucumber-Language auf sich? Alles vergurkt?

Andreas Lüdeke: Die Beschreibung von Testfällen nach dem Given-When-Then hilft meiner Erfahrung nach, Probleme bei der Kommunikation von und über Testcases zu verringern. Mit Calabash gibt es im Mobile-Testing-Umfeld ein Framework, das diesen Ansatz unterstützt. Mit Calabash können Tests so geschrieben werden, wie bei Appium für iOS und Android. Für eine wirklich gelungene Umsetzung fehlt mir bei Calabash noch eine IDE-Integration, die mir bei der Navigation zwischen Testfällen und Implementierung der Actions hilft, sowie der Support weiterer Programmiersprachen.

Wießeckel: Ein Blick in die Glaskugel: Wo siehst Du TDD in fünf Jahren? Und was siehst du als die großen Herausforderungen im Bereich Mobile-App-Testing in den nächsten fünf Jahren?

Andreas Lüdeke: Ich setzte fest darauf, dass TDD auch in der mobilen Entwicklung einen größeren Stellenwert einnehmen wird, die Weichen sind zumindest gestellt. Und wenn der Zug doch nicht richtig ins Rollen kommt, werden gepflegte UI-Tests, die nach der Entwicklung erstellt werden, immer noch gute bis sehr gute Ergebnisse in der Qualitätssicherung erzielen. Noch wichtiger in den nächsten Jahren ist die Frage, wie wir die neuen Technologien, sei es Wearables, Android Car und/oder Android TV, und deren Integration mit der bestehenden Android- und iOS-Plattform testen können. Google und Apple haben hierfür bisher noch keine Konzepte kommuniziert, doch deren Komplexität wird die der heutigen Herausforderungen sicher noch übertreffen.

Du willst auf den Mobile Testing Days 2015 dabei sein? Jetzt Tickets sichern!

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden