App Testing – die größten Herausforderungen Mobile Apps umfassend testen

Autor / Redakteur: Hannes Lenke * / Stephan Augsten

Die Entwicklung mobiler Anwendungen folgt im Großen und Ganzen den Paradigmen agiler Programmierung. Eine wichtige Rolle spielt dabei das kontinuierliche Testing. Während die Testumgebung bei Desktop- oder Serveranwendungen weitgehend homogen ist, verhält es sich mobilen Apps vollständig anders.

Anbieter zum Thema

Um eine App langfristig am Markt zu etablieren, ist kontinuierliches Testing unabdingbar.
Um eine App langfristig am Markt zu etablieren, ist kontinuierliches Testing unabdingbar.
(Bild: Joanna Malinowska - Freestocks.org / CC0 )

App-Entwickler stehen vor der Herausforderung, alle möglichen Konfigurationen, Betriebssystemversionen oder auch Systemumgebungen berücksichtigen zu müssen. Dies gilt insbesondere unter einem fragmentierten Ökosystem wie Android: Welche Version wird eingesetzt? Welche Hardware liegt dem zugrunde?

Ein LG-Smartphone verhält sich etwas anders als ein HTC, ein Samsung wiederum anders als ein Sony. Hinzu kommt, dass ein „nacktes“ Android wie im Falle der Pixel-Geräte von Google kaum vorhanden ist. Um ein individuelles Nutzererlebnis zu schaffen, setzen Hersteller unterschiedliche Benutzerschnittstellen ein, die sogenannten Launcher.

Die Hardware selbst unterscheidet sich ebenfalls. Verschiedene Formfaktoren wie Smartphones, Phablets und Tablets mit ihren unterschiedlichen Grafikauflösungen, Arbeitsspeichern, Erweiterungsmöglichkeiten und Zusatzfunktionen. Es gibt folglich Geräte mit unterschiedlichster technischer Ausstattung. Und dann gibt es auch noch iPhones und iPads von Apple mit ihren unterschiedlichen iOS-Versionen.

Herausforderung App-Test

Wie kann man als Tester dieser Herausforderung begegnen? Nun könnte man zunächst die am meisten relevanten Geräte besorgen, was ein sehr umständliches und auch teures Verfahren wäre. Nicht nur, dass jedes einzelne Gerät einen Kostenfaktor darstellt, auch der zeitliche Aufwand, um jedes Gerät zu bestücken und auf diesem individuell einen Test durchzuführen, sprengt manches Budget.

Am Prozess des App-Testings sollte und darf allerdings nicht gespart werden. Da jeder Nutzer, der die App aus einem App-Store geladen hat, eine Rezension schreiben kann (und es im Falle einer negativen Erfahrung wahrscheinlich auch wird), kann so manche gute App ihren Ruf bereits nachhaltig beschädigt haben, bevor sie eine richtige Chance auf dem Markt erhält.

Vielschichtigkeit

Die Felder, auf denen Tests durchgeführt werden, sind mannigfaltig. Das wichtigste Feld ist die Überprüfung der eigentlichen Funktion. Erfüllt die App ihre Aufgaben zuverlässig? Auf welchen Endgeräten laufen die Apps und unter welchen verschiedenen Parametern, die bei den Benutzern durchaus auftreten können? Nicht zuletzt kann sich auch die Bedienführung auf Geräten mit unterschiedlichsten Betriebssystemvarianten und Systemumgebungen unterscheiden – was zu einer funktionellen Beeinträchtigung führen könnte.

Apps sind keine Inseln

Die meisten mobilen Anwendungen greifen auf externe Ressourcen zu. So sind App-Tests, die Zugriffe oder Interaktionen prüfen, teilweise Teil des Funktionstests. Sie spielen auch in die zweite Kategorie hinein, des Tests auf die Integrität und Stabilität der Anwendungen.

Hier werden Situationen simuliert, die die Anwendung zunächst im Regelbetrieb überprüfen, dann auch in Extremsituationen, in denen bewusst der Absturz der App erzielt werden soll. Das gilt für alle Stadien des App-Tests wie dem Komponenten-, Integrations-, System- oder Abnahmetests.

Der Benutzer zählt

Ist diese Klippe umschifft und sowohl Funktion als auch Integrität sowie Stabilität sichergestellt, geht es zum nächsten Test-Stadium, der Usability oder auch Benutzerfreundlichkeit. Die beste App ist nur halb so viel wert, wenn keiner mit ihr arbeiten will, da sie sich zu „unbequem“ bedienen lässt.

Hier schlägt erneut die Verschiedenartigkeit der einzelnen Devices zu. Was auf einem Tablet wunderbar erscheint, auf einem Phablet gerade noch so akzeptabel, könnte auf einem Smartphone – abhängig von dessen Größe – vollends zur Zumutung ausarten. Deckten die vorigen zwei Testzyklen technische Grundfunktionen ab, steht in diesem Stadium der Benutzer völlig im Mittelpunkt.

App-Test mühsame Kleinarbeit?

Die Herausforderung bei diesem doch sehr komplexen Testprozess liegt auch in der Schnelllebigkeit der App-Branche generell. Zeitliche Verzögerungen bieten dem Wettbewerb den entscheidenden Vorsprung – so könnte manch gute Anwendung zu spät auf dem Markt erscheinen, um im App Markt von Google oder Apple eine herausragende Platzierung und damit die begehrten Klicks zu erzielen.

Abhilfe bietet hier die Nutzung einer virtuellen, automatischen und Cloud-basierten Testplattform. Entwickler sind mit ihrer Hilfe nicht nur in der Lage, das Verhalten der eigenen App auf einer flexibel definierbaren Systemumgebung mit ihren unterschiedlichsten Ausprägungen zu testen. Es sind auch viele, simultane Test möglich, um beispielsweise ihre App auf mehreren Geräten gleichzeitig zu testen.

Hannes Lenke
Hannes Lenke
(Bild: Sauce Labs)

Dabei können sämtliche Testphasen wie die Planung, Vorbereitung, Spezifikation, Durchführung, Auswertung und der Abschluss innerhalb der Plattform stattfinden – ein Verfahren, über den sich der Budgetverantwortliche freuen dürfte. Durch ihre Vielschichtigkeit und das Benutzer-Feedback ist die Erstellung von mobilen Apps sicher ein Feld, das besondere Ansprüche an das Testverfahren stellt.

* Hannes Lenke ist General Manager bei Sauce Labs Europe.

(ID:45090868)