Mobile Testing – Lost in Complication?

2. Oktober 2014Prof. Dr. Volker Gruhn

Smartphones und Tablets weisen eine Reihe von Eigenheiten auf, durch die sie sich stark von der die IT-Welt prägenden Intel-X86-Technologie unterscheiden. So gibt es der­zeit rund 3.500 Gerätetypen und Betriebssystemvarianten, die Systeme werden in unter­schiedlichen Netzen betrieben, arbeiten mit unterschiedlichen Interaktionen zwischen den Apps und werden an unterschiedlichen Orten unter unterschiedlichen Umgebungsbedingen eingesetzt – jeder Parameter kann Auswirkungen auf die App haben. Die Zahl möglicher Test-Cases ist damit nicht mehr überschaubar.

Manuelle Testverfahren kommen schnell an ihre Grenzen

Angesichts dieser Komplexität stoßen manu­elle Verfahren schnell an ihre Grenzen. Kaum ein Unternehmen kann sich eine Sammlung tausender Gerätevarianten zulegen, bezie­hungsweise diese auch noch sinnvoll mit Test-Cases „füttern“. Das Szenario wird voll­ends unbeherrschbar, wenn man den Zeitfaktor berücksichtigt; schließlich sollen die Releases ja im Abstand weniger Wochen veröffentlicht werden. Auch unabhängig von den Kosten ist manuelles Testen so in der Regel praktisch nicht mehr umsetzbar. Der Einsatz von Emu­latoren ist oft der einzige Ausweg, doch auch Emulatoren haben Nachteile. Sie ersparen zwar die Installation von realen Geräten, sie bilden Umweltbedingungen aber meist nicht realistisch ab und sie können außerdem kein Hersteller- beziehungsweise Provider-Branding nachbilden. Ein Emulator-Test bietet immer nur ein idealisiertes Abbild eines tatsächlichen mobilen Geräts. Inwieweit Testergebnisse unter dieser Voraussetzung aussagefähig sind, muss dann in einer gesonderten Analyse über­prüft werden.

Eine leichte Verbesserung gegenüber Tests mit Emulatoren sind Cloud-Plattformen, bei denen echte Endgeräte über eine Weboberfläche fern­gesteuert werden. Allerdings gelten auch hier die Einschränkungen in Bezug auf beispiels­weise die Sensorik. Die Tester müssen sich der Implikationen bewusst sein.

Testautomatisierung behebt Probleme des manuellen Testens nur unvollständig

Die Probleme des manuellen Testens, ob direkt am Gerät oder im Emulator, lassen sich zum Teil durch Testautomatisierung beheben, allerdings nicht vollständig. Werkzeuge dafür gibt es auf unterschiedlichen Abstraktionsniveaus, von Unit-Tests nahe am Quellcode bis zu Endan­wender-Akzeptanztests, bei denen Spezifika­tionen die Interaktion des Anwenders mit der App und das erwartete Ergebnis bestimmen. Wenn passende Test-Technologien identifiziert wurden, muss eine geeignete Menge von Test­fällen ermittelt werden, die die zu testende App in allen Funktionen und mit einer hinreichen­den Abdeckung beschreibt, und die auf eine repräsentative Auswahl an Testgeräten ange­wendet werden kann. Während sich die reine Durchführung von Testfällen mit den heute ver­fügbaren Technologien zumindest in Ansätzen automatisieren lässt, ist die Erzeugung einer adäquaten Menge von Testfällen bislang nicht automatisierbar. Mit den verfügbaren Werk­zeugen zur Testautomatisierung lassen sich vor allem Testfälle für Sensor-basierte Apps nur unzureichend unterstützen.

Die Technologien zur Testautomatisierung sind in der Regel plattformspezifisch, so dass bei der App-Entwicklung für mehrere Apps zumeist auch mehrere plattformspezifische Testautomatisierungstechnologien verwendet werden müssen. Insgesamt gibt es jedoch nur wenige solcher Technologien zur Testautomati­sierung, zum Beispiel Appium (Selenium) oder calabash für iOS und Android oder Robitium für Android-Systeme. Auch Modelle von Softwaresystemen enthal­ten bereits viel testrelevante Informationen, so die strukturellen Eigenschaften, etwa in Klassendiagrammen, oder auch dynamische Eigenschaften, beispielsweise in Aktivitätsdia­grammen. Die Verwendung dieser Modelle zur Testfallgenerierung reduziert den Erstellungs­aufwand und vermeidet menschliche Fehler.

Testdaten müssen meist noch dem System­modell hinzugefügt werden, etwa die Ein­gabedaten für Testfelder, aber auch Umge­bungsparameter wie Standort, Sensordaten oder Netzwerkeigenschaften. Bereits für die Modellierungssprache UML vorgefertigte Pro­file lassen sich zur Parametrisierung von Akti­onen verwenden, so dass damit Testdaten und auch Interaktionen des Anwenders wie Klicken, Schütteln, Wischen und Texteingeben model­liert werden können.

Auch wenn eine hochgradige Automatisie­rung des Testprozesses unerlässlich ist, das Grundproblem des Testens mobiler Anwen­dungen lässt sich auch dadurch nicht aus der Welt schaffen: Die riesige, sich dynamisch weiterentwickelnde Gerätevielfalt muss in irgendeiner Weise in die Bildung der Test-Cases eingehen; was ein Unternehmen an manuel­ler Testarbeit einspart, muss es meist in die Parametrisierung der Werkzeuge oder die Formulierung der Modelle investieren. Je nach konkretem Anwendungsfall kann das eine oder das andere effizienter sein.

Was tun?

Manuelles Testen am Gerät ist also praktisch nicht durchführbar, Emulatoren bilden Testfälle nur unzureichend ab und auch automatisierte Verfahren helfen nur bedingt weiter. Trotz­dem müssen mobile Anwendungen natürlich getestet werden. Die Lösung hierfür kann nur ein pragmatischer Ansatz sein. Beim Testen mobiler Anwendungen ist bewusst (!) zu ent­scheiden, welche Risiken man eingehen will; welche Fehler also auf ein Minimum reduziert werden müssen und wo eine Verminderung der Fehlerwahrscheinlichkeit ausreicht. Angesichts der begrenzten Ressourcen und der Heraus­forderungen ist es wichtig, das Testen mobiler Anwendungen konsequent risikobasiert aus­zurichten – mobiles Testen muss daher von einem Risiko-Management begleitet werden. Unerlässlich ist dafür die Definition eines Qua­litätszielprofils für mobile Anwendungen, bei­spielsweise in Anlehnung an ISO/IEC 25010.

Sie möchten mehr über dieses Thema erfahren? Dann schauen Sie sich unser Whitepaper „Mobile Testing“ an und lernen Sie die spezifischen Herausforderungen und diversen Verfahren kennen.

Prof. Dr. Volker Gruhn Prof. Dr. Volker Gruhn gründete 1997 adesso mit und ist heute Vorsitzender des Aufsichtsrats.
Artikel bewerten:
1 Star2 Stars3 Stars4 Stars5 Stars
Loading...

Kommentar hinzufügen:

Ihr Kommentar: