Mobile App Testing – Ein Überblick

App testing

Mobile App User haben eine weitaus höhere Erwartung an die Funktionalität und die Benutzbarkeit einer mobilen Anwendung im Gegensatz zu herkömmlichen Anwendungen aus dem Desktop oder Web Umfeld.

Unbenutzbare Apps, hervorgerufen durch Abstürze beim ersten Start, lange Ladezeiten oder eine schlechte Usability werden von Usern direkt mit nur einem Fingertipp gelöscht.

Aufgrund dieser hohen Erwartungen ist der Bereich Mobile App Testing enorm wichtig, wird jedoch in vielen Unternehmen leider immer noch vernachlässigt. Dabei ist Mobile App Testing kein Hexenwerk und kann mit einfachen und pragmatischen Ansätzen schnell etabliert werden.

Ist bereits ein Software Testing Prozess innerhalb des Unternehmens eingeführt, kann das vorhandene Know-how direkt in den Bereich Mobile Testing übernommen werden. Bekannte Software-Test-Techniken aus dem statischen sowie dynamischen Testen wie Grenzwertanalysen, Äquivalenzklassen, Überdeckungsarten oder Reviews behalten auch im Mobile Kontext ihre Relevanz und sind wichtige Erfolgsfaktoren im Bereich der Softwareentwicklung und des Testens.

Führt man sich die Nutzungsweise von mobile Anwendungen vor Augen ist klar, dass im Bereich Mobile Testing viel manuell getestet werden muss. Mobile Nutzer sind meist in Bewegung während sie mit dem Telefon und der App interagieren. Aus diesem Grund ist manuelles Testen ein wichtiger und großer Bestandteil innerhalb des Mobile Testings. Mobile Software-Tester müssen die App in Mobilfunknetzwerken (LTE, 3G, EDGE oder WLAN) testen, um sicher zu sein, dass die App mit verschiedenen Situation wie Mobilfunkabbrüchen, Geschwindigkeitswechseln oder ähnlichem zurechtkommt. Diese Art des Testens kann nicht in einer Testlab-Situation abgedeckt werden, da die wahren Probleme erst in der Umgebung auftreten, in denen die App genutzt wird.

Aus diesem Grund ist es ein guter Start im Bereich Mobile Testing, manuelles Testen auf echten Geräten in unterschiedlichen Umgebungsszenarien durchzuführen. Dabei können Software Tester ihr Wissen direkt unterwegs anwenden, um entsprechende Fehler in der Anwendung festzustellen. Während des manuellen Testens einer mobilen Anwendung ist es wichtig, sich neben den Testszenarien auch auf gerätespezifische Eigenschaften zu konzentrieren. Dazu gehört u.a. das Testen der verschiedenen Sensoren wie Neigungs- und Rotationssensoren oder Näherungssensoren. Gerade bei diesen Tests treten häufig Fehler oder Situationen auf, die im Vorfeld nicht bedacht wurden.

Neben dem manuellen ist das automatisierte Testen ein weiterer wichtiger Bestandteil in einer Mobile-Test-Strategie. Derzeit gibt es eine Vielzahl von kommerziellen als auch Open Source Mobile-Testautomatisierungstools auf dem Markt. Bei der Auswahl des passenden Tools kommt es vor allem darauf an, dass das Tool alle mögliche UI-Elemente, Features und implementierte Gesten einer App abdecken kann. Nicht jedes Tool unterstützt derzeit alle Features, die ein modernes Telefon bietet.

Des Weiteren ist es wichtig darauf zu achten, dass das Tool in die bestehende Entwicklungsinfrastruktur einfach eingebunden werden kann. Wie beim manuellen gilt auch beim automatisierten Testen, die Automatisierung unbedingt auf physischen Geräten durchzuführen. Der Einsatz von Emulatoren und Simulatoren deckt nicht die spätere Liveumgebung auf einem echten Gerät ab und führt oft zu Falschaussagen über angebliche Fehler, die auf einem echten Gerät nicht auftreten würden. Die automatisierten Tests sollten dann nach jeder Codeänderung auf ausgewählten Geräten durchgeführt werden, um aussagekräftige Ergebnisse über den aktuellen Stand der Qualität zu erhalten.

Neben dem manuellen und automatisierten Testen gibt es weitere Bereiche, die während des Mobile-Testings in Betracht gezogen werden müssen. Diese sind:

  • Usability Tests
  • Security Tests
  • Accessibility Tests
  • Gerätespezifische Tests
  • Update und Installation Tests
  • Last & Performance Tests
  • Standby & Interrupt Tests

Viele der genannten Bereiche kommen in anderen Softwareprojekten ebenfalls vor und stellen auf den ersten Blick keine neuen Herausforderungen dar. Führt man sich aber vor Augen, dass Mobile User eine App in unterschiedlichen Situationen und Umgebungen nutzen, ist die Komplexität für Mobile Tester ungleich höher.

In weiteren Artikeln auf mobile zeitgeist werde ich detaillierter auf die Bereiche manuelles Testen, automatisiertes Testen sowie Mobile-Test-Strategien eingehen.

Nichts verpassen mit dem kostenfreien Newsletter von mobile zeitgeist.

Über den Autor: Daniel Knott arbeitet seit 2003 im Bereich Software Testing. In verschiedenen agilen Projekten war er verantwortlich für das Testmanagement, für die Ausführung der Testfälle sowie für die Testautomatisierung von Web- und Mobile Applikationen.

Nebenbei ist Daniel Autor des Buches Hands-On Mobile App Testing sowie Blogger auf http://adventuresinqa.com/.

Titelbild: Shutterstock

 

4 Trackbacks / Pingbacks

  1. geekchicks.de » geekchicks am 30.04.2015 - wir aggregieren die weibliche seite der blogosphäre
  2. Android Fragmentation: Mobile Apps effektiv testen | mobile zeitgeist
  3. Writing for Mobile-Zeitgeist | Adventures in QA
  4. Mobile Testing: Auf welchen Geräten muss man testen? | mobile zeitgeist

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


Ich bestätige, dass die hier von mir eingegebenen persönlichen Daten in der von mobile zeitgeist genutzten Datenbank bis auf Widerruf gespeichert werden dürfen.