Leistungstests für mobile Apps

⚡ Intelligente Zusammenfassung

Bei Leistungstests für mobile Apps wird gemessen, wie schnell eine Anwendung startet, wie viel Akku und Speicherplatz sie verbraucht, wie schnell ihre APIs reagieren und wie reibungslos sie sich in unzuverlässigen Netzwerken verhält.

  • 🔘 Drei Kategorien: Geräteperformance, Server- oder API-Performance und Netzwerkperformance decken zusammen alle Engpässe im Mobilfunkbereich ab.
  • ☑️ Gerätesignale: Startzeit, Batterieverbrauch, Speichernutzung, Hardwareabweichungen und Hintergrundwiederherstellung sind die wichtigsten Geräteprüfungen.
  • Serversignale: Nutzlastgröße, Anzahl der API-Aufrufe pro Aktion und ein dokumentierter Failover-Plan für Serverausfallzeiten.
  • 🧪 Netzwerksignale: Jitter, Paketverlust und Geschwindigkeitsänderungen müssen alle zu einer klaren Meldung und nicht zu einem eingefrorenen Bildschirm führen.
  • Werkzeug: RobotiumMonkeyRunner und Automator werden hier erwähnt, die ersten beiden werden jedoch nicht mehr weiterentwickelt.
  • 📊 Bereitschaft: Eine Checkliste, die RAM, Reaktionszeit, Parallelverarbeitung und Absturzsicherheit abdeckt, entscheidet darüber, ob ein Build veröffentlicht wird.

Leistungstests mobiler Apps auf Geräte-, Server- und Netzwerkebene

Die Performance ist für jede mobile App von entscheidender Bedeutung. Funktioniert Ihre App nicht einwandfrei, deinstalliert der Nutzer sie und sucht sich eine andere, leistungsfähigere Anwendung.

Ihre mobile Anwendung muss gründlich getestet werden, bevor sie für den Endbenutzer freigegeben wird.

Teststrategie für mobile Anwendungen

Die Anwendungsleistung auf einem Mobiltelefon oder einem anderen Smartgerät wird normalerweise in den folgenden drei Kategorien gemessen.

  • Geräteleistung
  • Server-/API-Leistung
  • Überwachung der

Das folgende Diagramm ordnet diese drei Ebenen ihren Kontrollen zu.

Strategiediagramm für das Testen mobiler Anwendungen: Aufteilung der Leistungsprüfungen nach Gerät, Server und Netzwerk

Geräteleistung

Wenn der Kunde eine langsame App feststellt, ärgert er sich.

Zur Überprüfung der Geräteleistung sollten Sie Folgendes prüfen:

  • App-Start: Wie lange dauert es, bis Ihre App startet? Es ist der erste vom Benutzer beurteilte Leistungsparameter. Als Faustregel gilt: Nachdem der Benutzer auf das App-Symbol tippt, sollte der erste Bildschirm nach 1–2 Sekunden angezeigt werden.
  • Akkulaufzeit bei App-Nutzung: Bei dauerhafter Nutzung verbrauchen manche mobile Apps viel Akku und erhitzen das Smartphone. Dies geschieht normalerweise, wenn die App mehr Ressourcen nutzt als nötig, was den Prozessor zusätzlich belastet.
  • Speicherverbrauch: Wenn die Funktion Tests einer App sollte der Speicherverbrauch einer App überprüft werden. Durch die Implementierung bestimmter Funktionalitäten in der App erhöht sich auch der Speicherverbrauch. Zum Beispiel in Android Apps, wenn Push-Benachrichtigungen implementiert sind, erhöht sich der Speicherverbrauch.

    In einigen Fällen wurde beobachtet, dass die Speichernutzung des gesamten Betriebssystems lediglich 14 % beträgt, eine neue App jedoch 11 % verbraucht. Daher müssen diese Faktoren berücksichtigt werden, bevor die App in der realen Welt bereitgestellt oder an den Kunden übergeben wird.

  • Hardware-/Software-Variante: Beim Testen einer mobilen App ist es zwingend erforderlich, Apps auf verschiedenen Geräten zu überprüfen. Es kann sein, dass die App auf einem Gerät reibungslos läuft, auf dem anderen jedoch nicht. Wie für verschiedene Anbieter von Android Auf Geräten können wir die App auf Samsung-, HTC- und Lenovo-Telefonen überprüfen. Ebenso muss die App mit unterschiedlichen RAM- und Prozessorspezifikationen wie 1 GB oder 2 GB getestet werden.
  • Nutzung mit anderen Apps: Wenn die zu testende App parallel mit anderen Apps läuft, sollte es keine Störungen geben. Der beste Weg, dies zu überprüfen, besteht darin, zwischen der getesteten App und anderen Apps zu wechseln.
  • App im Hintergrund: Wenn eine im Hintergrund laufende App abgerufen wird, sollte sie ihren vorherigen Zustand beibehalten. Wird dies nicht korrekt behandelt, gehen Daten verloren. Verwandte Anwendungsfälle des Lebenszyklus werden in [Referenz einfügen] behandelt. Unterbrechungstests.

Server-/API-Leistung

Wenn die App über die API mit dem Server interagiert, ist die Antwortzeit entscheidend für die Performance. Zur Überprüfung der Serverperformance sollten Sie Folgendes prüfen:

  • Daten zum und vom Server: Die App sollte die vom Server gesendeten Daten effizient verarbeiten. Das Laden der Daten darf nicht zu lange dauern. Bei manchen Apps werden die Daten in einem bestimmten Format gesendet. Daher müssen sie vor der Anzeige in der App in ein geeignetes Format konvertiert werden. Dadurch kann die App mitunter langsamer werden und die Antwortzeit verlängern.
  • Von der App generierte API-Aufrufe: Die Anzahl der Aufrufe von der zu testenden App an den von der App generierten Server sollte geringer sein. In einigen Fällen werden mehrere API-Aufrufe für dieselbe Funktionalität durchgeführt. Für eine bessere Leistung sollte dies mit einer geringeren Anzahl von Aufrufen bewältigt werden.
  • Serverausfallzeit: Sollte der Server aus irgendeinem Grund ausfallen oder nicht erreichbar sein, können wir die Daten in der nativen Datenbank speichern. So können wir bei Serverausfall die in der nativen Datenbank gespeicherten Daten anzeigen. Alternativ könnten Failover-Datenbankserver eingesetzt werden. Das heißt, wenn einer der Server ausfällt oder gewartet wird, sollte der Backup-Server zum Umschalten bereitstehen. Der Failover-/Backup-Server sollte kontinuierlich mit dem Hauptserver repliziert und synchronisiert werden.

Überwachung der

Die Leistung der App in verschiedenen Netzwerken und Netzwerkeigenschaften muss gemessen werden.

Um die Netzwerkleistung zu überprüfen, sollten Sie die folgenden Dinge beachten.

  • Bammel: Wenn es beim Empfang von Informationen im Netzwerk zu Verzögerungen kommt, spricht man von Jitter. Es handelt sich um ein Problem bei verbindungslosen Netzwerken oder Paketvermittlungsnetzwerken. Da die Informationen in Pakete verteilt werden, können Pakete auf einem unterschiedlichen Weg vom Sender zum Empfänger wandern. Wenn Daten am vorgesehenen Ort ankommen, werden sie verschlüsselt, als sie ursprünglich gesendet wurden. Im Falle von Jitters sollte die mobile App in der Lage sein, damit umzugehen.

    Sie müssen dem Endbenutzer die entsprechenden Benachrichtigungen anzeigen, entweder dass er die Anfrage erneut senden oder warten soll, bis das System erneut antwortet.

  • Paketverlust: Im Falle eines vollständigen Paketverlusts sollte die App in der Lage sein, die Informationsanfrage erneut zu senden oder entsprechende Warnmeldungen zu generieren. Wenn die Daten nicht vollständig sind, kann der Benutzer die in der App angezeigten Informationen nicht verstehen. Dies kann für den Benutzer stressig sein. Daher ist es besser, eine entsprechende Meldung anzuzeigen oder den Benutzer aufzufordern, es erneut zu versuchen.
  • Netzwerkgeschwindigkeit: Die App muss in verschiedenen Netzwerken mit unterschiedlichen Geschwindigkeiten getestet werden. Dazu gehören Tests in 3G-, 4G- und 5G-Netzen sowie in WLAN- und Mobilfunknetzen. Das Verhalten der App sollte insbesondere dann überwacht werden, wenn beide Netze verfügbar sind und zwischen ihnen gewechselt wird.

    Beispielsweise kann es bei einer App zu Problemen kommen, wenn Nutzer zwischen dem Mobilfunknetz (4G) und WLAN wechseln. In diesem Fall reagiert die App nicht mehr und muss möglicherweise neu gestartet werden.

Fehlerbehebung bei der Leistung mobiler Anwendungen

Nachdem ich die Probleme entdeckt habe Performance Testing. Es ist Zeit dafür trace und Fehler beheben.

Problem 1) Verzögerung oder träge Reaktion der mobilen App.

Die Ursache für diese Verzögerung kann RAM, Cache usw. sein.

Sie müssen unnötige Prozesse beenden oder den Cache leeren. Die Behebung des Verbindungsproblems kann einige der Probleme lösen, die zu Verzögerungen führen

Problem 2) App startet neu, stürzt ab, friert ein oder reagiert nicht.

Es kann durch einige der folgenden Schritte behoben werden

  • Optimierung der Anwendungscodes
  • Die Software sollte gepatcht und aktualisiert werden.
  • Automatische Wiederherstellungen
  • Verwalten von RAM oder in manchen Fällen ROM bei Verwendung externer Karten
  • Wiping die Cache-Partitionierung
  • Überprüfung der Kompatibilität der App mit anderen Drittanbieter-Apps und APIs
  • Karteping die mobile Anwendung je nach Gerät

Nützliche Tools zum Testen mobiler Apps

Testtools für mobile Apps variieren je nach Gerät oder mobilem Betriebssystem. Einige gängige Tools zum Testen der Leistung mobiler Apps sind:

ANDROID

  • Robotium Es ist einfach so Selenium für mobile Apps. Der Tester kann mehrere Schritte, die zur Durchführung des Tests erforderlich sind, aufzeichnen und abspielen.
  • Affenläufer MonkeyRunner kann Tests auf realen Geräten ausführen, die an einen PC oder Emulatoren angeschlossen sind. Das Tool verfügt über eine API, die es ermöglicht, ein Smartphone, ein Tablet oder einen Emulator von außerhalb zu steuern Android Code.

⚠️ Versionshinweis: Beides Android Einträge sind veraltet. Robotium ist seit 2016 nicht mehr erschienen, und Google Kennzeichnet MonkeyRunner als nicht mehr weiterentwickelt und verweist Teams auf UI Automator und dessen Funktionen. uiautomatorviewer Inspektor stattdessen.

APPLE

  • Automat (Mac) Automator ist eine von Apple entwickelte Anwendung für macOSEs ermöglicht die Erstellung von Workflows per Mausklick (oder Drag & Drop) zur Automatisierung wiederkehrender Aufgaben in Stapelverarbeitung für schnellere Änderungen. Dies spart Zeit und Aufwand im Vergleich zur manuellen Bearbeitung jeder einzelnen Datei.

Challenges

Zu den wichtigsten Herausforderungen beim Leistungstest gehören:

  • Organisation verschiedener mobiler Plattformen und ihrer Betriebssysteme
  • Simulation von Verbindungen wie 3G, 4G, 5G oder Wi-Fi usw.
  • Einschränkungen für mobile Geräte wie Akku- und Ressourcenverbrauch
  • Benutzerfreundlichkeit von Mobiltelefonen
  • Die verschiedenen Größen mobiler Geräte zum Ausführen derselben App

Richten Sie eine Testumgebung für die Leistung mobiler Apps ein

Um die Testumgebung zu konfigurieren, müssen Sie Folgendes tun:

  • Verständnis der mobilen App, die getestet werden muss
  • Identifizierung verschiedener Betriebssysteme, auf denen die App ausgeführt werden muss
  • Aufbau des Testaufbaus
  • Erstellen Sie die Emulatoren oder Simulatoren
  • Prototypping der eigentlichen Einrichtung
  • Auswahl des geeigneten Werkzeugs für den Test

Checkliste für Leistungstests mobiler Apps

Das Testen der Leistung der mobilen Apps ist eine wichtige Maßnahme vor der Veröffentlichung. Zur Überprüfung werden Leistungstests durchgeführt

  • Wie viel RAM ist für die Nutzung dieser App erforderlich?
  • Zur Überprüfung der Geschwindigkeit und Reaktionszeit der APP unter verschiedenen Netzwerken und Umständen.
  • Sorgen Sie für ein realistisches Benutzererlebnis unter verschiedenen Netzwerkbedingungen
  • Stellen Sie sicher, dass bei mehreren Verbindungen die erforderlichen Ergebnisse erzielt werden
  • Stellen Sie sicher, dass die Anwendung nicht abstürzt.
  • Sicherstellen, dass die mobilen Anwendungen bei der Nutzung von Daten, WLAN oder anderen Konnektivitätsfunktionen einwandfrei funktionieren
  • Überwachung der Betriebszeit und der Engpässe bei der mobilen API-Nutzung
  • Um die maximale Anzahl gleichzeitiger Benutzer sicherzustellen
  • Schließlich geht es darum, die mobile App bis an ihre Grenzen auszutesten

Häufig gestellte Fragen

Bei Geräten der Mittelklasse ist eine Ladezeit von unter zwei Sekunden üblich, entsprechend der oben genannten Regel. Messen Sie das 95. Perzentil anstatt des Durchschnitts, da langsame Geräte den Großteil der tatsächlichen Beschwerden ausmachen.

Ein ANR (Application Not Reaging Event) ist ein Ereignis, das ausgelöst wird, wenn die Anwendung nicht reagiert. Android Der Hauptthread blockiert. Die Absturzfreiheitsrate ist der Anteil der Sitzungen, die ohne Absturz beendet wurden. Google Play stuft Apps, die die veröffentlichten Schwellenwerte für einen der beiden Werte überschreiten, herab.

Sechzig Bilder pro Sekunde sind der Standard für Scrollen und Animationen, neuere Bildschirme streben neunzig oder mehr Bilder pro Sekunde an. Aussetzer, auch als Ruckeln bezeichnet, wirken selbst dann wie schlechte Bildqualität, wenn keine Abstürze auftreten.

Maschinelles Lernen ermittelt für jede Metrik einen Basiswert pro Gerätemodell, sodass eine Regression anhand ähnlicher Hardware und nicht anhand eines globalen Wertes erkannt wird. Außerdem werden langsame Systeme gruppiert. traces, wobei die Reihenfolge derjenigen Engpässe, die die meisten Sitzungen betreffen, ermittelt wird.

Copilot erstellt zuverlässig wiederkehrende Code-Grundlagen, wie beispielsweise ein Ladeskript-Gerüst oder eine Schleife zur Erfassung von Speicherabfragen. Schwellenwerte und Geräteauswahl spiegeln Ihr Produkt wider; überprüfen Sie daher jede generierte Assertion, bevor Sie ihr vertrauen.

Nutzen Sie beides. Emulatoren ermöglichen kostengünstige und reproduzierbare Netzwerk- und API-Abläufe innerhalb einer Pipeline. Für Akkuverbrauch, thermische Drosselung und herstellerspezifisches Verhalten, das Emulatoren nicht originalgetreu nachbilden können, sind jedoch echte Geräte erforderlich.

JMeter ist die gängige Open-Source-Lösung, um gleichzeitige Anfragen an dieselben Endpunkte zu steuern, die die Anwendung nutzt. Sie misst die Serverkapazität, die geräteseitige Tools nie erfassen.

Ein festgelegter Grenzwert für Startzeit, Speicherbedarf oder Bundle-Größe, der vom Build-Prozess automatisch überprüft wird. Wird dieser Grenzwert überschritten, schlägt der Build fehl, sodass Regressionen bereits beim Zusammenführen und nicht erst nach der Veröffentlichung erkannt werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: