QA Lounge

So entwickeln Sie in drei Schritten eine Teststrategie für mobile Apps

Daniel Knott • 16. Juli 2018

Wer früher das Haus verließ, vergewisserte sich, ob er Schlüssel und Portemonnaie eingesteckt hatte. Inzwischen gilt die erste Sorge dem Smartphone. Das Handy hat so viele Bereiche unseres Alltags infiltriert, dass es ganz ohne bei kaum jemandem mehr geht.

Laut GSMA Intelligence nutzen derzeit fünf Milliarden Menschen rund um den Globus Smartphones und Mobiltelefone. Das sind zwei Drittel der Weltbevölkerung. Kein anderes Gerät in der Geschichte der Menschheit hat eine so schnelle Marktdurchdringung erfahren. Ganze Lebensbereiche werden inzwischen durch das Smartphone beeinflusst und Apps (sichtbar oder unsichtbar) in Pkws, Wearables und Haushaltsgeräte integriert.

Durch die Omnipräsenz des Smartphones und die Tatsache, dass es heutzutage in vielen Lebenslagen auf eine reibungslose App-Erfahrung ankommt, werden von mobilen Nutzern entsprechend hohe Qualitätsansprüche gestellt. Unternehmen sind sich dessen bewusst und räumen dem Thema Mobile zunehmend Vorrang vor allem anderen ein. Im Folgenden erläutere ich, wie Sie in drei Schritten Ihre eigene Teststrategie für mobile Apps entwickeln können.

Herausforderungen im Bereich Mobile Testing

Eine der größten Herausforderungen ist die fragmentierte mobile Gerätelandschaft. Auf dem Markt sind allein mehr als 25.000 Android-Gerätevarianten verfügbar. Zusammen mit dem zwar kleineren, aber ebenfalls sehr komplexen iOS-Markt ergibt sich ein stark fragmentiertes, schwer abzudeckendes mobiles Ökosystem. Erschwerend kommt die Mobilität der Nutzer hinzu. Zu berücksichtigen sind hier diverse Variablen wie Standort, Bedingungen und Netzwerkeinstellungen.

Und Mobilgeräte sind nur die Spitze des Eisbergs. Wearables, intelligente Armbänder und IoT-Geräte überschwemmen derzeit den Markt und eröffnen eine ganz neue Ära der mobilen Konnektivität. Ihr Testansatz sollte alle diese Geräte berücksichtigen.

In drei Schritten zu einer soliden mobilen Teststrategie

Schritt 1: Kundenzielgruppe identifizieren

Ausgehend von den gesammelten Daten über die Kundenzielgruppe werden die wichtigsten Mobilgeräte und Wearables identifiziert und zu Prioritätsclustern zusammenfasst. Durch diese Vorgehensweise kann die Anzahl der Testgeräte in der Entwicklungs- und Testphase reduziert werden. Anschließend müssen Sie entscheiden, ob Sie alle Testgeräte selbst erwerben, Beta-Tests durchführen oder einen Crowdtesting-Ansatz anwenden wollen.

Das Team muss sich für eine der Optionen oder eine Mischung daraus entscheiden. Wichtig ist, dass die Testumgebung niemals ausschließlich aus Gerätesimulatoren und -emulatoren bestehen sollte. Diese können im frühen Entwicklungsstadium eine gute Option sein, es ist aber wichtig, beim Testing „In-the-wild“ und im Anwendungsszenario der App echte Geräte zu verwenden.

Schritt 2: App-Anforderungen definieren und erfassen

Mit Unterstützung eines Designers (oder vielmehr Interaktionsdesigners) sowie realer Benutzer müssen App-Anforderungen formuliert werden, um mögliche Testszenarien zu definieren. Anhand dieser Szenarien kann Ihr Mobile Development Team entscheiden, welche Geräte verwendet werden sollen, welche Testdaten zur Simulation des Nutzerverhaltens benötigt werden und wo die App getestet werden soll.

Im Folgenden finden Sie einige Beispielszenarien:

  • Der Benutzer muss sich in die App einloggen können.
  • Der Benutzer muss sich registrieren können.
  • Der Benutzer muss nach Produkten suchen können.
  • Der Benutzer muss den Warenkorb einsehen können.
  • Der Benutzer muss die Möglichkeit haben, zwischen verschiedenen Zahlungsanbietern zu wählen.
  • Der Benutzer muss die App mit Wearables synchronisieren können.

Solche Szenarien helfen, sich auf die kritischen Aspekte der App zu konzentrieren und die Aufgaben während der Entwicklungsphase zu priorisieren.

Schritt 3: Eine mobile Teststrategie definieren

Die Entwicklung einer mobilen Teststrategie ist ein Prozess, aber wenn Sie die folgenden vier Fragen beantworten können, sind Sie auf dem richtigen Weg.

  1. Welche Teile der App können automatisiert werden und auf welcher Ebene?
  2. Welche Teile lassen nicht automatisiert testen und erfordern ein intensives manuelles Testing?
  3. Nutzt die App Hardware-Funktionen?
  4. Welche nicht funktionsbezogenen App-Anforderungen gibt es?

Die mobile Testautomatisierung spielt über den gesamten Software-Entwicklungszyklus einer App eine wichtige Rolle. Sie ist jedoch keine leichte Aufgabe und sollte nicht unterschätzt werden. Beim Thema mobile Testautomatisierung sollte stets die Testautomatisierungspyramide berücksichtigt und entschieden werden, auf welcher Ebene ein Feature automatisiert werden soll.

test automation pyramid

Aufgrund der Mobilität der Nutzer kann nicht jedes App-Feature automatisiert werden. Je nach Anwendungsfall der App sind automatisierte End-to-End-Tests eventuell gar nicht möglich. Daher ist es wichtig, die Features zu identifizieren, die schwer oder nicht automatisierbar sind. Diese müssen vor jedem Release manuell getestet werden.

Die Durchführung manueller Tests sollte in der Umgebung erfolgen, in der die mobile App auch vom Kunden genutzt wird. Mögliche Testszenarien können z. B. die tägliche Zugfahrt zur Arbeit, ein Ausflug in den Wald oder die Teilnahme an einem Wettkampf sein. Wie bereits erwähnt können in dieser Phase Crowd- oder Beta-Tests hilfreich sein.

Nutzt die App Hardware-Funktionen wie die Kamera oder die verschiedenen Sensoren, müssen diese in der Teststrategie berücksichtigt und anhand der Anwenderszenarien priorisiert werden. Hardware-Funktionen sollten auf einer Reihe von Geräten getestet werden, um unterschiedliche Hardwarekomponenten abzudecken.

Und zu guter Letzt muss das Mobile Development Team die nicht funktionsbezogenen App-Anforderungen kennen.

Dazu zählen z. B.:

  • Sicherheit
  • Load und Performance
  • Usability
  • Barrierefreiheit
  • Internationalisierung (I18N) und Lokalisierung (L10N)

Es ist wichtig, diese nicht funktionsbezogenen Anforderungen in der Design-, Entwicklungs- und Testphase zu berücksichtigen.

Vorsorge ist besser als Nachsorge

Mit fortschreitendem Software Development Lifecycle steigen die Kosten für Bug Fixes exponentiell an. Durch eine entsprechende mobile Teststrategie können Bugs schon in den frühen Phasen identifiziert und so ein schneller, schlanker und effizienter Gesamtprozess gewährleistet werden.

Im Hinblick auf die digitale Qualität sollten Sie niemals Kompromisse eingehen. Nehmen Sie sich die Zeit, die richtige Teststrategie für Ihr Unternehmen zu finden. Ihre heutigen Entscheidungen werden künftig den feinen Unterschied machen.

CROWDTESTING ABC

Erfahren Sie, warum sich ein Umdenken hinsichtlich QA lohnt

Mehr erfahren