Die Nachfrage nach mobilen elektronischen Geräten wächst weit über Smartphones hinaus. Das Smart Home ist längst Realität und auch Gelegenheitsjogger haben einen Schrittzähler, mit dem sie sogar Anrufe entgegennehmen können. Sowohl die Hard- als auch die Software sind dabei besonderen Herausforderungen ausgesetzt, was sich letztlich auf die Testreihen auswirkt. In unserer 3-teiligen Artikelserie gehen wir auf die Besonderheiten der Testumgebung von mobilen Apps ein.

Was macht die Testautomatisierung mobiler Apps besonders?

Das Handy ist kein Telefon mehr, sondern ein Kleincomputer in der Hosentasche. Es ist leistungsfähiger als ein Desktop-Rechner in den 90er Jahren und kostet nur einen Bruchteil davon. Aber mit Format und Preis haben sich auch die Hardware und die Software verändert. Neben dem Apple- und dem Windows-Betriebssystem müssen jetzt Android und Android auf dem Radar von Entwicklern und Testern sein.

Während die ersten Versuche von mobiler Software entweder abgespeckte Versionen der Desktop-Programm oder Java-Applikationen waren, wird heute eigens für die Endgeräte entwickelt. Mobile First ist die Devise, und so manche App kommt noch vor der Webseite und der Desktop-Software auf den Markt.

Die Palette an Hardware hat sich ebenfalls geändert. Es gibt Smartphone und Phablets, Notebooks und Tablets und dann auch noch Laptops, an denen man den Bildschirm abnehmen kann. Hinzu kommen die Bildschirme an Geräten aus dem Internet der Dinge (IoT), zum Beispiel am Kühlschrank oder ein Smart-Fernseher.

Neue Wege der Testautomatisierung

Diese Vielfalt mag die Benutzer freuen, stellt aber Tester vor neue Herausforderungen. Sie müssen mehrere Standards prüfen und entsprechende Strategien entwickeln, brauchen neue Werkzeuge und müssen Automatisierungsprozesse anpassen.

Hinzu kommt, dass eine Software nicht nur funktionieren muss. Sie muss auch den Anforderungen des End Users genügen. Dieser ist aber nicht homogen. Die gleiche App wird von unterschiedlichen Menschen unterschiedlich benutzt. Manche erwarten eine bestimmte Benutzerführung, andere haben Vorlieben, was Farben angeht. Gerade UI und UX sind Bereiche, die nicht einfach mit Abfragen zu testen sind. Hier braucht es komplexe Lösungen wie die Entwicklung von Personas: Modelle von Nutzern, ihrem Verhalten und ihren Bedürfnissen.

Das Testdesign muss auch den Gebrauch wiederspiegeln, denn ein Smartphone wird den ganzen Tag über benutzt. Ein gutes Beispiel ist die Veränderung der Bildschirmfarben am Abend, wenn man die Augen beim Lesen schonen und den Blauanteil verringern will.

Es gilt also, viele verschiedene Hardwarekomponenten und immer mehr Sensoren in das Testen einzubeziehen. Gleichzeitig müssen auch die Anwendungsmöglichkeiten in Betracht gezogen werden sowie die verschiedenen Gerätegruppen und Betriebssysteme. Das Testen von mobilen Geräten ist eine komplexe Aufgabe geworden.

Wie mobile Geräte getestet werden

Die wichtigsten Begriffe und Abkürzungen (Mnemonics), die im Testen verwendet werden, sind:

  • SFDPOT (Structure, Function, Data, Platform, Operations, Time)
  • FCC VUTS VIDS (Feature, Complexity, Claims, Configuration, User, Testability, Scenario, Variability, Interoperability, Data, Structure)

Dazu kommen noch Ausdrücke wie “I SLICED UP FUN“ und „COP FLUNG GUN“, bei denen es darum geht, die Testmethoden und Beispiele in der Strategie festzulegen. Im Internet gibt es zu diesen Begriffen noch wesentlich detailliertere Beschreibungen.

Mobile Anwendungen testen – Wie geht das?

Viele Apps greifen heute auf Sensoren in den Smartphones zu, wie die Kamera, Lichtsensoren, aber auch Bewegungsmesser. Beim Testen ist das keine leichte Aufgabe, weil man diese nur zu einem gewissen Grad simulieren und emulieren kann.  Apps haben eine besondere Software, die für eine gelungene Testautomatisierung spezielle Ansprüche an die Strategie und die Testwerkzeuge stellt.

 

Für Android gibt es zum Beispiel den Sensor Simulator, der über eine Google Seite https://code.google.com/p/openintents/wiki/SensorSimulator) abgerufen werden kann. Oftmals muss per Hand getestet werden, um zu sehen, wie die Hardware auf eine Funktion reagiert. Gleiches gilt für die Eingabe von Befehlen. Eine Bildschirmtastatur ist komplexer als ein normales Keyboard (man denke nur an die Swipe-Funktion). Es werden aber nicht nur Buchstaben getippt, sondern es müssen auch Sprachbefehle verstanden, Barcodes gelesen und Gesichter erkannt werden. Solche Prozesse sind nicht einfach zu automatisieren. So kann man beim Simulator für iOS die Kamera nicht verwenden.

 

Im 2. Teil unserer Artikelserie gehen wir auf die Testautomatisierung für mobile Apps und Geräte im Detail ein.