Sieben Erfolgsfaktoren für das automatisierte Testen mobiler Apps

Testautomatisierung im App-Umfeld

Das Softwaretesten mobiler Apps sollte eigentlich einfach sein, da sie zumeist kompakt sind. In der Realität erweist es sich aber keineswegs als trivial, einen für die App-Entwicklung funktionierenden Testansatz zu etablieren. Woran liegt das?

Apps müssen auf mehreren Plattformen getestet werden, um hohe Downloadzahlen zu erreichen.

Zum einen unterliegen mobile Apps einem enormen Qualitätsdruck seitens der Nutzer. Schneidet eine App bei den Nutzerbewertungen eines Stores nur etwas schlechter ab als konkurrierende Produkte, bleibt die Zahl der Downloads gering. App-User verfügen dabei in der Regel über ein intuitiv ganzheitliches Qualitätsverständnis aus funktionalen, aber auch nichtfunktionalen Eigenschaften wie zum Beispiel der Performance.

Apps müssen daher intensiv getestet werden – und dies auf mehreren Plattformen: so etwa auf iOS und Android, in Einzelfällen aber auch auf Windows Phone und Blackberry. Die dadurch notwendigen Wiederholungstests auf den relevanten Plattformen und vor Veröffentlichung jeder neuen App-Version lassen den Ruf nach der Automatisierung dieser Tests laut werden.

Oft scheitern Automatisierungsprojekte an unrealistischen Anforderungen. Dazu kommen technische Risiken wie etwa unzuverlässige Erkennung von GUI-Elementen oder unzureichende Schnittstellen bei und zwischen den eingesetzten Test- und Integrationswerkzeugen. Denn die Werkzeuglandschaft für das Testen mobiler Apps ist noch jung, was sich in hoher Volatilität, Wildwuchs, Fehlern und allgemeiner Unreife der Werkzeuge selbst niederschlägt.

Dennoch kann sich Testautomatisierung im App-Umfeld lohnen – vorausgesetzt, die Verantwortlichen berücksichtigen verschiedene Schlüsselfaktoren:

  • Nicht nur die Testausführung zählt
    Zumeist liegt bei der Testautomatisierung von IT-Projekten der Fokus wie selbstverständlich auf der Testausführung. Doch bedenken die Verantwortlichen dabei nicht, dass es oft andere Faktoren sind, die die größten Effizienzgewinne erzeugen: zum Beispiel die Struktur der Testumgebung oder die Qualität der Testdaten. Vor dem Aufbau einer umfassenden Infrastruktur für die Testautomatisierung gilt es daher, zunächst zu evaluieren, wo die tatsächlichen Effizienzbringer liegen.
  • Nur ein Automatisierungskonzept genügt nicht
    Die unterschiedlichen Testarten bei der Qualitätssicherung mobiler Apps erfordern jeweils eigene Automatisierungsansätze. Komponententest, funktionaler Test oder Security-Test zum Beispiel sind unterschiedliche Disziplinen, für die jeweils eigene Konzepte und Werkzeuge existieren. Jede dieser Aufgaben erfordert zunächst eine individuelle Bewertung und ein für sie angemessenes Lösungskonzept, welches definiert, ob und wo automatisiert wird.
  • Werkzeuge gründlich prüfen
    Die Werkzeuglandschaft für mobiles Testen könnte bunter nicht sein. Von lizenzkostenfreien Open-Source-Werkzeugen bis hin zu vollintegrierten Lösungen wie zum Beispiel Perfecto Mobile ist alles vorhanden. Umso wichtiger ist es, die aufzubauende Werkzeugkette systematisch zu evaluieren. Eine mangelhafte oder gar fehlende Tool-Evaluierung wird nicht erst mittelfristig teuer.
  • Wartbarkeit nicht unterschätzen (I)
    In derart unübersichtlichen Situationen am Werkzeugmarkt setzen viele auf das Selbermachen, zumal für die eigentliche Testausführung Open-Source-Werkzeuge wie Robotium oder Calabash zur Verfügung stehen. In diesen Fällen implementieren Entwickler fehlende Spezifikations- und Managementfunktionen „obendrauf“, etwa in der Skriptsprache VBA und Excel oder der Programmiersprache Ruby. Dieses Vorgehen führt jedoch in der Regel zu einem extremen Wartungsaufwand, da die Innovationszyklen der Mobile-Welt sehr kurz sind.
  • Wartbarkeit nicht unterschätzen (II)
    Aber auch eine von einem Hersteller unterstützte Lösung kann auf direktem Weg in die Wartungshölle führen, wenn keine stringenten Automationsarchitekturen gewählt werden. Schließlich ändert sich das Erscheinungsbild von Apps oder des unterliegenden Betriebssystems meistens schnell. Eine gute Architektur schafft hier Transparenz: Sie hilft, Änderungen an der Technik aber auch an den Anforderungen soweit zu isolieren, dass die Testsuite im Idealfall nur an einer einzigen Stelle anzupassen ist.
  • Konzentration aufs Wesentliche
    Die Vielfalt der relevanten Plattformen, Betriebssystemversionen und Geräte in der mobilen Welt führt schnell zu einer Explosion möglicher Kombinationen, die zu riesigen Zahlen von Tests führt. Ein systematisches, risikobasiertes Testmanagement reduziert einen solchen Testberg auf das Wesentliche: Es priorisiert für die Kunden wesentliche App-Funktionen und -Eigenschaften, während weniger relevante Bereiche bewusst gar nicht oder nicht systematisch getestet werden. Erst diese Priorisierung erzielt eine wirtschaftliche Kosten-Nutzen-Bilanz der Testausführung.
  • Gehört Testen wirklich zum Kerngeschäft?
    Gerade das Testen mobiler Apps ist eine Spezialdisziplin. Jedes Unternehmen sollte sich deshalb fragen: Ist diese Spezialdisziplin Teil meines Kerngeschäfts? Lautet die Antwort „Ja“, greifen die zuvor erwähnten Erfolgsfaktoren. Lautet die Antwort jedoch „Nein“, testen die zahlreich am Markt verfügbaren Fachkräfte in der Regel besser und kostengünstiger, insofern sie nachweisbares Spezial-Know-how, SLAs und eine am Output orientierte Bezahlung bieten.  


Quelle: SQS Software

Bildquelle: Thinkstock/ iStock

 

 

©2020Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok