Herausforderungen beim Testen von Apps

Know-how  –  0 Kommentare

Smartphones, Tablets und neuerdings Wearables sind mittlerweile in allen Anwendungsbereichen zu Hause. Trotz beschränkter Ressourcen sollen deren Apps die Ansprüche vom Desktop erfüllen. Deswegen stehen Testverantwortliche vor zahlreichen Herausforderungen.

Am 9. September 2014 wurde die Apple Watch vorgestellt. Auch andere Wearables wie Fitnessarmbänder werden zunehmend beliebter. Die Bedienung von Apples Smartwatch unterscheidet sich in einigen Punkten von der eines Smartphones. Damit ist der Artikel auch schon bei einem wichtigen Thema der Qualitätssicherung von Apps angelangt – der Bedienung. Aber das ist nur eines von mehreren Themen, bei denen der Test mobiler Apps ("App-Test") besondere Herausforderungen mit sich bringt.

Dazu kommt eine Vielzahl von Herstellern mit verschiedenen Geräten und vielen unterschiedlichen Betriebssystemen (Stichwort Android-Fragmentierung). Mit jedem weiteren Gerät steigt die Anzahl der Testfälle fast exponenziell. Neue Techniken treten häufig in Kombination mit neuen Methoden auf. So wird eine App meist agil entwickelt. Doch auch diese Methoden wollen beim Test berücksichtigt sein. Zum Beispiel ist der Automatisierungsgrad beim Testen in agilen Softwareentwicklungsprojekten oft höher als in herkömmlichen Projekten.

Apps ergänzen oder ersetzen zunehmend Desktop-Anwendungen. Ihr Code wird umfangreicher. Dadurch entstehen zusätzliche Anforderungen an den App-Test, die noch vor kurzem keine Rolle spielten. Themen wie Datenschutz-, Sicherheits- oder auch Usability-Tests haben bis vor kurzem in so manchem App-Testkonzept gefehlt, mittlerweile sind sie Standard.

Einige Stores überprüfen eine App vor der Veröffentlichung auf ein paar harte Regeln. Unter Umständen lässt sich eine App nicht rechtzeitig freigeben, weil einfache Rechtschreibfehler auf dem Startscreen übersehen wurden. Die frühzeitige Überprüfung dieser Regeln sollten Testarchitekten also beachten.

Apps sind anders!

Einige Testmethoden lassen sich aus dem herkömmlichen Test für Desktop-Anwendungen übernehmen. Dennoch ist bei Apps einiges anders:

  • Apps sind immer öfter Cloud-Anwendungen.
  • Apps werden anders bedient als Desktop-Anwendungen (oder sollten es zumindest).
  • Apps laufen häufig in einer Sandbox.
  • Apps werden für spezifische Anwendungsarchitekturen entwickelt (Model View Controller Template).

Die Smartwatches und anderen Wearables – Stichwort "Software and Things" – erhöhen darüber hinaus die Komplexität des Tests weiter. Der Test einer App für ein Fitnessarmband kann ohne das Armband selbst nicht stattfinden. Die Übergänge der Qualitätssicherung einer App und des dazugehörigen Armbandes sind fließend.

Der feine Unterschied

Desktop-Anwendungen laufen auf zunehmend leistungsfähigeren PCs. Auch wenn die mobilen Geräte leistungsfähiger werden, sind sie im Vergleich arg beschränkt. Wenn man eine Desktop-Anwendung eins zu eins in einer App realisieren möchte, muss man einige Ressourcen des Smartphones gut im Auge behalten – das kann der Arbeits-, aber auch der Gesamtspeicher sein.

Die Bedienung von Apps oder gar einer Smartwatch (Stichwort Gestensteuerung) unterscheidet sich grundlegend von der einer Desktop-Anwendung. Hinzu kommen gewisse Eigenheiten in der Bedienung bei den unterschiedlichen Geräteherstellern. Auch die verschiedenen Displaygrößen können zu einer anderen Bedienung führen. Schließlich müssen Apps unter Umständen in unterschiedlichen Mobilfunknetzen und mit wechselnder WLAN-Verfügbarkeit funktionieren. Auch hier werden hohe Ansprüche an den Test gestellt.

Sonderfall Medizintechnik

Beim Testen medizinischer Geräte sind die Ergebnisse von Testdurchgängen umfassend zu dokumentieren. Es müssen Nachweise erbracht werden, dass zu jeder Anforderung ein Testfall existiert. Organisationen wie die FDA (U.S. Food and Drug Administration) geben solche Geräte nur für den Zielmarkt frei, wenn alles nachweislich sauber programmiert, getestet und dokumentiert wurde.

Wenn eine App zum Beispiel den Puls oder gar den Zuckerwert misst, kann es passieren, dass die FDA oder eine andere Organisation anklopft. Demzufolge ist der Test einer medizinischen App noch genauer zu dokumentieren und durchzuführen als ohnehin schon. Es reicht nicht mehr aus, den Task "Funktionale Tests" auf dem Taskboard aus der Spalte "in Progress" in die Spalte "Done" zu schieben. Sondern es ist beispielsweise nachzuweisen, dass zu jeder Anforderung ein Testfall existiert. Es muss dokumentiert sein, wann welcher Testfall mit welchem Ergebnis durchgeführt wurde.