Mobiles Testen – Muss ich das Rad neu erfinden?

Einen Tag ohne das Smartphone in der Hand und das Nutzen von Apps zum Surfen, Musik hören oder Daddeln kann sich heute fast keiner mehr vorstellen. Darum beschäftigen sich nicht nur sehr viele Entwickler, sondern auch zahlreiche Tester mit mobilen Endgeräten. Aber ändert sich durch die neuen Plattformen auch die Arbeitsweise des Testens?

Wie alles begann

Vor etwa zwei Jahren habe ich im Rahmen eines Kundenprojekts die Möglichkeit bekommen, in die Welt des mobilen Testens einzutauchen. Ein kleines Team von Saxonia Systems hatte begonnen, eine iOS-App zu entwickeln. Ein Punkt auf meiner Software-Tester-Agenda war damals schon: „Irgendwann willst du mal was mit Apps machen“. Da ich schon immer Sympathie mit Apple und deren hohem Qualitätsanspruch gehegt habe (und auch privat gut mit deren Produkten ausgestattet bin), sagte ich bedenkenlos zu.

Von da an sollte ich alle zwei Wochen das Sprintergebnis des Entwicklungsteams für den Kunden abnehmen. Das Onboarding ging schnell über die Bühne.  Innerhalb weniger Stunden wurden mir die Ansprechpartner des Entwicklungsteams genannt, ich hatte ein iPad auf dem Tisch und den Zugang zum JIRA parat.

Und jetzt: Ran an die Testfälle!

Die Testfall-Spezifikation unterschied sich kaum von dem, was ich bis dahin kannte. Im Zuge der Entwicklung dieser App führte der Kunde das JIRA-Plugin Xray ein. Jeder, der schon mal mit JIRA gearbeitet hat und aus anderen Tools mit der Spezifikation von Testfällen vertraut ist, findet sich schnell zu recht. Da ich bereits mit einigen Testmanagement-Tools und auch JIRA gearbeitet hatte, ging meine Xray-Lernkurve rasch steil bergauf und ich hatte schnell meine ersten Testfälle für die Abnahme spezifiziert.

Laut Anforderung sollte die Abnahmeumgebung immer mit der aktuellsten iOS-Version ausgestattet sein, was die Kombinationen an iOS-Releases verkleinerte und die Tests vereinfachte. Bisher musste ich genau darauf achten, welches Betriebssystem mit welchem Service Pack installiert war, um den Support der Software zu garantieren. Im mobilen Sektor, vor allem bei iOS, gestaltet die schnelle Update-Bereitschaft der Nutzer den Abnahmetest ein wenig einfacher. Denn das Testartefakt muss jederzeit mit der aktuellen iOS-Version funktionieren.

Neue Herausforderungen

Doch wie kommt jetzt das Sprintergebnis auf mein iPad? In meinen bisherigen Projekten für den Kunden, die sich rein auf Desktopanwendungen beschränkten, fand ich jeden Morgen einen Installer der zu testenden Software auf einem Share-Laufwerk. Diese installierte ich auf meiner Virtuellen Maschine und war bereit zum Testen.

Nun sollte eine nicht veröffentlichte App auf meinem iPad installiert werden, aber wie? Ich kontaktierte das Entwicklungsteam von Saxonia und bekam Hilfestellung, was ich zu tun hatte. Es war lediglich nötig, ihnen die auf meinem iPad genutzte Apple-ID mitzuteilen und die iOS-Applikation TestFlight zu installieren. TestFlight ist ein Online-Service von Apple, mit dem Entwickler ihre Apps einem ausgewählten Kreis an Nutzern vor dem offiziellen App-Store-Release zum Testen zur Verfügung stellen können.

Meine Apple-ID wurde vom Entwicklungsteam im Pool der App-Tester eingetragen. Die daraus resultierende Einladung im E-Mail-Postfach nahm ich an und hatte direkt die aktuellste Version der App in Testflight verfügbar. Ein kurzer Klick auf „Installieren“ und schon wurde das Testartefakt auf mein iPad geladen und installiert. Fortan informierte mich TestFlight per Push-Mitteilung automatisch, wann eine Version zum Testen bereitstand. Vorbei war die Zeit, als ich jeden Morgen auf dem Share-Laufwerk nach einem neuen Build zum Installieren suchen musste. Ein kurzer Blick aufs iPad und einen Klick später war ich startklar. Die Bereitstellung des Testartefakts war wesentlich komfortabler, als ich es bis dahin aus anderen Projekten kannte.

Jetzt wird's ernst!

Der Tag der ersten Abnahme kam und ich war voller Vorfreude, endlich Hand anlegen zu dürfen. Meine Vorbereitung hätte nicht besser sein können: Die ausspezifizierten Testfälle standen zur Ausführung bereit, der iPad-Akku war voll aufgeladen, die neuste App-Version war installiert und das Erfrischungsgetränk stand griffbereit. Also ran an die Abnahme!

Doch was war das? Kaum hatte ich die ersten Testschritte ausgeführt, war irgendetwas anders, als es mir mein Testfall sagte. Ich hatte eine Abweichung zum Akzeptanzkriterium gefunden. Also legte ich aus der Testführung einen Bug an, schrieb sauber alle Schritte zur Reproduktion nieder und wollte zur besseren Veranschaulichung einen Screenshot anhängen. Doch da stand ich plötzlich vor einer Herausforderung: Wie bekomme ich einen Screenshot vom iPad in den Bug-Report?

Bisher lief das am PC immer ganz einfach: Bildschirmfoto aufnehmen, abspeichern und ans Ticket anhängen. Doch wie mache ich auf dem iPad einen Screenshot? Und wie kommt der ins JIRA? Als erfahrener iOS-User konnte ich mir bei der Screenshot-Erstellung schnell helfen und hatte diesen bald auf dem iPad. Doch beim Transfer des Screenshots musste ich mir ein paar Gedanken machen. Mir schwebten folgende Szenarien durch den Kopf:

  • Den Screenshot per Mail an mich selbst versenden
  • Den Screenshot in einen Onlinespeicher hochladen und dann am PC herunterladen
  • Das Datenkabel nutzen und eine Verbindung von iPad und PC herstellen

Ich entschied mich für das Datenkabel und transferierte von da an fleißig meine Screenshots ins JIRA.

Beim mobilen Test war die Dokumentation (mit Screenshots) von Bug-Reports anders als bei Desktop- oder Webanwendungen. Das erhöhte damals den Aufwand beim Bug reporten. Mittweile arbeite ich mit einem MacBook und kann mittels Apples AirDrop ganz leicht Screenshots von mobilen Endgeräten teilen und transferieren.

Den Rest der Abnahme konnte ich ohne Abweichung vom Soll-Zustand zu Ende führen und freute mich über reichlich grüne Testfälle. Der Bug-Report wurde vom Entwicklungsteam im nächsten Sprint berücksichtigt. Der nicht leicht zu dokumentierende Screenshot fand guten Anklang und half beim Beheben der Abweichung. Der Aufwand hatte sich also gelohnt.

Geschafft!

Das Fazit nach dem ersten mobilen Abnahmetest war für mich schnell verfasst. Durch meine bisherigen Projekterfahrungen und das erlernte Handwerk des Softwaretestens fand ich mich auch in der Welt des mobilen Testens schnell zu recht. Herausforderungen gibt es bei der Entdeckung jeder neuen Technologie – das Rad muss hier aber nicht immer neu erfunden werden. Bewährte Verfahren und Methoden können problemlos angewandt werden. Meine Affinität zu mobilen Applikationen und Geräten hat mir beim Erkunden dieser neuen Welt sicherlich einen Vorteil verschafft, aber ich kann nur jedem Tester ans Herz legen, sich diesem aufregenden Gebiet anzunehmen.

Heute stehe ich nicht mehr auf der Seite der Abnahme, sondern bin festes Mitglied vom Entwicklungsteam und befasse mich neben dem Abnahmetest der Storys auch mit der Verwaltung von diversen Testgeräten und deren verschiedenen Betriebssystemen, Testdatenmanagement und automatisierten UI-Tests. Von diesen Herausforderungen berichte ich gern beim nächsten Mal.

Stephan Schweda ist Fachinformatiker und arbeitet seit 2012 als Softwaretester für der Saxonia Systems AG. Er war in den letzten Jahren in verschiedenen Projekten der Bereiche Handel & Logistik tätig und arbeitet seit 2015 in Projekten der Medizinbranche. Dort ist er seit 2017 vor allem für die Qualitätssicherung von iOS Applikationen in diesem Umfeld verantwortlich.

Xing