Beim App Programmieren Kosten sparen durch UI-Testautomatisierung

Sie wollen beim App Programmieren Kosten sparen, ohne dabei auf Qualität zu verzichten? Dann gibt es einige Stellschrauben, an denen Sie drehen können! Zum Beispiel bei den vielen notwendigen Tests des User Interfaces (UI). Diese sind unverzichtbar, um die gewünschte Funktionalität der Anwendung sicherzustellen, aber auch mit einem hohen Arbeitsaufwand verbunden, denn: Manuelle Software-Systemtests sollten vor jedem Release einer neuen App-Version durchgeführt werden. Daher wirken sie sich - gerade in länger laufenden Projekten - spürbar auf die Kosten einer App aus. Die Automatisierung von UI-Tests kann deshalb sehr sinnvoll sein, um beim App Programmieren Kosten zu sparen. Zum Beispiel auch in unserem Projekt mit Rente.de, aus dem wir gerne von unseren Erfahrungen berichten.

UI-Testautomatisierung bei Flutter Apps am Beispiel Rente.de

Die App “Rente.de” wird mit Hilfe des Cross-Platform-Frameworks Flutter entwickelt. Sie funktioniert auf iOS- und Android-Geräten, erzeugt damit aber auch den doppelten Test-Aufwand. Da es sich außerdem um ein lang laufendes Projekt handelt, stand schnell fest: Die UI-Tests sollen automatisiert werden. Das Vorgehen unterscheidet sich dabei zunächst wenig vom manuellen Testing: Test Cases werden formuliert, thematisch gruppiert und in einer Tabelle zusammengefasst (s. Abbildung 1). Sie sollen realitätsnah die Bedienung durch Endnutzer nach dem “Blackbox-Prinzip” simulieren. Das heißt: Die testenden Personen müssen keine Kenntnis über die innere Struktur der Anwendung haben, sondern streng nach den formulierten Testsequenzen vorgehen. Die App selbst stellt für sie eine Blackbox dar.

Anders als beim manuellen Testen werden die Sequenzen im Projekt Rente.de aber nicht per Hand eingegeben. Vielmehr werden sie in ein Testskript übersetzt, das anschließend beliebig oft ausgeführt werden kann. Zum Einsatz kommt dabei das Open Source Framework appium, das zwischen Skript und App übersetzt. Die Arbeitszeit fließt hier in die Definition des Testskripts, nicht in die manuelle Eingabe der Testsequenzen in Endgeräte. Je öfter im Entwicklungsprozess also UI-Tests durchgeführt werden, desto effizienter ist dieses Vorgehen. Umgekehrt gilt aber auch: Nicht immer lässt sich durch Automatisierung beim App Programmieren Kosten sparen. Nur dann, wenn die Definition des Testskripts weniger Arbeitszeit beansprucht als die Durchführung manueller UI-Tests, ist sie wirtschaftlich sinnvoll.

Nicht alle Anwendungen lassen sich sinnvoll automatisieren

Ist der Aufwand zu groß, raten wir von einer Automatisierung ab. Ein gutes Beispiel hierfür ist ein QR-Code-Scan per Kamera. Um diese Anwendung zu automatisieren, benötigt man etwa einen Roboterarm, der das Smartphone wie sein menschliches Pendant zum QR-Code führt. Dies mag technisch zwar möglich sein für den Einsatz in der Praxis sind solche Szenarien aber ungeeignet. Stattdessen fokussiert man sich auf sogenannte Happy Paths. Dies sind Basisfunktionalitäten der App, wie sie beispielhaft in Abbildung 1 zu finden sind.

Natürlich bringt eine Automatisierung aber auch weitere Vorteile mit sich. So lassen sich zum Beispiel manuelle Eingabefehler weitgehend vermeiden. Außerdem ist das Testskript durch die Nutzung bestimmter Patterns teilweise wiederverwendbar: Als Grundgerüst kann es in entsprechend angepasster Form auch in anderen Entwicklungsprojekten zum Einsatz kommen.

Slide
Jessica Schwarz

Susann Käßbohrer

Manager Project Onboarding

Sie haben Fragen?

Nutzen Sie jetzt unsere kostenlose Erstberatung

Fazit: Lohnt eine UI-Testautomatisierung?

Ob eine UI-Testautomatisierung sinnvoll ist und beim App Programmieren Kosten spart, hängt von einigen Faktoren ab. Gerade bei lang laufenden Projekten mit vielen Releases sollte sie in jedem Fall erwogen werden. Aus unserer Erfahrung im Projekt mit Rente.de bietet die Automatisierung mehr Vor- als Nachteile:

Vorteile:

  • Einsparpotential bei Arbeitszeit und Kosten
  • Reduzierung von manuellen Eingabefehlern
  • Long-Term Benefit durch Wiederverwendbarkeit
  • Motivationssteigerung durch Vermeidung repetitiver Arbeiten

Nachteile:

  • Nicht alle Test-Cases lassen sich (sinnvoll) automatisieren
  • Wirtschaftlich erst ab einer gewissen Anzahl von Durchläufen

Das könnte Sie auch interessieren

Eine App entwickeln lassen am Beispiel Rente.de

Im Rahmen des Projekts entwickelte die moguru GmbH die App „Rente.de“ mit der sich Bürger schnell und einfach über die persönliche Rentensituation informieren können. Die App ermöglicht das Berechnen der individuellen Versorgungslücke unter Berücksichtigung der zu erwartenden (staatlichen) Rente sowie des Kaufkraftverlustes durch Inflation. Erst auf dieser Basis können sinnvolle Strategien zur Altersabsicherung durch private Vorsorge aufgestellt werden. Mehr erfahren über “Eine App entwickeln lassen am Beispiel Rente.de”