Ein-des-ein blog

Wie führt man Leistungstests für mobile Apps durch?

Hanna Milovidova
How to Do Mobile App Performance Testing?_1
Wie viele heruntergeladene Apps glauben Sie, löschen die Benutzer nach der ersten Nutzung? Sie werden vielleicht überrascht sein, aber es sind neun von zehn. Die Ursachen sind eine schlechte Benutzererfahrung, Einfrieren und Abstürze sowie eine geringe Leistung der wesentlichen Funktionen. Die Liste ist lang. Die meisten davon können jedoch durch umfassende und rigorose Leistungstests von mobilen Apps vor der Veröffentlichung vermieden werden. Einige Unternehmen versuchen, Geld zu sparen und lehnen es ab, ihre mobilen Anwendungen zu testen. Sie machen jedoch einen riesigen Fehler, der dazu führt, dass das Endprodukt nicht funktional ist und Zeit und Geld verschwendet werden.
Dieser Artikel wird Ihnen sagen, welche Arten von Tests verfügbar sind, und einen detaillierten Blick auf eine der wichtigsten Arten werfen —  Leistungstests für mobile Apps. Die ein-des-ein Ingenieure, die in der Entwicklung mobiler Apps erfahren sind, werden teilen, wie es durchgeführt wird, seinen Zweck, Werkzeuge und Ansätze.

Mobile Anwendung: Was ist das?

Heute ist eine mobile App ein Softwarestück, das speziell für die Funktionalität von mobilen und tragbaren Geräten wie Smartphones, Tablets, Smartwatches und anderen intelligenten Geräten wie Fernsehern oder sogar Kühlschränken entwickelt wurde.  Ihre Anwendungen variieren stark, von Dienstleistungen, Einkaufen und Unterhaltung bis hin zu Online-Medizinassistenten, die maschinelles Lernen und Produktionslinienmanagement für große Fabriken nutzen. Benutzer laden mobile Apps aus den mobilen Stores Appstore (iOS) und Google Play Markt (Android) herunter. Apps können auch Elemente von Unternehmensökosystemen sein. Alle Anwendungen werden für ein bestimmtes Betriebssystem des mobilen Geräts erstellt. Die beliebtesten Betriebssysteme sind iOS und Android. Zusammen machen sie über 99 % des globalen Marktanteils aus.

Warum Leistungstests für mobile Apps verwenden?

Es ist nicht nur ein technisches Kontrollkästchen. Es ist der Unterschied zwischen einer App, die die Benutzer begeistert, und einer, die in einer Sekunde von ihren Telefonen verschwindet. Heutzutage erwarten die Menschen, dass alles schnell, reibungslos und zuverlässig ist. Ein eingefrorener Bildschirm oder ein unerwarteter Absturz verwandeln Begeisterung sehr schnell in Frustration. Daher ist der offensichtlichste Grund für Tests Benutzerzufriedenheit. Wenn Ihre App langsam öffnet oder während der Navigation ruckelt, werden die Benutzer nicht warten — sie wechseln zu einer schnelleren Alternative. Und in überfüllten App-Stores sind zweite Chancen selten, seien wir ehrlich. Leistungstests sind auch Ihr Sicherheitsnetz für versteckte Probleme, die nur im echten Leben auftreten. Speicherlecks, unzuverlässige Netzwerkverbindungen oder Apps, die viel Akku verbrauchen, zeigen sich möglicherweise nicht während der Entwicklung. ABER! Sobald Benutzer anfangen, zwischen Apps zu wechseln, die Netzwerke zu wechseln oder wenig Speicherplatz haben, werden diese Probleme sichtbar. Ein weiterer großer Grund ist der Ruf Ihrer Marke. Wenn eine App ständig abstürzt, sind die Leute nicht nur genervt – sie beginnen, das Vertrauen in das Unternehmen dahinter zu verlieren. Und es braucht nicht viele schlechte Bewertungen, um Monate guter Arbeit zunichte zu machen. Ein frustrierter Benutzer kann mehr sagen als zehn glückliche jemals werden, das ist das Gesetz des Marketings. Außerdem gibt es auch geschäftliche Auswirkungen. Im Mobile Commerce oder Fintech kann selbst eine kurze Verzögerung die Konversionen reduzieren oder zu fehlgeschlagenen Transaktionen führen.

Mobile-Anwendungstest

Mobile Application Testing
Die Testung von mobilen Anwendungen ist ein mehrstufiger Prozess, der es ermöglicht, eine App anhand zahlreicher Parameter und aus verschiedenen Perspektiven zu überprüfen. Das Ziel ist sicherzustellen, dass die entwickelte Software alle funktionalen und nicht-funktionalen Anforderungen erfüllt und den Endbenutzern ein herausragendes Benutzererlebnis bietet.  Es gibt zahlreiche Möglichkeiten, wie man mobile Anwendungen testen kann. Dazu gehören sowohl manuelle als auch automatisierte Ansätze. 

Funktionale Tests

Es ist eine der grundlegenden Testarten. Ihr Zweck ist es, zu überprüfen, ob die tatsächlichen Eigenschaften den funktionalen Anforderungen der App entsprechen. Mit einfachen Worten, um sicherzustellen, dass die Anwendung über alle erforderlichen Funktionen verfügt, um die Geschäftsbedürfnisse abzudecken.

Kompatibilitätstest

Diese Art hat die höchste Bedeutung, wenn es um das Testen von mobilen Apps geht. Der Zweck des Tests besteht darin, die Kompatibilität einer mobilen App mit allen in den Entwicklungsanforderungen angegebenen Geräten zu überprüfen. Dies ist normalerweise ein größeres Anliegen beim Testen von Android-Apps. Der Grund dafür ist die enorme Vielfalt an Android-Geräten und Versionen des Betriebssystems. Eine Liste von mobilen Geräten, die für Tests erforderlich sind, zu definieren, ist nicht einfach, da das Testen mit allen vorhandenen Geräten kostspielig ist und keinen Sinn macht.

Lokalisierungstest

Heutzutage sind die meisten Anwendungen für den globalen Einsatz konzipiert, und Sie sollten immer regionale Besonderheiten im Hinterkopf behalten, wie Sprachen, Zeitzonen und Kultur. Es ist wichtig zu beachten, dass ein Design, das für den westlichen Markt entwickelt wurde, möglicherweise nicht für ein Publikum in östlichen Ländern geeignet ist und umgekehrt. Das offensichtlichste Szenario ist die Verwendung von Sprachen, die von rechts nach links geschrieben werden.

Leistungstest

Mobile Leistungstests sind eine Reihe von Testarten, die darauf abzielen, die Leistung, Stabilität, den Ressourcenverbrauch und andere Qualitätsmerkmale einer Anwendung unter verschiedenen Nutzungsszenarien und Lasten zu bestimmen. Leistungstests ermöglichen es Ihnen, mögliche Schwachstellen und Verwundbarkeiten im System zu finden, um deren nachteilige Auswirkungen auf die Leistung des Programms im realen Leben zu verhindern.

Sicherheitstest

Dieser Test zielt darauf ab, alle möglichen Schwachstellen für Hacking, Authentifizierung und Autorisierung, Datensicherheit, Sitzungsmanagement und andere Sicherheitsstandards zu identifizieren. 

Usability-Tests

Die Aufgabe besteht darin, eine mobile Anwendung anhand der folgenden drei Kriterien für den Endbenutzer zu bewerten: Effizienz, Genauigkeit und Vollständigkeit sowie Zufriedenheit. Es ist entscheidend, Usability-Tests von der frühesten Phase des Entwicklungszyklus durchzuführen. Diese Art von Tests erfordert aktive Benutzerbeteiligung. Gleichzeitig können die Ergebnisse das Design der Anwendung beeinflussen, was später im Projekt sehr schwierig zu ändern ist.

Andere

Zusätzlich zu den grundlegenden Testarten gibt es viele weitere Tests, die bei der Prüfung einer mobilen Anwendung durchgeführt werden können:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler
  • Datenverbrauch – sehen Sie, wie viel Daten die App verbraucht
  • Multitasking – Verhalten beim Wechseln von Apps oder Ausführen von Hintergrundaufgaben überprüfen
Neben Tests beeinflussen viele andere Faktoren den Erfolg der App. Lesen Sie unseren Artikel 6 Tipps, um Ihr Projekt auf Kurs zu halten und erfolgreich zu sein, um mehr zu erfahren.

Arten von Apps und Funktionen von Leistungstests

E-Commerce / Einzelhandels-Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zum Testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Bankwesen / Fintech-Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zum Testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Soziale Medien / Messaging-Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zum Testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Spiele-Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zu testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Gesundheit & Fitness Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zum Testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Reise / Navigations-Apps

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
Funktionen zum Testen:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler

Strategie für die Leistungstest von mobilen Anwendungen

Leistungstests sind ein umfangreicher Multitasking-Prozess, der aus vielen Schritten besteht. Er überprüft die Leistung des Systems unter allen möglichen Bedingungen. Um effektive Testergebnisse zu gewährleisten, ist eine kristalline Strategie für Leistungstests erforderlich. Glücklicherweise ist es nicht notwendig, das Rad jedes Mal neu zu erfinden. Ihre Phasen wurden im Laufe der Lebensdauer von mobilen Apps lange entwickelt und verfeinert. Sie unterscheiden sich auch nicht von Leistungstests anderer Softwaretypen. Eine detaillierte Analyse der Anwendung wird jedoch jedes Mal durchgeführt. Sie umfasst alle Informationen, die über das System gesammelt wurden:
  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
  • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
  • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
  • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
  • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler
  • Datenverbrauch – sehen Sie, wie viel Daten die App verbraucht
  • Multitasking – Verhalten beim Wechseln von Apps oder Ausführen von Hintergrundaufgaben überprüfen
  • Geräte & OS-Versionen – stellen Sie sicher, dass es auf verschiedenen Telefonen und Systemen funktioniert
Strategy for Performance Mobile Applications Testing

Schritt 1: Testziele und Geschäftsanforderungen identifizieren

Die Effektivität von mobilem Leistungstest ist direkt proportional zu der Klarheit seiner Ziele. Bevor ein Ziel zur Testliste hinzugefügt wird, stellen Sie sicher, dass jeder Test die Funktionalität abdeckt, die den Geschäftszielen entspricht. Angenommen, wir sprechen über eine Telemedizin-Anwendung. In diesem Fall wird der Tester zunächst mit den Hauptfunktionen der Anwendung arbeiten, die direkt die Qualität der Patientenversorgung beeinflussen — Überwachung der Vitalzeichen, Kommunikation mit dem behandelnden Arzt und Verschreibung von Medikamenten.

Schritt 2: Test-KPIs definieren

Bevor Sie mit dem Testen der Leistung mobiler Anwendungen beginnen, sollten Sie Benchmarks für die getesteten Parameter festlegen. Andernfalls, wie können Sie feststellen, ob die Anwendung die festgelegten Anforderungen erfüllt? Je nach Zweck der Anwendung kann die Liste der KPIs variieren. Hier ist ein Beispiel für die häufigsten Metriken.

Leistungsprüfungs-KPIs

Anzahl der Benutzer
Bestimmung der maximalen Anzahl von Benutzern der Anwendung
Antwortzeit
Die Zeit, die die Anwendung benötigt, um eine Benutzeranfrage zu bearbeiten
Anfragen pro Sekunde
Messung der Anzahl der an das Backend gesendeten Anfragen
Transaktionen pro Sekunde
Messung der Anzahl der an den Server gesendeten Transaktionen
Fehlerquote
Prozentsatz der Fehler aus der Gesamtzahl der Antworten pro Zeiteinheit
Prozessorlast
Zeit, die der Prozessor mit der Ausführung eines Arbeitsthreads verbringt
Gedächtnislast
Die Anzahl der MB im physischen Speicher, die für andere Programme und Prozesse frei ist.

Schritt 3: Testszenarien priorisieren

Der größte Fehler aller unerfahrenen Tester besteht darin, Anwendungsfunktionen nacheinander zu testen, unabhängig von ihrer Bedeutung. Das Testen ohne vorherige Auswahl von Fällen führt nur zu verschwendeter Zeit ohne Nutzen für das Produkt. Der optimale Ansatz besteht darin, einige Szenarien auszuwählen, die wichtige Funktionen der App testen. Erst nachdem alle Hauptfunktionen von A bis Z getestet wurden, ist es Zeit, mit dem Testen der sekundären Funktionen zu beginnen, ohne die die Anwendung die primären Bedürfnisse der Endbenutzer nicht erfüllen kann. 

Schritt 4. Simulieren Sie eine reale Umgebung für Leistungstests von Anwendungen

Eines der ultimativen Ziele von Anwendungstestungen ist es, sicherzustellen, dass der Benutzer eine großartige Erfahrung bei der Interaktion mit der App hat. Sie können davon ausgehen, dass alle Tests auf echten Geräten durchgeführt werden sollten. Dieser Ansatz ist jedoch nicht immer zeiteffizient, und sie sind nicht immer notwendig. Experten verwenden oft Systememulatoren, um den Aufwand des QA-Teams und die Kosten für Tests zu reduzieren.  Solche Tools stellen künstlich grundlegende Parameter mobiler Plattformen nach und ermöglichen es Testern, die Benutzeroberfläche der Anwendung aus der Perspektive des Benutzers zu sehen und zu interagieren. Physische Geräte werden jedoch normalerweise verwendet, um Apps zu testen, wenn sie native Funktionen wie die Kamera, GPS, Anrufe und mehr nutzen.

Schritt 5. Testansatz in Bezug auf die gesamte Entwicklungsmethodik definieren

Der Testprozess unterscheidet sich je nach Methodik des Softwareentwicklungszyklus. Angenommen, Ihr Projekt basiert auf Agile. In diesem Fall ist das Testen keine separate Phase. Es ist eng mit allen Phasen der Entwicklung verbunden, wie Anforderungen, Design, Codierung und Generierung von Test-Suiten. Das Testen erfolgt parallel zum Entwicklungslebenszyklus. Im Wasserfallmodell ist das Testen eine separate Phase des Entwicklungszyklus, die nach Abschluss eingeleitet wird. Jede Methodik hat ihre Vor- und Nachteile. Es spielt jedoch keine Rolle, welche Sie verwenden; die Leistungstests der Anwendung müssen der Methodik des gesamten Projekts folgen. Andernfalls wird es totale Verwirrung geben.

Unterschiede zwischen Agile und Waterfall Testing

  • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
  • AgileWaterfall
    Testing is not a separate phase and occurs at the same time as development.Testing is a separate phase. All levels and types of testing can only begin after development is complete.
    Testers and developers work together.Testing is a separate phase. All levels and types of testing can only begin after development is complete.
    Testers are involved in the development of requirements. This helps in mapping requirements to behavior in a real-world scenario and forming acceptance criteria. In addition, logical Acceptance Test Cases will be ready along with the requirements.Testers may not be involved in the requirements phase.
    Acceptance testing is performed after each iteration of the projectAcceptance tests are conducted only at the end of the project.
    Each iteration completes its testing, allowing regression testing every time a new feature or logic is released.Regression testing can only be implemented after development is complete.
    No delays between coding and testing.There are delays between coding and testing.
    Continuous testing with overlapping test levels.Testing is a time-defined action, and levels of testing cannot overlap.
    Testing is the best practice.Testing is often skipped.

    Schritt 6: Berücksichtigen Sie die Netzwerkbandbreite und die Signalverzögerung Ihres Anbieters beim Testen

    Eine der weniger offensichtlichen Fakten, die während der Anwendungstests berücksichtigt werden müssen, ist der Unterschied in der Signalqualität zwischen den Telekommunikationsunternehmen, deren Latenz und Bandbreite variieren können. Zum Beispiel können bei weitem nicht alle Unternehmen das gesamte Gebiet mit 4G oder zumindest 3G-Unterstützung abdecken. Aus diesem Grund müssen Leistungstester die Anwendung optimieren. Selbst bei schlechter Internetqualität sollte der Benutzer ein großartiges Benutzererlebnis haben.

    Testumgebung für die Leistung von mobilen Apps

    Die ordnungsgemäße Konfiguration der Testumgebung ist eines der wichtigsten Parameter, die die Genauigkeit der Tests und die Qualität der Ergebnisse beeinflussen. Je nach Testobjekt können die Einstellungen der Leistungs-Testumgebung variieren. Es wird jedoch immer empfohlen, die folgenden Maßnahmen zu ergreifen, um die Fairness der Testergebnisse sicherzustellen.

    Erforderliche Schritte zur Einrichtung der Testumgebung

    Hier sind vier Hauptschritte, um eine mobile Leistungstestumgebung einzurichten:

    Isolierte Testumgebung

    Während der Tests kann nur der Testbenutzer auf die App-Ressourcen zugreifen. Es müssen keine anderen Aktivitäten einbezogen werden, die Systemressourcen verbrauchen, es sei denn, das Testszenario erfordert dies. Andernfalls gefährden Sie die Genauigkeit der Tests. Wenn die Plattform Anfragen von mehreren Benutzern gleichzeitig verarbeitet, erhöht sich die Last auf dem Server, was die Systemleistung beeinträchtigt und zu verzerrten Testergebnissen führt.

    Datensimulation mit Testdatengeneratoren

    Leistungstests stehen oft im Zusammenhang mit Datenbankoperationen. Es ist entscheidend, sich während der Tests auf Prozesse wie das Schreiben, Lesen und Löschen von Daten zu konzentrieren. Genau diese grundlegenden Aktionen bilden die Basis aller Funktionen. Ein fehlerhaftes Ausführen dieser Aktionen kann zu einem kritischen Fehler führen und die Anwendung zum Stillstand bringen. Offensichtlich haben QA-Experten zum Zeitpunkt der Erstellung der Anwendung keine tatsächlichen Daten zum Testen. Dieses Problem wird durch zahlreiche Daten-Generierungstools gelöst, die künstlich Analogien zu den Daten herstellen, mit denen das System in realen Anwendungsfällen umgehen würde.

    Eine App vom Netzwerk isolieren

    Es ist ein optionaler Schritt bei der Leistungstestung von mobilen Apps. Angenommen, das Netzwerk hat eine hohe Bandbreite, die die Aktionen des Testers und anderer Benutzer vollständig abdecken kann. In diesem Fall ist es nicht notwendig, die Anwendung von der Außenwelt zu isolieren. Es ist jedoch erwähnenswert, dass die meisten Netzwerke nicht so kurze Timeouts bieten, was das Endergebnis nicht beeinträchtigen wird.

    Proxy-Server von der Netzwerkroute ausschließen

    Ein weiterer Faktor, der die Geschwindigkeit des Datenflusses vom Server zum Client reduzieren und die Anwendungsleistung negativ beeinflussen kann, ist ein Proxy-Server. Daher wird während der Leistungstests der Datenübertragungsprozess zwischen Server und Client in einem separaten Netzwerk ohne Zwischenhändler durchgeführt.

    Herausforderungen, mit denen QA Esports bei der Leistungstestung von mobilen Apps konfrontiert ist

    In den meisten Fällen erfordert die Leistungstestung von mobilen Apps mehr Aufwand vom Testteam als die Desktop-Version. Dies liegt an der unglaublichen Vielfalt der mobilen und tragbaren Geräte, die die Benutzer für die App verwenden können. Die Vielzahl von Betriebssystemen, Bildschirmgrößen und Seitenverhältnissen sowie die radikal unterschiedlichen technischen Komponenten im Inneren — all dies schafft zusätzliche Kopfschmerzen für das Testteam.

    Die häufigsten Probleme beim Testen der Leistung von mobilen Apps

    Breite Palette an gerätespezifischen Funktionen und nativen Modulen

    Alle modernen Smartphones verwenden GPS, Kamera, Mikrofon, verschiedene Sensoren und andere Funktionen, die schwer mit Online-Emulatoren zu simulieren sind. Wenn Sie testen müssen, wie die App das GPS-Modul verwendet und den Standort verfolgt, ist der einzige Weg, dies mit einem physischen Gerät zu tun.  Und da die App auf allen möglichen Geräten getestet werden muss, müssen Sie mehr Geld ausgeben, um eine breitere Datenbank von Geräten zu kaufen, was das Testbudget erhöht. 

    Vielfalt der Benutzeroberflächen

    Je nach Version Ihres Betriebssystems unterscheiden sich die Seitenlayouts, Schriftarten und die Platzierung von Steuerelementen auf dem Bildschirm erheblich. Sie werden jedoch durch allgemein akzeptierte Standards und Empfehlungen der Hersteller geregelt. Eine der Herausforderungen besteht darin, sicherzustellen, dass Ihr Produkt die UI/UX-Anforderungen des Play Markets oder des App Stores erfüllt. Andernfalls wird Ihre App nicht veröffentlicht, und Sie verlieren Zeit und Geld und benötigen dringende App-Updates.

    Herausforderungen beim Testen von Touchscreens

    Das Benutzerverhalten und die gesamte Bandbreite möglicher Interaktionen mit einer Anwendung durch Berührungen und Gesten sind schwierig auf Emulationswerkzeugen mit einem Computer zu simulieren. Selbst die Verwendung physischer Geräte erfordert viel Zeit und Fachwissen von Testern, um alle möglichen Szenarien in einer realen Umgebung zu testen. Die meiste Zeit werden all diese Manipulationen manuell durchgeführt, da dieser Aspekt des Testens von Anwendungen sehr schwer zu automatisieren ist. 

    Werkzeuge für die Leistungstests von mobilen Apps

    Konzeptionell umfasst die Leistungstestung von mobilen Apps zwei Hauptteile. Der erste besteht darin, die Produktleistung auf der Ebene der Geschäftslogik zu testen, mit anderen Worten, Anfragen durch das Backend zu verarbeiten. Der zweite besteht darin, die Geschwindigkeit und Leistung der Anwendung auf dem mobilen Gerät, sowohl physisch als auch emuliert, zu testen, d.h. die Anwendung aus der Sicht des Endbenutzers zu überprüfen. Derzeit haben Tester eine Vielzahl von Werkzeugen zur Verfügung, um den Prozess zu automatisieren und zu beschleunigen. Lassen Sie uns einen Blick auf die beliebtesten werfen.

    Die beliebtesten Werkzeuge für das Backend-Leistungstest

    JMeter

    Der unbestrittene Champion unter den Tools für mobile Leistungstests, anerkannt von Experten auf der ganzen Welt. Jmeter ist ein Open-Source-Tool. Derzeit ist es mit einer beträchtlichen Anzahl von Plugins angereichert, die Testern einen großen Spielraum bieten, um es zu nutzen. Es hat auch eine einfache und intuitive Benutzeroberfläche. Das Tool deckt ein breites Spektrum an Tests ab, einschließlich der Erstellung von Lastgeneratoren und einer Vielzahl von Controllern.  Es leistet auch hervorragende Arbeit bei der Volumen- und Verfügbarkeitstestung sowie bei der Visualisierung der Ergebnisse und der HTML-Berichterstattung.  Das Entwicklungsteam kümmert sich um seine Benutzer. Vollständige Dokumentation, die alle Jmeter-Funktionen beschreibt, ist leicht zu finden.

    Gatling

    Es ist ein Open-Source-Lasttest-Tool, das vollständig in Scala geschrieben ist. Es hat eine einfache und ausdrucksstarke DSL, die das Schreiben von Lasttest-Skripten erleichtert. Im Gegensatz zu JMeter enthält es keine grafische Benutzeroberfläche. Es kann eine beträchtliche Menge an Verkehr auf einem einzigen Computer bewältigen, wodurch die Notwendigkeit einer komplexen verteilten Testinfrastruktur entfällt.  Gatling ermöglicht es Ihnen auch, die Code-Validierung in Ihr Versionskontrollsystem einzubetten und sie problemlos zusammen mit Continuous Integration-Tools zu verwenden, um Last- und Leistungstests als Teil Ihres CI-Baus durchzuführen.

    Leistungstest auf der Client-Seite

    Nachdem der Server-Seite getestet wurde, ist es Zeit zu sehen, welche Werkzeuge verwendet werden, um die Leistung einer App von der Benutzerseite aus zu testen.

    Sauce Labs

    Dieser Dienst bietet die weltweit größte cloudbasierte Plattform für automatisierte Tests von Web- und mobilen Anwendungen. Der Dienst vermeidet die Zeit und Kosten für die Wartung Ihrer Testinfrastruktur und ermöglicht es Entwicklungsteams aller Größen, schnell zu innovieren und bessere Software zu veröffentlichen. Gegründet von dem ursprünglichen Schöpfer von Selenium, Sauce Labs hilft Unternehmen, die Softwareentwicklungszyklen zu beschleunigen, die App-Qualität zu verbessern und sicher auf mehr als 700 Browser/Betriebssystem-Plattformen, einschließlich Windows, Linux, iOS, Android und Mac OS X, bereitzustellen.

    Appium

    Appium ist ein plattformübergreifendes Tool, das es Ihnen ermöglicht, Tests für mobile Plattformen (iOS, Android, Windows) unter Verwendung von APIs zu schreiben. Es ist eines der am häufigsten verwendeten Tools für Regressionstests von Anwendungen auf Smartphones und Tablets. Es unterstützt das Testen von nativen, hybriden und mobilen Webanwendungen.

    UI Automator

    UI Automator wird von der Google Corporation entwickelt und ist im Android SDK enthalten. UI Automator ist ein Pendant zum UIAutomation-Tool von Apple zum Testen von Android-Anwendungen. Es besteht aus Java-API-Bibliotheken, die Methoden zum Erstellen von UI-Tests enthalten.

    Robotium

    Robotium ist eine Open-Source-Testumgebung zum Schreiben automatisierter Gray-Box-Tests für Android-Anwendungen. Mit der Unterstützung von Robotium können Testentwickler Funktionsskripte, Systemtests und Abnahmetests schreiben, die mehrere Bereiche der Android-Aktivität abdecken. Sie können dieses Tool verwenden, um sowohl Apps zu testen, bei denen der Quellcode verfügbar ist, als auch Apps, bei denen nur die APK-Datei verfügbar ist.

    Selendroid

    Selendroid ist eine weitere Testautomatisierungsumgebung zum Testen von nativen und hybriden Android-Anwendungen. Ihre Tests werden mit der Selenium Webdriver-Client-API geschrieben.

    Testdroid 

    Es ist ein weiteres cloud-basiertes mobiles App-Testtool, das Entwicklern ermöglicht, Entwicklungskosten zu sparen, die Markteinführungszeit zu verkürzen und betriebliche sowie unvorhersehbare Ausgaben zu reduzieren. Es ist eine der zuverlässigen Plattformen für mobile Spieletests für Android und iOS. Es bietet remote manuellen Zugriff auf mehr als 300 echte Android-Geräte vor dem Start einer App.

    Beispiele für Performance-App-Tests

    Examples of performance app testing

    Lasttest 

    Testen der Reaktionszeit der Anwendung bei verschiedenen Anfragen, um sicherzustellen, dass die Anwendung unter durchschnittlicher Benutzerlast wie erforderlich funktioniert.

    Stresstest

    Die Leistung einer Anwendung unter Lasten zu testen, die mehrere Male größer sind als die Benutzerlasten. Mit Lasttests können wir tatsächliche Daten zu den Leistungsgrenzen der Anwendung erhalten und die Fähigkeit des Programms zur Handhabung von Ausnahmen, Stabilität und Robustheit untersuchen. Der Unterschied zwischen Leistungstests und Lasttests liegt in der signifikant erhöhten Last auf der Anwendung.

    Stabilitätstest  

    Im Testprozess wird die Leistung der Anwendung über einen längeren Zeitraum bei einer durchschnittlichen Belastung des Programms bewertet.

    Volumenprüfung

    Tests werden basierend auf einer zunehmenden Menge an Daten durchgeführt, die in der Anwendung gespeichert und verwendet werden, nicht auf der Last und der Laufzeit.

    Checkliste für die Leistungstests von mobilen Apps

    • App-Start – überprüfen Sie, wie schnell die App öffnet und benutzbar wird
    • Bildschirm & Tastenreaktion – stellen Sie sicher, dass Bildschirme und Tasten nicht verzögert reagieren
    • CPU & Speicher – überwachen, wie sehr die App das Gerät belastet
    • Batterieverbrauch – stellen Sie sicher, dass sie den Akku nicht zu schnell entlädt
    • Netzwerk – Testen über Wi-Fi, 4G/5G und langsame Verbindungen
    • Abstürze & Fehler – verfolgen Sie alle Abstürze oder größeren Fehler
    • Datenverbrauch – sehen Sie, wie viel Daten die App verbraucht
    • Multitasking – Verhalten beim Wechseln von Apps oder Ausführen von Hintergrundaufgaben überprüfen
    • Geräte & OS-Versionen – stellen Sie sicher, dass es auf verschiedenen Telefonen und Systemen funktioniert
    • Belastung & Stress – Testen mit mehreren Benutzern oder großen Datenmengen, um Bruchpunkte zu finden
    • Ausdauer / Eintauchen – die App lange laufen lassen, um Verlangsamungen oder Speicherlecks zu erkennen
    • Benutzererfahrung – Überprüfen Sie die Flüssigkeit, Bildraten und allgemeine Reaktionsfähigkeit

    Zusammenfassung

    Bei der Definition von Leistungstests und deren Arten kommt es oft zu Missverständnissen und Verwirrung über diese Begriffe. Um dies zu vermeiden und das gewonnene Wissen zu konsolidieren, lassen Sie uns zusammenfassen. Leistungstests überprüfen die Einhaltung von nicht-funktionalen Anforderungen wie Anwendungsleistung und Bedienbarkeit unter verschiedenen Lasten und Bedingungen.
    ein-des-ein banner red