Mobile App Testing – Dos & Don’ts


Eine App zu entwickeln, ist herausfordernd. Damit am Ende nichts schief geht und die Kunden ein perfektes Endergebnis erhalten, sollten Qualitätssicherung und Testing-Prozesse von Anfang an eine wichtige Rolle spielen. Wir zeigen Ihnen, worauf es beim Testen einer mobilen Applikation ankommt und welche Fehlerquellen es zu vermeiden gilt.


Mobile Apps: ein Überblick

Hierbei handelt es sich um eine Anwendungssoftware, die schnell und praktisch nützliche Funktionen auf den Mobilgeräten abbildet und somit ort- und zeitunabhängig agiert. Mittlerweile gibt es für jede Situation eine App – ob im Alltag, auf der Arbeit oder auf der Reise. Dennoch unterscheiden sich die Apps voneinander. Insgesamt gibt 3 Arten von Apps:


Native Apps

Das Besondere ist, dass der Programmiercode dieser App in der jeweiligen Entwicklungssprache des iOS oder Android Betriebssystems geschrieben wird und deshalb die Darstellung und die Funktionsanordnung auf den ersten Blick unterschiedlich ausfallen. Die native App punktet mit ihrer Leistungsfähigkeit und der optimalen Zusammenarbeit einzelner Hard- und Softwarekomponenten. Wer eine native App für zwei Betriebssysteme entwickeln möchte, muss mit hohen Entwicklungskosten und doppeltem Programmieraufwand – für Java und Swift – rechnen.


Web Apps oder Progressive Web Apps (PWA)

Im Vergleich zur nativen App funktioniert die Web App, auch als Progressive Web App bekannt, auf jeder Plattform. Dafür muss nur der jeweilige Webbrowser aufgerufen werden. Auch das Layout der App – egal mit welchem Device es aufgerufen wird – bleibt immer gleich. In der Praxis lässt sich die Web App durch Push-Berichtigungen, Kamera oder GPS erweitern und führt somit zu mehr Funktionsumfang. Wer die Web App entwickelt, hat gleich den Vorteil, durch den geringen Entwicklungsaufwand und schnelleren Prozess zu profitieren. Allerdings können manche komplexen Aufgaben im Vergleich zu nativen App-Entwicklung noch nicht oder nur sehr schwer umgesetzt werden.


Hybride Apps

Hybride Anwendungen sind eine Kombination aus nativer App und Web-App und werden oft durch Frameworks wie Cordova, Ionic etc. realisiert. Die Idee dabei ist, die Vorteile aus diesen zwei Apps zu verschmelzen und die hybride App als Web-App mit nativen App-Funktionen darzustellen. Ein positiver Aspekt dabei ist, dass bei der Benutzung der App keine Internetverbindung benötigt wird. Somit können User auch im Offline-Modus darauf zugreifen. Der Entwicklungs- und Wartungsprozess gestaltet sich zudem auch günstiger. Im Vergleich zu nativen Apps können die hybriden Apps meist nicht mit hervorragender Performance punkten.


Herausforderungen beim Mobile App Testing

  • Bildschirmgröße: Sowohl für die Smartphones als auch für die Tablet existieren sehr viele unterschiedliche Bildschirmgrößen. Ein Software Tester hat in der Regel nicht die Zeit dazu, alle vorhandenen Endgeräte zu testen. Es ist daher ratsam, sich auf bestimmte Geräte und OS-Versionen zu konzentrieren.
  • Betriebssystem: Die Anforderungen an die mobilen Geräte steigen und somit auch die Erwartungen an kommende iOS und Android Systeme. Bereits jetzt gibt es sehr viele Betriebssysteme mit zahlreichen Versionen auf dem Markt, die beim Testen der mobilen App berücksichtigt werden müssen. 
  • Usability: Ein hervorragendes Benutzererlebnis ist heutzutage ein Muss. Die mobile App muss nicht nur einfach zu bedienen sein, sondern mit ihren Funktionen auch den höchsten Wert der Benutzerzufriedenheit bieten. Die App muss auf allen Endgeräten und unterschiedlichen Betriebssystemen gleich gut funktionieren. 
  • Simulatoren/Emulatoren: Während der App-Entwicklung sind Simulatoren bzw. Emulatoren sicherlich sehr hilfreich und kaum mehr wegzudenken. In der Realität kann sich die echte Hardware jedoch komplett anders verhalten und somit die gefundenen Fehler via Simulatoren bzw. Emulatoren hinfällig machen. 


Dos bei Mobilen Apps

  • Cloudbasierte Frameworks verwenden: In Zusammenhang mit der Test-Automatisierung eignen sich cloudbasierte Frameworks bestens, um eine Umgebung zu schaffen, in der mobile Apps effizient geprüft werden können. Solche Frameworks ermöglichen es, die Testfallausführung schneller und übersichtlicher auf einer Vielzahl von Smartphones und Tablets zu gestalten und die Probleme mit der Software zeitnah zu identifizieren.
  • So viel wie möglich automatisieren: Um die Vorteile von Testskripten, Smoke- und Regressionstests effizient im Softwareprojekt nutzen zu können, müssen die Tester die Testfälle automatisieren. Unter verschiedenen Bedingungen können innerhalb der kurzen Zeit viel mehr automatische Testfälle ausgeführt werden und somit zur schnellen Fehlerentdeckung und der Transparenz im Softwareprojekt führen.
  • Agiles Projektmanagement: Diese Methodik hat den Vorteil, dass in relativ kurzen Abständen die funktionierende Software geliefert wird. Kundenfeedback und Änderungswünsche werden ebenfalls regelmäßig erfragt und eingearbeitet. Die Aufgaben im Backlog werden in priorisierter Reihenfolge in einzelnen Sprints abgearbeitet, was den höchsten Mehrwert für den Endkunden bringt.
  • Wartung der Testskripte: Die Wartung beginnt bereits zur Laufzeit und nicht erst nach Projektende. Die Schwierigkeit dabei ist es, die Änderungen im Programmiercode der Entwickler zu identifizieren und die fehlgeschlagenen Testskripte schnellstmöglich zum Laufen zu bringen.


Don’ts bei Mobilen Apps

  • Komplexe Tools: Ein Automatisierungstool sollte verständlich und leicht zu bedienen sein. Teams sollten daher eine Toolevaluation durchführen, um die optimale Auswahl für Ihr Softwareprojekt zu treffen.
  • Keine Automatisierung der explorativen Tests: Auch wenn explorative Tests in regelmäßigen Zeitabständen durchzuführen sind, sollten Sie diese nicht automatisieren. Auch die menschliche Wahrnehmung oder intuitive Bedienung der mobilen App lässt sich nicht automatisieren. Denn es handelt sich nicht um systematische Testfälle, die nach einer bestimmten Reihenfolge abgespielt werden.
  • Keine real mobile Device: Wer einen  Emulator oder Simulator einsetzt, sollte die System- und Abnahmetests nur auf echten Geräten prüfen. Die Emulatoren oder Simulatoren sind nicht in der Lage die Benutzerfreundlichkeit einer mobilen App richtig einzuschätzen und zu bewerten.


Fazit:

Bereits in der Projektplanung sollten Softwareteams eine geeignete Teststrategie und das passende Testverfahren für ihre mobile Applikation erarbeiten. Dabei sollten die  Vor- und Nachteile der jeweiligen App – nativ, web oder hybrid – auch beim Testen der Software berücksichtigt werden.

Sie benötigen Unterstützung bei Ihrer Entscheidung oder haben Fragen zu Mobile App Testing. Gerne bieten wir Ihnen eine unverbindliche Beratung an.

Share by: