Der Leitfaden für Anfänger zum Testen mobiler Apps
Veröffentlicht: 2018-03-20Wie jede andere Software müssen mobile Apps vor ihrer Veröffentlichung gründlich getestet werden, um sicherzustellen, dass alles genau so funktioniert, wie es beabsichtigt war.
Während das Testen mobiler Apps bereits ein langwieriger und umständlicher Prozess ist, hat die tägliche Einführung neuer mobiler Handheld-Geräte, Betriebssystemversionen und App-Testtools die Arbeit von Testern mobiler Apps komplexer und herausfordernder denn je gemacht.
Wenn Sie ein Anfänger sind, der plant, seine Karriere im Testen mobiler Apps zu starten, hilft Ihnen dieser Leitfaden dabei, alles darüber zu erfahren. Beginnen wir damit, zu verstehen, was Mobile App Testing eigentlich ist!
Was ist Mobile-App-Testing?
Auf dem hart umkämpften globalen Markt von heute, wo der Erfolg einer mobilen App von der Gesamtzahl der Downloads, den erhaltenen positiven Bewertungen und dem Ranking im App Store abhängt, haben Sie die mobile App gerade entwickelt muss tadellos sein, um Benutzer anzuziehen, zu binden und zu halten, und dies kann nur durch rigoroses Testen mobiler Apps erreicht werden.
Das Testen mobiler Apps ist im Wesentlichen der Prozess des Auffindens und Behebens von Fehlern in einer mobilen App, um ihre Gesamtqualität, Funktionalität, Benutzerfreundlichkeit und Konsistenz zu verbessern und sie für Benutzer so fehlerfrei wie möglich zu machen. Entweder manuell oder automatisch durch die Verwendung von Testtools für mobile Apps oder über eine Kombination aus beidem durchgeführt, stellt das Testen mobiler Apps, wenn es rechtmäßig durchgeführt wird, nicht nur ein makelloses und zufriedenstellendes Erlebnis für die Benutzer sicher, sondern spielt auch eine entscheidende Rolle dabei, die App beliebt zu machen im Handumdrehen erfolgreich. Kurz gesagt, das Testen mobiler Apps ist das, was jede App braucht, um fehlerfrei, erfolgreich und von hoher Qualität zu sein.
Wichtigste Herausforderungen für das Testen mobiler Apps
Das Testen mobiler Apps ist viel komplexer als das traditionelle Desktop-Testen und stellt daher Tester und Entwickler gleichermaßen vor ganz neue Herausforderungen. Nachfolgend sind die wichtigsten Herausforderungen aufgeführt, denen Tester bei der Verbesserung der Qualität und Leistung einer mobilen App gegenüberstehen:
Verschiedene Arten von mobilen Apps:
Eine große Herausforderung an sich, da eine mobile App nativ, webbasiert oder hybrid sein kann. Da jeder App-Typ anders aufgebaut ist und sich sowohl in Bezug auf den Installationsprozess als auch auf die Funktionalität stark voneinander unterscheidet, muss er auf völlig unterschiedliche Weise getestet werden. Der grundlegende Unterschied zwischen den einzelnen App-Typen bringt eine Reihe von Herausforderungen für das Testen mobiler Apps mit sich.
Eine Vielzahl von Mobilgeräten:
Eine der größten Herausforderungen für Tester mobiler Apps ist die große Vielfalt an mobilen Geräten, die heute auf dem Markt erhältlich sind. Dazu gehören Smartphones, Tablets, E-Reader, tragbare Geräte und alle anderen mobilen Geräte, die in naher Zukunft auf den Markt kommen. Mit unterschiedlichen Bildschirmgrößen, Auflösungen, Eingabemethoden und Hardwarefunktionen stellen diese Geräte Tester mobiler Apps vor völlig einzigartige Herausforderungen.
OS-Vielfalt:
Unterschiedliche Mobilgeräte verwenden unterschiedliche Betriebssysteme und unterschiedliche Versionen eines bestimmten Betriebssystems werden von unterschiedlichen Geräten zu einem bestimmten Zeitpunkt verwendet. Zum Beispiel hat Android immer noch 8 verschiedene OS-Versionen im Einsatz; Andererseits verwenden 65 % der Apple-Geräte iOS 11, während iOS 10 auf 28 % der Apple-Geräte installiert ist und 7 % noch frühere Versionen von iOS verwenden. Das Testen einer einzelnen App auf mehreren mobilen Geräten, die auf verschiedenen Versionen desselben Betriebssystems ausgeführt werden, stellt eine einzigartige Herausforderung für Tester mobiler Apps dar.
Unzählige Hersteller:
Eine weitere große Herausforderung, mit der sich Tester auseinandersetzen müssen, ist die stetig wachsende Zahl an Herstellern mobiler Geräte. Im Jahr 2015 gab es nur etwa 1200 Hersteller von Mobilgeräten und Anfang 2018 selbst hat sich die Zahl auf über 1600 belaufen. Zweifellos werden diese Zahlen in den kommenden Jahren nur noch steigen. Verschiedene Hard- und Softwareänderungen, die Hersteller an ihren Mobilgeräten vornehmen, um sich voneinander abzuheben, wirken sich direkt auf die Funktionsweise einer App aus – was den Testprozess noch komplexer und herausfordernder macht.
Konnektivitätsherausforderungen:
Der effektive Umgang mit einer Vielzahl von Konnektivitätsoptionen wie verschiedenen Mobilfunknetzen (2G/3G/4G LTE/4G VoLTE und jetzt 5G), Wi-Fi, Bluetooth, Infrarot usw. ist nicht weniger als ein Härtetest. Für alle Arten von Konnektivitätsmodi muss die Anwendung unter verschiedenen Netzwerkbedingungen wie einem Wechsel des Mobilfunknetzes, Roaming, schwachen Netzwerksignalen, keiner Netzabdeckung, langsamer Verbindungsgeschwindigkeit usw. reibungslos laufen. Diese Herausforderung wird jedoch nicht als die große gezählt eine für eine Offline-App.
Kontinuierliche Prüfung:
Um auf dem heutigen hart umkämpften Markt zu bestehen, muss eine mobile App regelmäßig mit neuen Funktionen und Verbesserungen aktualisiert werden. Um diese Anforderung zu erfüllen, bevorzugen viele Entwickler die Verwendung der agilen Methodik gegenüber dem traditionellen Wasserfallansatz, der zur kontinuierlichen Integration und Bereitstellung der mobilen App führt. Folglich ist ein kontinuierliches Testen der App erforderlich, um sicherzustellen, dass alle Verbesserungen korrekt durchgeführt werden. Dies ist auch eine sehr herausfordernde Praxis für Tester mobiler Apps!
Auswahl der Testmethode:
Eine weitere Hürde, die Tester überwinden müssen, ist die Auswahl eines geeigneten Testansatzes für mobile Apps mit den richtigen Tools zum Testen mobiler Apps. Während für das Testen mobiler Apps hauptsächlich zwei Ansätze (manuell und automatisiert) verwendet werden, ist der Markt andererseits voll von einer Vielzahl automatisierter Testtools für mobile Apps, was die Auswahl der richtigen Testtools zu einer sehr verwirrenden und langwierigen Aufgabe macht, es sei denn Man hat eine vorgeplante Teststrategie.
Verschiedene Arten von Tests für mobile Apps
Wie jede andere Software muss auch eine mobile App rigoros getestet werden, um erstklassige Qualität, Benutzerfreundlichkeit und Sicherheit zu gewährleisten. Um dasselbe zu erreichen, werden während der Entwicklung mobiler Apps verschiedene Arten von Testmethoden verwendet. Werfen wir einen Blick darauf, was sie sind und wie sie sich voneinander unterscheiden.
Funktionale UI-Tests:
Als grundlegendste Art des Testens stellt der Funktionstest sicher, dass die App gemäß den vordefinierten Benutzeranforderungen einwandfrei funktioniert. Diese Tests werden im Allgemeinen durchgeführt, um zu überprüfen, ob die Benutzeroberfläche und der Anrufablauf der Anwendung ordnungsgemäß funktionieren. Wenn funktionale Tests jedoch manuell durchgeführt werden, erweist sich dies aufgrund mehrerer mobilspezifischer Herausforderungen oft als eine äußerst intensive, komplexe und zeitaufwändige Aufgabe.
Usability-Tests:
Da die Benutzerfreundlichkeit eine entscheidende Rolle bei der Bestimmung des kommerziellen Erfolgs einer mobilen Anwendung spielt, konzentrieren sich Usability-Tests hauptsächlich auf drei Schlüsselbereiche der Benutzererfahrung: Effizienz, Effektivität und Benutzerzufriedenheit. Diese Tests werden durchgeführt, um die Konsistenz der Benutzererfahrung auf allen Geräten sicherzustellen und zu überprüfen, ob die mobile App für Endbenutzer einfach zu verwenden ist oder nicht.
Kompatibilitätstest:
Kompatibilitätstests werden durchgeführt, um zu überprüfen, ob die App auf verschiedenen Mobilgeräten, Bildschirmgrößen, Browsern, Auflösungen und Betriebssystemplattformen und -versionen gut gerendert wird. Beispielsweise kann sich eine mobile App, die auf einem Smartphone ordnungsgemäß funktioniert, auf einem Tablet völlig anders verhalten. Kompatibilitätstests bewerten daher die Funktionalität einer Anwendung auf verschiedenen mobilen Geräten und Plattformen.
Speicherlecktest:
Memory Leakage Testing, auch bekannt als Low-Level-Ressourcentest, bezieht sich auf die Überprüfung, wie effizient die App den integrierten Speicher des Mobilgeräts nutzt, auf dem sie verwendet wird. Es umfasst in erster Linie das Testen der gesamten Speichernutzung, das automatische Löschen temporärer Dateien nach einem bestimmten Zeitraum und zunehmende Probleme der lokalen Datenbank. Da mobile Geräte im Vergleich zu Desktop-Geräten in Bezug auf den Speicher sehr begrenzt sind, ist das Testen von Speicherverlusten außerordentlich wichtig, um das ordnungsgemäße Funktionieren einer mobilen Anwendung sicherzustellen.
Leistungstest:
Das grundlegende Ziel des Leistungstests besteht darin, sicherzustellen, dass die Anwendung in der Lage ist, verschiedene Herausforderungen mobiler Geräte zu bewältigen, wie z Geschwindigkeit, gleichzeitige Nutzung der App durch viele Benutzer und andere ähnliche Bedingungen. Mit anderen Worten, Leistungstests werden durchgeführt, um die Leistung der mobilen App, des Netzwerks und des Servers zu überprüfen.
Unterbrechung/Funktionsprüfung:
Eine funktionierende App kann durch mehrere Ereignisse auf dem Mobilgerät unterbrochen werden, wie Anrufe oder SMS, Popup-Benachrichtigungen, Einstecken oder Entfernen des Netzkabels, Entfernen des Akkus, Netzwerkausfall und -wiederherstellung, Warnung bei niedrigem Akku usw. Unterbrechungstests wird durchgeführt, um zu prüfen, ob die mobile App all diesen Unterbrechungen standhalten kann, indem sie sich jedes Mal schließt, wenn ein Ereignis stattfindet, und danach automatisch neu gestartet wird.
Installationstest:
Installationstests stellen sicher, dass die Anwendung in angemessener Zeit installiert, deinstalliert oder aktualisiert werden kann, ohne dass der Benutzer irgendwelche Schwierigkeiten hat. Während dieser Testphase kümmern sich Tester für mobile Apps nicht nur um Abstürze, die während dieser drei Prozesse auftreten können, sondern stellen auch sicher, dass alle App-Daten vollständig aus dem Gerätespeicher entfernt werden, sobald der Deinstallationsprozess abgeschlossen ist.
Sicherheitstests:
Dies beinhaltet die Überprüfung, dass die Sicherheit und der Datenschutz der Benutzer innerhalb der App nicht mit Hilfe verschiedener Techniken wie Schwachstellenscans, Protokollansichten, Penetrationstests, War Dialing, Virenerkennung, Passwortknacken usw. auf dem Spiel stehen. Der Hauptzweck von Sicherheitstests sollen die Vertraulichkeit, Authentizität und Integrität der mobilen App verbessern.
Lokalisierungstests:
Lokalisierungstests stellen die Benutzerfreundlichkeit, Funktionalität und Zugänglichkeit der mobilen App in einer Vielzahl von geografischen Regionen und Zeitzonen sicher. Diese Art von Tests wird insbesondere dann durchgeführt, wenn Sie Ihre App in mehrere Sprachen übersetzen oder in verschiedenen Ländern ausrollen möchten. Lokalisierungstests gelten als die letzte Phase des App-QA-Tests.
Regressionstests:
Bei dieser Art von Tests werden zuvor durchgeführte, erfolgreiche Tests erneut ausgeführt, um sicherzustellen, dass die am App-Code vorgenommenen Änderungen keine alten oder neuen Fehler erneut eingeführt haben. Da Regressionstests während jeder der vier Testebenen (Einheit, Integration, System und Akzeptanz) immer wieder durchgeführt werden können, sind sie ein idealer Kandidat für automatisierte Tests.
Hilfreiche Tipps für eine erfolgreiche Teststrategie für mobile Apps
Wenn Sie beim Testen mobiler Apps wirklich gewinnen wollen, dürfen Sie die Entwicklung einer klaren und robusten Teststrategie nicht übersehen. Ein richtiger Strategieplan zum Testen mobiler Apps hilft Ihnen nicht nur, die oben genannten Herausforderungen beim Testen mobiler Apps zu meistern, sondern bewahrt Sie auch vor den deprimierenden Szenarien der Ablehnung von Apps. Im Folgenden sind die Best Practices aufgeführt, die Sie befolgen müssen, um Ihre mobile App effizient und effektiv zu testen.
Automatisiertes vs. manuelles Testen:
Das Testen mobiler Apps kann, wie oben bereits erwähnt, entweder manuell oder mithilfe automatisierter Tools zum Testen mobiler Apps wie Appium, SeeTest, Selenium und Ranorex durchgeführt werden. Da entweder einer oder beide Ansätze in verschiedenen Lebenszyklusphasen einer mobilen App verwendet werden, müssen Sie ein Experte darin sein, je nach Situation zwischen ihnen zu wählen. Da das automatisierte Testen mobiler Apps der Schlüssel zu erfolgreichen Regressionstests während verschiedener Entwicklungsphasen ist, sollte es nur in Szenarien durchgeführt werden, in denen:
- Sie haben die häufigsten Testfälle
- Testfälle haben vorhersagbare Ergebnisse
- Testfälle sind einfach zu automatisieren
- Testfälle sind sehr zeitaufwändig oder gar nicht manuell durchführbar
- Die Anwendung wächst kontinuierlich
- Der Lebenszyklus der Entwicklung mobiler Apps ist sehr lang
Im Gegensatz dazu basiert der Ansatz des manuellen App-Tests auf menschlicher Eingabe, Analyse oder Bewertung und sollte verwendet werden, wenn die App neue Features und Funktionalitäten enthält oder nur ein- oder zweimal getestet werden muss.
Emulatoren vs. physische Geräte:
Genau wie bei zwei Ansätzen gibt es zwei Hauptmethoden zum Testen einer mobilen App: entweder durch Emulatoren für virtuelle Geräte oder durch reale physische Geräte. Während sich die Verwendung von Geräteemulatoren in den Anfangsphasen der App-Entwicklung zum Testen grundlegender Funktionen als äußerst hilfreich erweist, arbeiten sie in späteren Testphasen, wie z. B. Beta-Tests, nicht so effizient wie physische mobile Geräte. Es gibt drei Arten von Emulatoren für mobile Geräte:
- Geräteemulator : von Geräteherstellern bereitgestellt.
- Browser-Emulator : Simulieren Sie das Rendering für mobile Geräte in Browsern.
- Betriebssystem-Emulator : Wird vom Betriebssystem selbst bereitgestellt.
Um schnell und effizient die besten Testergebnisse zu erhalten, testen Sie Ihre mobile App zuerst auf Emulatoren, um so viele Fehler wie möglich zu erkennen und zu beheben. Sobald ein zufriedenstellendes Testniveau erreicht ist, können Sie Ihre App für ein realistischeres Szenario auf physischen Mobilgeräten testen.
Auswahl der richtigen Mobilgerätemodelle:
Die Entscheidung, welches Gerät oder Gerätemodell zum Testen der mobilen App verwendet werden soll, ist wahrscheinlich das erste, was jedem Tester in den Sinn kommt, wenn er eine reale Testumgebung erstellt. Dies kann manchmal eine wirklich schwierige Entscheidung sein, da die Geräte, die Sie auswählen, bestimmen, wie Ihre App auf Milliarden ähnlicher Geräte funktioniert. Daher sollten die folgenden drei Schlüsselfaktoren bei der Auswahl des Zielgeräts berücksichtigt werden:
- OS Version
- Bildschirmgröße und Auflösung
- Formfaktor
Zögern Sie bei Bedarf nicht, bei der Auswahl des Gerätemodells mehrere andere Faktoren wie internen Speicher, Anschlussmöglichkeiten usw. zu berücksichtigen.
Erwägen Sie Cloud-Tests:
Um Ihre Testanstrengungen auf eine ganz neue Ebene zu heben, können Sie auch Cloud-Computing-basierte Tests für mobile Apps ausprobieren. Cloud-Tests bieten eine webbasierte Testumgebung für mobile Apps und ermöglichen es Ihnen, Ihre mobilen Apps schnell und effizient bereitzustellen, zu testen und zu verwalten. Neben der Reduzierung der Gesamtkosten und des Zeitaufwands für das Projekt bietet Cloud-basiertes Anwendungstesten auch mehrere andere Vorteile, wie zum Beispiel:
- Hochskalierbare, vollständig synchronisierte und vorkonfigurierte Testumgebungen
- Sie müssen nicht in andere fortschrittliche Testtools, Ressourcen oder Konfigurationen investieren
- Reduziert die Möglichkeit von Fehlern, die durch eine irrtümlich erstellte oder instabile Testumgebung verursacht werden
- Erspart Testern die Einrichtung von On-Premise-Testumgebungen, die sehr zeitaufwändig sind und oft zu Projektverzögerungen führen
- Unterstützt Tests für komplexe, dynamische und unterschiedliche Anwendungen, was in einer internen Umgebung nahezu unmöglich ist.
- Testergebnisse in Echtzeit
- Automatische Backups und Wiederherstellung
Beta-Tests organisieren:
Beta-Tests sind eine großartige und effektive Möglichkeit, die Funktionalität und Benutzerfreundlichkeit einer mobilen App mit Hilfe von echten Endbenutzern zu analysieren, die reale Geräte verwenden. Diese Phase wird in der Tat durchgeführt, um zu überprüfen, wie gut die App auf realen Geräten und Netzwerken funktioniert, und um sicherzustellen, dass alle Fehler vor dem Start behoben wurden. Wenn Sie eine App für iOS testen, können Sie die Leistung des kostenlosen TestFlight-Tools nutzen, um Ihre Beta-Tests zu verwalten.
Ebenso können Sie die Google Play Console auch verwenden, um Ihre Android-App an vertrauenswürdige Benutzer und Tester für Betatests über verschiedene Google Groups oder Google+ Communities zu verteilen.