A complete guide to testing mobile applications with in-depth tutorials:

Mobile Technologie und intelligente Geräte sind der Trend jetzt und wird die Zukunft der Welt, wie wir sie kennen, verändern. Dafür können wir uns alle verbürgen, nicht wahr? Es wäre dilettantisch, wenn ich jetzt aufzählen würde, wofür wir diese mobilen Geräte verwenden. Ihr alle wisst es – vielleicht besser als wir.

Lassen Sie uns direkt zu dem kommen, worum es in diesem Tutorium gehen wird.

Die komplette Liste von 30+ Mobile Testing Tutorials:

Mobile Testing Einführung:

Tutorial #1: Einführung in Mobile Testing
Tutorial #2: iOS App Testing
Tutorial #3: Android App Testing
Tutorial #4: Mobile Testing Challenges and Solutions
Tutorial #5: Warum ist Mobile Testing schwierig?

Testen von mobilen Geräten:

Tutorial #6: Eine Android-Version testen, wenn sie vom Markt genommen wird
Tutorial #7: Wie testet man mobile Apps auf Low-End-Geräten
Tutorial #8: Feldtests für mobile Anwendungen
Tutorial #9: Telefonmodell vs. Betriebssystemversion: Was sollte zuerst getestet werden?

Mobile UI Testing:

Tutorial #10: UI Testing of Mobile Apps
Tutorial #11: Mobile Responsive Test

Mobile Testing Services:

Tutorial #12: Cloud-Based Mobile Application Testing
Tutorial #13: Mobile Testing Services
Tutorial #14: Mobile App Beta Testing Services
Tutorial #15: Mobile App Development Company
Tutorial #16: Cloud-Based Mobile App Testing Service Providers

Mobile App Performance and Security Testing:

Tutorial #17: Mobile Applications Performance Testing Using BlazeMeter
Tutorial #18: Mobile App Security Testing Guidelines

Mobile Testing Tools:

Tutorial #19: Android App Testing Tools
Tutorial #20: Best Mobile App Security Testing Tools
Tutorial #21: 58 Best Mobile Testing Tools

Mobile Automation Testing:

Tutorial #22: Appium Mobile Automation Tool tutorial
Tutorial #23: Appium Studio tutorial
Tutorial #24: Android-Anwendungen mit dem TestComplete Tool automatisieren
Tutorial #25: Robotium-Tutorial – Android App UI Testing Tool
Tutorial #26: Selendroid Tutorial: Mobile Automation Framework
Tutorial #27: pCloudy Tutorial: Mobile App Testing auf echten Geräten
Tutorial #28: Katalon Studio & Kobiton’s Cloud-Based Device Farm Tutorial

Mobile Testing Career:

Tutorial #29: How to Get a Mobile Testing Job Fast
Tutorial #30: Mobile Testing Interview Fragen und Lebenslauf
Tutorial #31: Mobile Testing Interview Fragen Teil 2

*************************************************************

Beginnen wir mit dem ersten Tutorial der Serie.

Tutorial #1: Einführung in das Testen mobiler Anwendungen

Vorbei sind die Zeiten, in denen das Telefon ein Gerät war, das in der Ecke stand und klingeln musste, um unsere Aufmerksamkeit zu bekommen, oder ein Computer eine Maschine war, die nur von wenigen Menschen benutzt wurde – sie sind jetzt eine Erweiterung unseres Seins – ein Fenster zur Welt und virtuelle Diener, die tun, was man ihnen sagt.

Computer waren eine Wut und veränderten die Art und Weise, wie wir Menschen dachten, uns verhielten, lernten und existierten.

Heutzutage haben Mobilitätslösungen den Markt erobert. Die Menschen wollen nicht für alles ihren Laptop/PC einschalten, sondern sie wollen, dass ihre Handheld-Geräte alles schnell erledigen.

Daher sollten die mobilen Lösungen, die wir unseren Kunden liefern, sehr gut getestet werden. Dieses Tutorial ist für diejenigen gedacht, die bereits im mobilen Testen tätig sind oder in letzter Zeit dazu übergegangen sind. Da wir bereits viele Tutorien zu Definitionen von Begriffen aus dem Bereich Mobile Testing haben, werden wir uns direkt mit dem Umfang dieses Tutoriums beschäftigen.

Dieses Tutorium wird sowohl eine Einführung als auch Ihr Leitfaden für Mobile Testing sein. Also, lesen Sie es durch!

Typen von Mobile Testing

Es gibt im Wesentlichen 2 Arten von Tests, die auf mobilen Geräten stattfinden:

#1. Hardware-Tests:

Das Gerät einschließlich der internen Prozessoren, der internen Hardware, der Bildschirmgröße, der Auflösung, des Platzes oder des Speichers, der Kamera, des Radios, Bluetooth, WIFI usw. Dies wird manchmal auch als einfaches „Mobile Testing“ bezeichnet.

#2. Software- oder Anwendungstests:

Die Anwendungen, die auf mobilen Geräten funktionieren, und ihre Funktionalität werden getestet. Zur Unterscheidung von der früheren Methode wird sie „Mobile Application Testing“ genannt. Auch bei mobilen Anwendungen gibt es einige grundlegende Unterschiede, die zum Verständnis wichtig sind:

a) Native Apps: Eine native Anwendung wird für die Verwendung auf einer Plattform wie Mobiltelefonen und Tablets erstellt.
b) Mobile Web-Apps sind serverseitige Apps für den Zugriff auf Websites auf Mobiltelefonen mit verschiedenen Browsern wie Chrome, Firefox, indem sie sich mit einem mobilen Netzwerk oder einem drahtlosen Netzwerk wie WIFI verbinden.
c) Hybride Apps sind Kombinationen aus nativer App und Web-App. Sie laufen auf Geräten oder offline und werden mit Webtechnologien wie HTML5 und CSS geschrieben.

Es gibt ein paar grundlegende Unterschiede, die sie voneinander unterscheiden:

  • Native Apps haben eine Affinität zu einer einzigen Plattform, während mobile Web-Apps eine plattformübergreifende Affinität haben.
  • Native Apps werden in Plattformen wie SDKs geschrieben, während Mobile Web Apps mit Webtechnologien wie HTML, CSS, asp.net, Java, PHP geschrieben werden.
  • Für eine native App ist eine Installation erforderlich, aber für Mobile Web Apps ist keine Installation erforderlich.
  • Eine native App kann über den Play Store oder App Store aktualisiert werden, während mobile Web-Apps zentralisiert aktualisiert werden.
  • Viele native Apps erfordern keine Internetverbindung, aber für mobile Web-Apps ist sie ein Muss.
  • Native Apps arbeiten schneller als mobile Web-Apps.
  • Native Apps werden in App-Stores wie Google Play Store oder App Store installiert, während mobile Web-Apps Websites sind und nur über das Internet zugänglich sind.

Im weiteren Verlauf des Artikels geht es um das Testen von mobilen Anwendungen.

Die Bedeutung des Testens mobiler Anwendungen

Das Testen von Anwendungen auf mobilen Geräten ist schwieriger als das Testen von Webanwendungen auf dem Desktop, da

  • es verschiedene mobile Geräte mit unterschiedlichen Bildschirmgrößen und Hardwarekonfigurationen gibt, wie z.B. eine feste Tastatur, eine virtuelle Tastatur (Touchscreen) und einen Trackball usw.
  • Große Auswahl an mobilen Geräten wie HTC, Samsung, Apple und Nokia.
  • Verschiedene mobile Betriebssysteme wie Android, Symbian, Windows, Blackberry und IOS.
  • Verschiedene Versionen von Betriebssystemen wie iOS 5.x, iOS 6.x, BB5.x, BB6.x usw.
  • Verschiedene Mobilfunknetzbetreiber wie GSM und CDMA.
  • Häufige Updates – (wie Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – mit jedem Update wird ein neuer Testzyklus empfohlen, um sicherzustellen, dass die Funktionalität der Anwendung nicht beeinträchtigt wird.

Wie bei jeder Anwendung ist auch das Testen von mobilen Anwendungen sehr wichtig, da die Kundschaft in der Regel Millionen für ein bestimmtes Produkt ausgibt – und ein Produkt mit Fehlern wird nicht geschätzt. Es führt oft zu finanziellen Verlusten, rechtlichen Problemen und irreparablen Schäden am Markenimage.

Grundlegender Unterschied zwischen dem Testen von mobilen und Desktop-Anwendungen:

Ein paar offensichtliche Aspekte, die das Testen mobiler Anwendungen vom Testen auf dem Desktop unterscheiden

  • Auf dem Desktop wird die Anwendung auf einer zentralen Verarbeitungseinheit getestet. Auf einem mobilen Gerät wird die Anwendung auf Handgeräten wie Samsung, Nokia, Apple und HTC getestet.
  • Der Bildschirm eines mobilen Geräts ist kleiner als der eines Desktops.
  • Mobile Geräte haben weniger Speicher als ein Desktop.
  • Mobile Geräte verwenden Netzwerkverbindungen wie 2G, 3G, 4G oder WIFI, während Desktop-Geräte Breitband- oder Einwahlverbindungen verwenden.
  • Das Automatisierungswerkzeug, das für das Testen von Desktop-Anwendungen verwendet wird, funktioniert möglicherweise nicht bei mobilen Anwendungen.

Typen des Testens von mobilen Anwendungen:

Um alle oben genannten technischen Aspekte zu berücksichtigen, werden die folgenden Arten von Tests bei mobilen Anwendungen durchgeführt.

  • Usability-Tests – Um sicherzustellen, dass die mobile Anwendung einfach zu bedienen ist und den Kunden ein zufriedenstellendes Benutzererlebnis bietet
  • Kompatibilitätstests – Testen der Anwendung auf verschiedenen mobilen Geräten, Browsern, Bildschirmgrößen und Betriebssystemversionen entsprechend den Anforderungen.
  • Schnittstellentests – Testen von Menüoptionen, Schaltflächen, Lesezeichen, Verlauf, Einstellungen und Navigationsfluss der Anwendung.
  • Servicetests – Testen der Dienste der Anwendung online und offline.
  • Low-Level-Ressourcentests: Testen der Speichernutzung, automatisches Löschen von temporären Dateien, lokale Datenbank wächst Probleme als Low-Level-Ressourcen-Tests bekannt.
  • Performance-Tests- Testen der Leistung der Anwendung durch den Wechsel der Verbindung von 2G, 3G zu WIFI, die Freigabe der Dokumente, Batterieverbrauch, etc.
  • Operational Testing- Testen von Backups und Recovery-Plan, wenn eine Batterie ausfällt, oder Datenverlust während der Aktualisierung der Anwendung aus einem Speicher.
  • Installationstests – Validierung der Anwendung durch Installation/Deinstallation auf den Geräten.
  • Sicherheitstests – Testen einer Anwendung, um zu überprüfen, ob das Informationssystem Daten schützt oder nicht.

Teststrategie für mobile Anwendungen

Die Teststrategie sollte sicherstellen, dass alle Qualitäts- und Leistungsrichtlinien erfüllt werden. Ein paar Hinweise in diesem Bereich:

1) Auswahl der Geräte – Analysieren Sie den Markt und wählen Sie die Geräte aus, die weit verbreitet sind. (Diese Entscheidung hängt meist von den Kunden ab. Der Kunde oder die App-Entwickler berücksichtigen den Beliebtheitsgrad bestimmter Geräte sowie den Marketingbedarf für die Anwendung, um zu entscheiden, welche Handgeräte für die Tests verwendet werden sollen.)

2) Emulatoren – Der Einsatz von Emulatoren ist in der Anfangsphase der Entwicklung äußerst nützlich, da sie eine schnelle und effiziente Überprüfung der App ermöglichen. Der Emulator ist ein System, das Software von einer Umgebung auf eine andere überträgt, ohne die Software selbst zu verändern. Er dupliziert die Funktionen und arbeitet auf dem realen System.

Typen von mobilen Emulatoren

  • Geräteemulator- wird von Geräteherstellern bereitgestellt
  • Browseremulator- simuliert mobile Browserumgebungen.
  • Betriebssystem-Emulator- Apple bietet Emulatoren für iPhones, Microsoft für Windows-Phones und Google Android-Phones

Empfohlenes Tool

#1) Kobiton

Kobiton ist eine erschwingliche und hochflexible Cloud-basierte Plattform für mobile Erlebnisse, die das Testen und die Bereitstellung von nativen, Web- und Hybrid-Apps auf Android und iOS mit echten Geräten beschleunigt. Ihre neue skriptlose Testautomatisierung hilft Teams ohne Programmierkenntnisse, offene Standard-Appium-Skripte mit Leichtigkeit zu erstellen.

=> Besuchen Sie die Kobiton-Website

Liste einiger kostenloser und einfach zu verwendender Emulatoren für Mobilgeräte

i. Handy-Emulator – Zum Testen von Handys wie iPhone, Blackberry, HTC, Samsung usw.

ii. MobiReady – Damit können wir nicht nur die Web-App testen, sondern auch den Code überprüfen.

iii. Responsivepx – Es prüft die Reaktionen der Webseiten, das Erscheinungsbild und die Funktionalität der Websites.

iv. Screenfly – Es ist ein anpassbares Tool und wird verwendet, um Websites in verschiedenen Kategorien zu testen.

3) Nachdem ein zufriedenstellendes Niveau der Entwicklung für die mobile App abgeschlossen ist, können Sie zum Testen auf den physischen Geräten übergehen, um mehr auf realen Szenarien basierende Tests durchzuführen.

4) Ziehen Sie Cloud Computing-basierte Tests in Betracht: Cloud Computing bedeutet, dass Geräte auf mehreren Systemen oder Netzwerken über das Internet betrieben werden, wo Anwendungen getestet, aktualisiert und verwaltet werden können. Zu Testzwecken wird die webbasierte mobile Umgebung auf einem Simulator erstellt, um auf die mobile Anwendung zuzugreifen.

Vorteile:

  • Sicherung und Wiederherstellung- Cloud Computing erstellt automatisch Sicherungskopien Ihrer Daten von einem entfernten Standort aus, was die Wiederherstellung und Wiederherstellung von Daten erleichtert. Außerdem ist die Speicherkapazität unbegrenzt.
  • Auf Clouds kann von verschiedenen Geräten und von überall aus zugegriffen werden.
  • Cloud Computing ist kosteneffizient, einfach zu bedienen, zu warten und zu aktualisieren.
  • Schnelle und schnelle Bereitstellung.
  • Webbasierte Schnittstelle.
  • Kann dasselbe Skript auf mehreren Geräten parallel ausführen.

Nachteile

  • Weniger Kontrolle – Da die Anwendung in einer entfernten oder fremden Umgebung läuft, hat der Benutzer nur begrenzte Kontrolle und Zugriff auf die Funktionen.
  • Probleme mit der Internetverbindung – die Einrichtung erfolgt über das Internet. Netzwerkprobleme wirken sich auf die Verfügbarkeit und das Funktionieren aus.
  • Sicherheits- und Datenschutzprobleme- Cloud Computing ist ein Internet-Computing und nichts im Internet ist vollständig sicher, so dass die Chancen auf Datenhacking größer sind.

5) Automatisierung vs. Manuelles Testen

  • Wenn die Anwendung neue Funktionen enthält, testen Sie sie manuell.
  • Wenn die Anwendung ein- oder zweimal getestet werden muss, tun Sie es manuell.
  • Automatisieren Sie die Skripte für Regressionstests. Wenn Regressionstests wiederholt werden, ist automatisiertes Testen perfekt dafür geeignet.
  • Automatisieren Sie die Skripte für komplexe Szenarien, die zeitaufwändig sind, wenn sie manuell ausgeführt werden.

Zwei Arten von Automatisierungstools stehen für das Testen mobiler Anwendungen zur Verfügung:

Objektbasierte mobile Testtools – Automatisierung durch Zuordnung von Elementen auf dem Gerätebildschirm zu Objekten. Dieser Ansatz ist unabhängig von der Bildschirmgröße und wird hauptsächlich für Android-Geräte verwendet.

  • Eg:- Ranorex, jamo solution

Bildbasierte Mobile Testing Tools- erstellen Automatisierungsskripte basierend auf den Bildschirmkoordinaten der Elemente.

  • Eg:- Sikuli, Egg Plant, RoutineBot

6) Die Netzwerkkonfiguration ist ebenfalls ein notwendiger Bestandteil des Mobile Testing. Es ist wichtig, die Anwendung in verschiedenen Netzen wie 2G, 3G, 4G oder WIFI zu testen.

Testfälle für das Testen einer mobilen Anwendung

Zusätzlich zu den funktionsbasierten Testfällen erfordert das Testen einer mobilen Anwendung spezielle Testfälle, die folgende Szenarien abdecken sollten.

  • Batterieverbrauch – Es ist wichtig, den Batterieverbrauch zu überwachen, während die Anwendung auf den mobilen Geräten läuft.
  • Die Geschwindigkeit der Anwendung – die Antwortzeit auf verschiedenen Geräten, mit verschiedenen Speicherparametern, mit verschiedenen Netzwerktypen usw.
  • Datenanforderungen – Für die Installation sowie um zu überprüfen, ob der Benutzer mit dem begrenzten Datenplan in der Lage sein wird, die Anwendung herunterzuladen.
  • Speicherbedarf – wiederum zum Herunterladen, Installieren und Ausführen
  • Die Funktionalität der Anwendung – stellen Sie sicher, dass die Anwendung nicht aufgrund von Netzwerkausfällen oder Ähnlichem abstürzt.

Laden Sie sich einige Beispiel-Testfälle für das Testen mobiler Anwendungen herunter:

=> Download Beispiel-Testfälle für mobile Anwendungen

Typische Aktivitäten und Vorgehensweisen beim Testen mobiler Anwendungen

Der Umfang der Tests hängt von der Anzahl der zu prüfenden Anforderungen oder dem Umfang der an der Anwendung vorgenommenen Änderungen ab. Handelt es sich um wenige Änderungen, reicht eine Runde Sanity Testing. Bei größeren und/oder komplexen Änderungen wird eine vollständige Regression empfohlen.

Ein Beispiel für ein Anwendungstestprojekt: ILL (International Learn Lab) ist eine Anwendung, die Administratoren und Verlegern helfen soll, gemeinsam Websites zu erstellen. Mithilfe eines Webbrowsers wählen die Lehrkräfte aus einer Reihe von Funktionen aus, um eine Klasse zu erstellen, die ihren Anforderungen entspricht.

Mobiler Testprozess:

Schritt 1. Identifizieren Sie die Arten von Tests: Da eine ILL-Anwendung für Browser geeignet ist, ist es obligatorisch, diese Anwendung auf allen unterstützten Browsern mit verschiedenen mobilen Geräten zu testen. Wir müssen Usability-, Funktions- und Kompatibilitätstests auf verschiedenen Browsern mit einer Kombination aus manuellen und automatisierten Testfällen durchführen.

Schritt #2. Manuelles und automatisiertes Testen: Die für dieses Projekt angewandte Methodik ist Agile mit einer Iteration von zwei Wochen. Alle zwei Wochen gibt das Entwicklungsteam einen neuen Build für das Testteam frei und das Testteam führt seine Testfälle in der QA-Umgebung aus. Das Automatisierungsteam erstellt Skripte für eine Reihe von Grundfunktionen und führt diese Skripte aus, um festzustellen, ob der neue Build stabil genug ist, um ihn zu testen. Das manuelle Testteam testet die neue Funktionalität.

JIRA wird für das Schreiben von Akzeptanzkriterien, die Pflege von Testfällen und die Protokollierung/Nachprüfung von Mängeln verwendet. Sobald die Iteration zu Ende ist, findet ein Iterationsplanungstreffen statt, bei dem dev. Das Team, der Product Owner, der Business Analyst und das QA-Team besprechen, was gut gelaufen ist und was verbessert werden muss.

Schritt #3. Beta-Tests: Sobald das QA-Team die Regressionstests abgeschlossen hat, geht der Build in den UAT über. Die Benutzerakzeptanztests werden vom Kunden durchgeführt. Dabei werden alle Fehler erneut überprüft, um sicherzustellen, dass alle Fehler behoben wurden und die Anwendung auf allen zugelassenen Browsern wie erwartet funktioniert.

Schritt #4. Leistungstest: Das Performance-Testing-Team testet die Leistung der Webanwendung mithilfe von JMeter-Skripten und mit verschiedenen Lasten für die Anwendung.

Schritt #5. Browser-Tests: Die Webanwendung wird in mehreren Browsern getestet – sowohl mit verschiedenen Simulationstools als auch mit echten mobilen Geräten.

Schritt #6. Launch-Plan: Nach jeder 4. Woche gehen die Tests in das Staging, wo eine letzte Runde von End-to-End-Tests auf diesen Geräten durchgeführt wird, um sicherzustellen, dass das Produkt für die Produktion bereit ist. Und dann geht es live!

*****************************************

Wie testet man mobile Anwendungen sowohl auf der Android- als auch auf der iOS-Plattform

Es ist sehr wichtig für die Tester, die ihre Anwendungen sowohl auf der iOS- als auch auf der Android-Plattform testen, den Unterschied zwischen den beiden Plattformen zu kennen. iOS und Android unterscheiden sich in Bezug auf Aussehen und Bedienung, App-Ansichten, Kodierungsstandards, Leistung usw.

Grundlegender Unterschied zwischen Android und iOS Testing

Sie haben vielleicht alle Tutorials durchlaufen, ich habe hier einige Hauptunterschiede aufgeführt, die Ihnen wiederum bei Ihren Tests helfen werden:

#1) Da wir viele Android-Geräte auf dem Markt haben und alle mit unterschiedlichen Bildschirmauflösungen und -größen kommen, ist dies einer der Hauptunterschiede.

Zum Beispiel ist die Größe des Samsung S2 zu klein im Vergleich zum Nexus 6. Es besteht eine hohe Wahrscheinlichkeit, dass das Layout und Design Ihrer App auf einem der Geräte verzerrt wird. Bei iOS ist die Wahrscheinlichkeit gering, da es nur eine begrenzte Anzahl von Geräten auf dem Markt gibt, von denen viele ähnliche Auflösungen haben.

Bevor es z.B. das iPhone 6 und höher gab, hatten alle älteren Versionen eine ähnliche Größe.

#2) Ein Beispiel, um den obigen Punkt zu untermauern, ist, dass die Entwickler bei Android 1x, 2x, 3x, 4x und 5x Bilder verwenden müssen, um Bildauflösungen für alle Geräte zu unterstützen, während iOS nur 1x, 2x und 3x verwendet. Es liegt jedoch in der Verantwortung des Testers, sicherzustellen, dass die Bilder und die anderen UI-Elemente auf allen Geräten korrekt angezeigt werden.

Sie können sich auf das folgende Diagramm beziehen, um das Konzept der Bildauflösungen zu verstehen:

#3) Da wir den Markt mit Android-Geräten überschwemmt haben, muss der Code so geschrieben werden, dass die Leistung konstant bleibt. Es ist also durchaus möglich, dass sich Ihre App auf Geräten der unteren Leistungsklasse langsam verhält.

#4) Ein weiteres Problem bei Android ist, dass Software-Upgrades nicht für alle Geräte auf einmal verfügbar sind. Die Gerätehersteller entscheiden, wann sie ihre Geräte aktualisieren. Es ist sehr schwierig, alles sowohl mit dem neuen als auch mit dem alten Betriebssystem zu testen.

Außerdem wird es für die Entwickler zu einer mühsamen Aufgabe, ihren Code so zu ändern, dass er beide Versionen unterstützt.

Als beispielsweise Android 6.0 auf den Markt kam, gab es eine große Veränderung, da dieses Betriebssystem begann, Berechtigungen auf Anwendungsebene zu unterstützen. Um es noch deutlicher zu machen, der Benutzer konnte die Berechtigungen (Standort, Kontakte) auch auf App-Ebene ändern.

Jetzt ist das Testteam dafür verantwortlich, dass der Bildschirm mit den Berechtigungen beim Start der App auf Android 6.0 und höher angezeigt wird und nicht auf den niedrigeren Versionen.

#5) Aus der Testperspektive ist das Testen des Pre-Production Builds (d.h. der Beta-Version) auf beiden Plattformen unterschiedlich. Bei Android kann ein Benutzer, der zur Liste der Beta-Benutzer hinzugefügt wurde, den aktualisierten Beta-Build im Play Store nur dann sehen, wenn er im Play Store mit der gleichen E-Mail-ID angemeldet ist, die als Beta-Benutzer hinzugefügt wurde.

Schlüsselfaktoren beim Testen von Mobilgeräten

Ich habe in den letzten 2 Jahren im Bereich des Testens von Mobilgeräten sowohl auf der iOS- als auch auf der Android-Plattform gearbeitet und alle unten in diesem Tutorial erwähnten Schlüsselfaktoren stammen aus meiner persönlichen Erfahrung und einige wurden aus den im Projekt aufgetretenen Problemen abgeleitet.

Definieren Sie Ihren eigenen Testbereich

Jeder hat seinen eigenen Stil des Testens. Einige Tester konzentrieren sich nur auf das, was sie mit ihren Augen sehen, und die anderen interessieren sich für alles, was hinter den Kulissen einer mobilen Anwendung abläuft.

Wenn Sie ein iOS/Android-Tester sind, würde ich Ihnen empfehlen, sich zumindest mit einigen allgemeinen Einschränkungen/grundlegenden Funktionen von Android oder iOS vertraut zu machen, da dies immer einen Mehrwert für unseren Teststil darstellt. Ich weiß, dass die Dinge schwer zu verstehen sind, ohne Beispiele zu nennen.

Nachfolgend einige Beispiele:

  • Wir können die Berechtigungen wie Kamera, Speicher usw. auf App-Ebene in Android-Geräten, die unter der Version 6.0.1 sind, nicht ändern.
  • Für iOS unter der Version 10.0 war Call Kit nicht vorhanden. Um es kurz zu machen: Call Kit wird von einer Anruf-App verwendet und zeigt eine Vollbildansicht an, wenn ein Benutzer einen Anruf von einer Anruf-App wie WhatsApp, Skype usw. erhält. Bei iOS-Versionen unter 10.0 werden diese Anrufe als Benachrichtigungsbanner angezeigt.
  • Viele von euch sind vielleicht auf Probleme mit Paytm gestoßen, bei denen die App euch nicht auf die Zahlungsseite der Bank weiterleitet, wenn ihr Geld zu eurer Brieftasche hinzufügen wollt. Wir denken, dass dies ein Problem mit unserer Bank oder dem Paytm-Server ist, aber es ist einfach so, dass unsere AndroidSystemWebView nicht aktualisiert wird. Ein wenig Wissen über Programmierung ist immer hilfreich für Sie und für Ihr Team.
  • In einfachen Worten, wann immer eine App eine Webseite öffnet, sollte AndroidSystemWebView aktualisiert werden.

Do not Limit your Testing

Testing sollte nicht nur auf das Erkunden der mobilen App und das Protokollieren von Fehlern beschränkt sein. Wir als QA sollten uns aller Anfragen bewusst sein, die wir an unseren Server richten, und der Antworten, die wir daraus erhalten.

Konfigurieren Sie Putty, um Protokolle anzusehen oder die Sumo-Logik für Protokolle zu überprüfen, je nachdem, was in Ihrem Projekt verwendet wird. Es hilft Ihnen nicht nur dabei, den End-to-End-Flow der Anwendung zu kennen, sondern macht Sie auch zu einem besseren Tester, da Sie jetzt mehr Ideen und Szenarien bekommen.

Grund: Nichts kommt ohne Grund auf diese Welt. Jede Aussage sollte einen triftigen Grund haben. Der Grund für die Analyse der Protokolle ist, dass viele Ausnahmen in den Protokollen beobachtet werden, aber sie zeigen keine Auswirkungen auf die Benutzeroberfläche, so dass wir sie nicht bemerken.

Sollten wir sie also ignorieren?

Nein, das sollten wir nicht. Es hat keinen Einfluss auf die Benutzeroberfläche, aber es könnte ein Problem für die Zukunft sein. Es könnte sein, dass unsere App abstürzt, wenn sich diese Art von Ausnahmen weiter einschleichen. Wie wir im letzten Satz über App-Crashs erwähnt haben, führt dies dazu, dass die QA Zugang zu Crashlytics des Projekts hat.

Crashlytics ist ein Tool, in dem Abstürze zusammen mit der Zeit und dem Gerätemodell protokolliert werden.

Die Frage ist nun, wenn der Tester App-Abstürze gesehen hat, warum muss er sich dann um Crashlytics kümmern?

Die Antwort darauf ist recht interessant. Es gibt einige Abstürze, die vielleicht nicht auf der Benutzeroberfläche sichtbar sind, aber in Crashlytics aufgezeichnet werden. Es könnte sich dabei um einen Absturz wegen Speichermangels oder um einige fatale Ausnahmen handeln, die sich später auf die Leistung auswirken können.

Plattformübergreifende Tests

Plattformübergreifende Interaktionstests sind sehr wichtig.

Angenommen, Sie arbeiten an einer Chat-Anwendung wie WhatsApp, die das Versenden von Bildern und Videos unterstützt, und die Anwendung wird sowohl auf iOS- als auch auf Android-Plattformen entwickelt (die Entwicklung kann synchron verlaufen oder auch nicht).

Sichern Sie sich, dass Sie die Kommunikation von Android und iOS testen, denn iOS verwendet „Objective C“, während die Android-Programmierung auf Java basiert, und da beide auf unterschiedlichen Plattformen aufgebaut sind, müssen manchmal zusätzliche Korrekturen auf der App-Seite vorgenommen werden, um Strings zu erkennen, die von unterschiedlichen Sprachplattformen stammen.

Behalten Sie die Größe Ihrer mobilen App im Auge

Ein weiterer wichtiger Rat für mobile Tester – Bitte überprüfen Sie die Größe Ihrer App nach jeder Veröffentlichung.

Wir sollten sicherstellen, dass die Größe der App nicht einen Punkt erreicht, an dem selbst wir als Endbenutzer diese App aufgrund ihrer Größe nicht mehr herunterladen möchten.

Testen von App-Upgrade-Szenarien

Für Mobile-Tester ist das Testen von App-Upgrades sehr wichtig. Stellen Sie sicher, dass Ihre App beim Upgrade nicht abstürzt, da das Entwicklerteam möglicherweise die Versionsnummer falsch zugeordnet hat.

Datenaufbewahrung ist ebenso wichtig, da alle Einstellungen, die der Benutzer in der vorherigen Version gespeichert hat, beibehalten werden sollten, wenn er die App aktualisiert.

Zum Beispiel könnte ein Benutzer seine Bankkartendaten in Apps wie PayTm usw. gespeichert haben.

Das Betriebssystem des Geräts unterstützt die App möglicherweise nicht

Klangt das interessant?

Ja, viele Geräte unterstützen Ihre App möglicherweise nicht. Viele von Ihnen wissen sicher, dass die Hersteller ihre eigenen Wrapper auf die USA aufsetzen, und es ist möglich, dass eine SQL-Abfrage Ihrer App nicht mit dem Gerät kompatibel ist und daher eine Ausnahme auslöst, was dazu führen kann, dass die App auf diesem Telefon nicht einmal gestartet werden kann.

Der Punkt hier ist: Versuchen Sie, Ihre App auf Ihren eigenen Geräten zu verwenden, außer denen, die Sie im Büro benutzen. Es ist durchaus möglich, dass Sie einige Probleme mit Ihrer App feststellen.

App Permission Testing

Als nächstes steht das Permission Testing von mobilen Apps auf der Liste. Fast jede zweite App verlangt von ihren Nutzern den Zugriff auf die Kontakte, die Kamera, die Galerie, den Standort usw. des Telefons. Ich habe schon einige Tester gesehen, die einen Fehler gemacht haben, indem sie nicht die richtigen Kombinationen dieser Berechtigungen getestet haben.

Ich kann mich an ein Echtzeit-Beispiel erinnern, als wir eine Chat-App getestet haben, die alle Funktionen zum Teilen von Bildern und Audio-Dateien hatte. Die Berechtigung für die Speicherung war auf NEIN gesetzt.

Wenn nun ein Benutzer auf die Kamera-Option klickt, wird sie erst geöffnet, wenn die Berechtigung für die Speicherung auf JA gesetzt ist. Das Szenario wurde ignoriert, da Android Marshmallow diese Funktion hatte, die besagt, dass die Kamera für diese App nicht verwendet werden kann, wenn die Speichererlaubnis auf NEIN gesetzt ist.

Der Anwendungsbereich reicht weiter als das, was wir im obigen Absatz besprochen haben. Wir sollten sicherstellen, dass die App keine Berechtigungen anfordert, die nicht verwendet werden.

Jeder Endbenutzer, der mit der Softwarebranche vertraut ist, wird die App, in der zu viele Berechtigungen angefordert werden, nicht herunterladen. Wenn Sie irgendeine Funktion aus Ihrer App entfernt haben, dann stellen Sie sicher, dass Sie den Berechtigungsbildschirm für dieselbe entfernen.

Vergleichen Sie mit ähnlichen und beliebten Apps auf dem Markt

Moral der Geschichte – Wenn Sie jemals in einem Zweifel sind, dann schließen Sie es einfach nicht selbst. Der Vergleich mit anderen ähnlichen Apps auf der gleichen Plattform kann Ihr Argument stärken, dass die zu testende Funktionalität funktionieren wird oder nicht.

Verschaffen Sie sich einen Überblick über Apples Ablehnungskriterien für Builds

Zuletzt haben die meisten von Ihnen vielleicht schon Situationen erlebt, in denen Ihre Builds von Apple abgelehnt wurden. Ich weiß, dass dieses Thema den größten Teil der Leser nicht interessieren wird, aber es ist immer gut, die Ablehnungspolitik von Apple zu kennen.

Als Tester wird es für uns schwierig, die technischen Aspekte zu berücksichtigen, aber dennoch gibt es einige Ablehnungskriterien, um die sich die Tester kümmern können.

Für weitere Informationen klicken Sie bitte hier.

Immer an vorderster Front

Als Tester sollten Sie nicht zulassen, dass die Dinge vom Entwicklungsteam/Manager an Sie weitergegeben werden. Wenn Sie leidenschaftlich gerne testen, dann seien Sie „Always on Front Foot“. Versuchen Sie, sich in Aktivitäten einzubringen, die stattfinden, lange bevor der Code zum Testen in Ihren Eimer kommt.

Am wichtigsten ist, dass Sie immer in JIRA, QC, MTM oder was auch immer in Ihrem Projekt verwendet wird, nach den neuesten Updates zu Tickets von Kunden und dem Business Analysten suchen. Seien Sie auch bereit, Ihre Ansichten mitzuteilen, wenn Sie Änderungen benötigen. Dies gilt für alle Tester, die auf verschiedenen Gebieten und Plattformen arbeiten.

Solange wir das Produkt nicht als unser eigenes empfinden, sollten wir niemals Vorschläge für neue Verbesserungen oder Änderungen an der bestehenden Funktionalität machen.

Lassen Sie Ihre App lange im Hintergrund laufen (12-24 Stunden)

Ich weiß, es klingt seltsam, aber es gibt viel Logik hinter den Kulissen, die wir alle nicht verstehen.

Ich teile dies, weil ich gesehen habe, dass die App nach dem Start abstürzt, sagen wir nach etwa 14 Stunden aus dem Hintergrundstatus. Der Grund dafür kann alles Mögliche sein, je nachdem, wie die Entwickler es kodiert haben.

Lassen Sie mich ein Echtzeit-Beispiel teilen:

In meinem Fall war der Ablauf des Tokens die Ursache dafür. Wenn eine der Chat-Apps nach 12-14 Stunden gestartet wird, bleibt sie auf dem Verbindungsbanner hängen und wird erst wieder verbunden, wenn sie beendet und neu gestartet wird. Diese Art von Dingen sind sehr schwer zu erkennen und machen das Testen von Mobilgeräten in gewisser Weise anspruchsvoller und kreativer.

Leistungstests für Ihre App

In der Welt der Mobilgeräte beeinflusst die Leistung Ihrer App das Ausmaß, in dem Ihre Anwendung weltweit anerkannt wird. Als Testteam wird es zu wichtig, die Reaktion Ihrer App zu überprüfen und noch wichtiger, wie sie funktioniert, wenn eine große Anzahl von Benutzern sie gemeinsam nutzt.

Beispiel:

Lassen Sie uns über PayTm sprechen.

Sie alle müssen auf die Option GELD HINZUFÜGEN in der PayTm-App geklickt haben, die dann den Kontostand anzeigt, den Sie in Ihrer Geldbörse haben. Wenn wir uns anschauen, was hinter den Kulissen vor sich geht, dann ist es eine Anfrage, die an den Server mit der PayTm UserID geht und der Server sendet die Antwort mit dem Guthaben auf Ihrem Konto zurück.

Der obige Fall ist nur, wenn ein Benutzer den Server getroffen hat. Wir müssen sicherstellen, dass selbst wenn 1000 Benutzer auf den Server zugreifen, sie die Antwort pünktlich zurückbekommen, denn die Benutzerfreundlichkeit ist unser oberstes Ziel.

Abschluss

Abschließend möchte ich noch einmal betonen, dass das Testen von mobilen Geräten am Anfang sehr einfach zu sein scheint, aber wenn man sich weiter damit beschäftigt, wird man verstehen, dass es nicht einfach ist, sicherzustellen, dass alles, was entwickelt wurde, auf Tausenden von Geräten auf der ganzen Welt reibungslos funktioniert.

Die meisten Apps werden nur auf den neuesten und letzten Versionen des Betriebssystems unterstützt. Es ist jedoch die Aufgabe der Tester, dafür zu sorgen, dass sie keine Szenarien auslassen. Es gibt noch viele andere Punkte, die berücksichtigt werden müssen, aber die habe ich in den anderen Tutorials nicht erwähnt.

Szenarien wie Batterieverbrauch, Unterbrechungstests, Tests in verschiedenen Netzen (3G, Wi-Fi), Tests beim Netzwechsel, Affentests von mobilen Anwendungen usw. sind alle nützlich, wenn es um mobile Tests geht.

Die Einstellung der Tester ist sehr wichtig, wenn es um die reale Testumgebung geht. Solange man seinen Job nicht liebt, wird man sich nicht die Mühe machen, die Dinge zu tun, die im Tutorial erwähnt werden.

Ich bin jetzt seit etwa 6 Jahren in diesem Bereich tätig und bin mir sehr wohl bewusst, dass die Aufgaben manchmal eintönig werden, aber es gibt viele andere Dinge, die wir selbst tun können, um diese eintönigen Aufgaben etwas interessanter zu gestalten.

Die Entwicklung der richtigen Teststrategie, die Auswahl der richtigen mobilen Simulatoren, Geräte und mobilen Testtools können sicherstellen, dass wir eine 100%ige Testabdeckung haben und uns dabei helfen, sicherheits-, benutzerfreundlichkeits-, leistungs-, funktions- und kompatibilitätsbasierte Tests in unsere Testsuiten einzubeziehen.

Nun, dies war unser Versuch, mehrere Anfragen unserer Leser nach einem Leitfaden zum Testen mobiler Anwendungen zu erfüllen.

Autoren: Danke an Swapna, Hasnet und viele andere Mobile Testing Experten für die Hilfe bei der Zusammenstellung dieser Serie!

In unserem nächsten Artikel werden wir mehr über iOS App Testing diskutieren.

Last Updated: Februar 18, 2021

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.