mobile application performance testing guide
Leitfaden zum Leistungstest mobiler Anwendungen:
In diesem Explizite Auswahl an Tutorials zu Leistungstests, Wir haben das Konzept von untersucht Testen der Cloud-Leistung in unserem letzten Tutorial.
Hier erfahren Sie, was eine mobile Anwendung ist, welche Arten von mobilen Anwendungen es gibt, wie Sie mobile Anwendungen testen, wie Sie eine Umgebung für Leistungstests für mobile Anwendungen einrichten, wie Sie Leistungsprobleme mit mobilen Anwendungen beheben, welche Herausforderungen damit verbunden sind und welche Tools verfügbar sind detailliert.
=> Klicken Sie hier, um eine vollständige Reihe von Leistungstest-Tutorials zu erhalten
Was du lernen wirst:
- Überblick
- Was ist eine mobile Anwendung?
- Die Architektur mobiler Anwendungen
- Ansatz zum Testen der Leistung mobiler Anwendungen
- Leistungsstrategie für mobile Anwendungen
- Testumgebung für die Leistung mobiler Anwendungen
- Herausforderungen beim Testen der Leistung mobiler Anwendungen
- Fehlerbehebung bei Leistungsproblemen mit mobilen Anwendungen
- Tools zum Testen der Leistung mobiler Anwendungen
- Fazit
- Literatur-Empfehlungen
Überblick
In der heutigen Technologiewelt sind mobile Anwendungen weit verbreitet als normale Desktopanwendungen. Die Anzahl der Benutzer, die Smartphones für den Zugriff auf die meisten ihrer Anwendungen verwenden, als für die Verwendung eines Desktops oder eines Laptops, wird drastisch erhöht.
Außerdem erwartet der Endbenutzer eine gute Antwort von der Anwendung, wenn er sie verwendet. Daher muss der Entwickler, der die mobilen Anwendungen erstellt, dies bei der Entwicklung der Anwendung berücksichtigen.
Jetzt ist das Testen der Leistung von entscheidender Bedeutung, entweder als reguläre Webanwendung oder als Anwendung auf einem mobilen Gerät. Wenn eine Anwendung ohne Leistungstest live geschaltet wird und der Endbenutzer mit Leistungsproblemen wie einer langsamen Reaktion usw. konfrontiert ist, wird er versuchen, eine andere bessere Anwendung zu finden, die eine bessere Leistung erbringt.
Leistungstests sind teuer und dauern auch länger. Daher vermeiden viele Kunden Leistungstests, was jedoch bei den Problemen in der Produktion sehr hilfreich ist. Daher muss jede Anwendung gründlich getestet werden, bevor sie dem Endbenutzer zur Verfügung gestellt wird.
Was ist eine mobile Anwendung?
Mobile Anwendungen sind eine Reihe vordefinierter Funktionen, die für mobile Geräte wie Smartphones, Tablets und andere Funktionstelefone geeignet sind. Nicht alle mobilen Anwendungen sind gleich, es gibt drei verschiedene Arten von mobilen Anwendungen, die auf der Technologie basieren, die zur Entwicklung dieser Anwendungen verwendet wurde.
3 Arten von mobilen Anwendungen umfassen:
- Native mobile Anwendungen
- Webbasierte mobile Anwendungen
- Hybridanwendungen
# 1) Native mobile Anwendungen:
Native mobile Anwendungen sind Anwendungen, die auf Ihren eigenen Smartphones oder Tablets ausgeführt werden und auf dem Betriebssystem der mobilen Geräte ausgeführt werden. Sie bieten hohe Leistung und sind auch sehr zuverlässig. Diese Art von Anwendungen greifen auch auf andere Anwendungen auf Ihrem Smartphone-Gerät zu, z. B. Fotos, Adressbuch usw.
pl sql Interview Frage und Antworten für erfahrene
Native Anwendungen sind im Store für mobile Anwendungen verfügbar. Für Android haben wir einen Play Store und für das iPhone haben wir iTunes. Daher werden diese Anwendungen aus ihren jeweiligen Filialen heruntergeladen und auf Mobilgeräten installiert.
Beispiele von nativen Anwendungen sind ein Taschenrechner, ein Kalender, eine Facebook-Anwendung usw.
# 2) Webbasierte mobile Anwendungen:
Webbasierte mobile Anwendungen werden direkt über den Browser ausgeführt und nicht auf dem mobilen Gerät installiert.
Beispiele von webbasierten mobilen Anwendungen sind Online-Spiele, Websites für soziale Netzwerke usw.
# 3) Hybridanwendungen:
Hybridanwendungen ähneln nativen Anwendungen und werden im nativen Container ausgeführt. Sie sind eine Mischung aus beiden Anwendungen und verwenden den Gerätebrowser und nicht den tatsächlichen Browser zum Rendern der Anwendungswebseiten.
Beispiele der Hybrid-Anwendung sind Instagram, Yelp usw.
Die Architektur mobiler Anwendungen
In der obigen Abbildung , Smartphones und Tablets fallen unter die Client-Seite. Dazu gehören die Geräte, die wir normalerweise verwenden, wie das Smartphone, Tablets, ihr Netzwerk wie 3G, 4G usw. Ein Betriebssystem der Geräte wie Android, iOS, Windows usw.
Mobilfunknetz , Wireless, Internet und Firewall fallen unter Netzwerk. Für das Mobilfunknetz sehen wir Signalstärke, Netzwerküberlastung, Aussetzer usw. Für ein drahtloses Netzwerk sehen wir Signalstärke, Geschwindigkeit usw.
Web, App und DB befinden sich auf der Serverseite, auf der ein Großteil der Arbeit erledigt wird.
Ansatz zum Testen der Leistung mobiler Anwendungen
Das Testen der Leistung mobiler Anwendungen unterscheidet sich vom Testen der Leistung von Webanwendungen. Die Laptops oder Desktops, die für den Zugriff auf die Webanwendungen verwendet werden, leiden nicht unter schlechten Netzwerkbedingungen, einschließlich Paketverlust oder Latenz.
Während bei mobilen Anwendungen die Netzwerkbedingungen, der Paketverlust, die Latenz, der Gerätetyp, den wir wie ein Smartphone oder ein intelligentes Gerät verwenden, und die Bandbreite von Bedeutung sind, sollten wir all diese Faktoren nicht ignorieren, wenn wir Leistungstests für mobile Anwendungen in Betracht ziehen.
Bevor Sie Ihre Leistungsstrategie entwickeln, sollten Sie wissen, welche Art von Anwendung Sie auf Ihrem mobilen Gerät ausführen.
Es gibt drei Arten von Anwendungen:
- Browser-basierte Anwendungen
- Native Anwendungen
- Hybridanwendungen
# 1) Browser-basierte Anwendungen:
Auf diese Art von Anwendungen kann direkt über einen mobilen Browser zugegriffen werden, und es ist keine zusätzliche Software zum Herunterladen oder Installieren auf dem Gerät erforderlich.
Sie sind leicht und werden in allen Arten von Geräten wie Android, iPhone usw. auf demselben Stapel aufgebaut sich anpassendes Webdesign Durch Verschieben wird das Erstellen einer Anwendung mit mehreren Browsern noch einfacher, da Sie die Anwendung auf verschiedenen Bildschirmgrößen rendern können.
Diese Art von Anwendungen haben Nachteile, da sie ohne Internetverbindung nicht zugänglich sind, nicht alle Funktionen des Geräts integriert sind und den Benutzern in der Regel langsamer erscheinen.
So. Beim Testen der Leistung dieser Art von Anwendungen ist es wichtig, die Benutzerlast über einen mobilen Browser zu replizieren und das Rendern von Webseiten auf Zielgeräten zu testen.
# 2) Native Anwendungen:
Diese Art von Anwendungen wird auf einer bestimmten Plattform mithilfe der Software erstellt, die direkt auf dem Gerät installiert ist.
Native Anwendungen sind schneller und reaktionsschneller, da sie lokal auf dem Gerät erstellt werden. Da der Code auf jedem Gerät unterschiedlich ist, z. B. für iPhone, Android usw., müssen beim Testen der Leistung Tests auf jeder Plattform in Betracht gezogen werden.
# 3) Hybridanwendungen:
Hybridanwendungen sind die Kombination von Browser- und nativen Anwendungen. Sie bestehen aus einer nativen Shell, die eine schnell integrierte Erfahrung bietet.
Während Leistungstests auf die von den Benutzern einer solchen Hybridanwendung auf der Serverseite erzeugte Last abzielen und die Leistung der Anwendung auf dem Gerät aus Sicht des Endbenutzers messen.
Wie testen wir diese mobilen Anwendungen?
Um solche mobilen Anwendungen zu testen, müssen wir eine Umgebung mit Emulatoren und realen Geräten erstellen. Mobile Emulatoren sind Software, die auf unseren Laptops oder Desktops installiert werden muss und eine mobile Anwendung oder eine mobile Plattform imitiert.
Daher können wir mit diesen Emulatoren eine erhebliche Menge an Last für unsere Lasttests erzeugen.
Die andere Methode verwendet reale Geräte. Hier haben wir das Gerät physisch und können sehen, wie die Anwendung auf jedem Gerät funktioniert. Bei Verwendung realer Geräte haben wir nicht die Möglichkeit, die Last zu generieren, die unser Hauptziel ist. Dazu benötigen wir jedoch mehrere reale Geräte.
Wenn Sie jedoch das Verhalten der Anwendung auf einem bestimmten Gerät testen möchten, können Sie das reale Gerät verwenden. Um jedoch eine Last zu generieren, müssen Emulatoren verwendet werden.
Der nächste Punkt, den Sie beim Testen einer mobilen Anwendung beachten sollten, ist die Kenntnis des Zugriffsorts des Endbenutzers. Es ist sehr wichtig zu wissen, ob die Benutzer von derselben Stadt, demselben Land oder auf der ganzen Welt zugreifen usw. Wenn wir unseren Test oder unsere Umgebung ohne Berücksichtigung planen, sind unsere Tests falsch.
Die Anwendungsleistung in einer mobilen Anwendung wie einem Smartphone oder Smart Device wird normalerweise anhand der Geräteleistung, der Server- / API-Leistung und der Netzwerkleistung gemessen.
Wir müssen unter jeder Aufführung Folgendes überprüfen.
Geräteleistung:
- Startzeit der Anwendung
- Akkulaufzeit während der Verwendung der Anwendung
- Speicherverbrauch
- Hardware- und Softwarevariante
- Verwendung mit anderen Anwendungen
- Eine Anwendung, die im Hintergrund ausgeführt wird
Server- / API-Leistung:
- Daten zum und vom Server.
- API-Aufrufe generiert
- Serverausfallzeit
Netzwerkleistung:
- Paketverlust
- Netzwerkgeschwindigkeit
Daher müssen Sie beim Schreiben des Ansatzes für Leistungstests für mobile Anwendungen alle oben genannten Punkte berücksichtigen und Ihren Projektumfang und Ihre Anforderungen erfüllen.
Leistungsstrategie für mobile Anwendungen
Der Ansatz für Leistungstests ist für jeden Typ mobiler Anwendungen unterschiedlich. Der Ansatz variiert von Anwendung zu Anwendung, da jede Anwendung mit unterschiedlichen Komponenten entwickelt wird und der Verarbeitungsmechanismus für jede Anwendung unterschiedlich ist.
Browserbasierte mobile Anwendungen verhalten sich anders als die normale Webbrowser-Anwendung. Dieses Verhalten ist auf die Bandbreite des vom Endbenutzer verwendeten Datenplans zurückzuführen und hängt auch von der Konfiguration auf den Mobilgeräten ab.
Die Kosten für die Entwicklung dieser Art von browserbasierter Anwendung sind geringer, da die Entwicklungsarbeit darin besteht, die Kompatibilität mit den auf Mobilgeräten verfügbaren Browsern zu überprüfen.
Daher müssen wir für Leistungstests wie mobile browserbasierte Anwendungen die Benutzerlast im Browser replizieren. Wir können dies tun, indem wir Emulatoren oder andere zusätzliche Komponenten verwenden. Neben der Benutzerlast in den mobilen Browsern müssen wir auch das Rendern von Webseiten auf den Geräten testen.
Die Entwicklungskosten für native mobile Anwendungen sind höher. Die Anwendungen werden direkt auf dem Gerät installiert, wodurch die Benutzererfahrung verbessert wird. Die Anwendung ist jedoch plattformabhängig.
Wenn wir also die Leistung in solchen Anwendungen testen möchten, müssen wir alle Plattformen der Mobilgeräte wie Android, iOS, Windows usw. sowie alle Arten von Geräten wie Smartphones, Tablets usw. testen.
Hybride mobile Anwendungen sind eine Kombination aus browserbasierten mobilen Anwendungen und nativen mobilen Anwendungen. Daher müssen wir hier die Benutzerlast auf dem Server testen und auf allen mobilen Geräten und Plattformen vollständige Stretch-Leistungstests durchführen.
Für jede Anwendung auf dem mobilen Gerät gibt es zwei Hauptfaktoren, die die Leistung des Endbenutzers beeinflussen:
- Anfrage auf dem mobilen Gerät
- Das Rendern der Seite auf dem mobilen Gerät
# 1) Anfrage auf dem mobilen Gerät:
Darunter wird die Anforderung an den Server übermittelt, und die Serverantwort wird basierend auf der empfangenen Anforderung generiert. Sobald die Antwort auf dem Server generiert wurde, wird diese Antwort an das mobile Gerät zurückgesendet, das die erste Anforderung gesendet hat.
Hier sind die Parameter, die untersucht werden müssen, die Serverlast, die verschiedenen Netzwerktypen wie 3G, 4G usw., eine Last in jedem Netzwerk und alle anderen Komponenten.
Wir können diese testen, indem wir Emulatoren verwenden, d. H. Wir können die Skripte generieren und Emulatoren verwenden, um die Benutzerlast auf dem Server nachzuahmen.
# 2) Seitenrendering auf dem mobilen Gerät:
Das Rendern von Seiten auf dem mobilen Gerät ist nichts anderes als die Antwort, die vom Server auf die Anfrage empfangen wird, die wir von unserer mobilen Anwendung gesendet haben.
Hier sind die Parameter, die untersucht werden müssen, das Betriebssystem des Geräts, die Konfigurationseinstellung des Mobilgeräts usw. Wir können diese testen, indem wir uns tatsächlich beim Mobilgerät anmelden und sie überwachen.
Lassen Sie uns nun einen detaillierten Blick auf jeden in der obigen Abbildung erwähnten Schritt werfen:
a) Erstellen Sie Echtzeit-Benutzerszenarien:
Ähnlich wie bei den normalen Webbrowser-Anwendungen müssen wir die Szenarien oder Bedingungen, die auf dem Server erwartet werden, in Echtzeit identifizieren. Es werden viele Szenarien getestet.
Nehmen wir an, dass eine Webanwendung sowohl auf Desktops als auch auf Mobilgeräten verfügbar ist und auch auf Android- und iOS-Geräten nativ ist. Hier müssen wir ein Testskript entwickeln, das auf dem Anwendungszugriffstyp basiert. Daher müssen wir es auf jedem Gerät separat testen.
Außerdem müssen wir das Workload-Muster für dieses Szenario berücksichtigen, d. H. Wir müssen verstehen, wie die Last auf jedes Gerät verteilt wird. Zum Beispiel, 500 Benutzer greifen über das Internet auf die Anwendung zu, rund 100 verwenden eine native Anwendung auf ihrem iOS-Gerät und weitere 200 greifen von ihrem nativen Gerät auf der Android-Anwendung auf die Anwendung zu.
Wir sollten auch die geografischen Standorte der Last auf dem Server berücksichtigen. Zum Beispiel, 30% der Benutzer greifen aus den USA, 50% aus Indien und 20% von anderen Standorten aus zu. Es ist obligatorisch, unterschiedliche Benutzerstandorte nachzuahmen, da dies sehr große Auswirkungen auf die Server hat.
Das Testen aller 100% von einem einzigen Ort aus führt zu falschen Ergebnissen. Es wird daher empfohlen, die Auslastung der Server zu testen, indem Sie einen anderen Speicherort angeben. Die Cloud-Lösung kann zur Nachahmung verschiedener geografischer Standorte verwendet werden.
b) Erstellen Sie Echtzeit-Netzwerkbedingungen:
Hier müssen wir unterschiedliche Netzwerkbedingungen und auch die Qualität des Netzwerks wie 3G-Netzwerk, 2G-Netzwerk, Wi-Fi mit der besten Geschwindigkeit, Durchschnittsgeschwindigkeit und niedriger Geschwindigkeit erstellen. Wir müssen eine Netzwerkemulation durchführen, um Netzwerkbedingungen zu erstellen.
Wir sollten die Leistung auch testen, indem wir 50% Bandbreitenbedingungen angeben. Dies können wir durch Netzwerkemulation erreichen. Wir können jedes Werkzeug wie Windkanal, Shunra usw. verwenden.
Testen Sie das Netzwerk auch in Bezug auf verschiedene Regionen wie das 3G-Netzwerk in Bangalore. 4G in Hyderabad usw. Auch hier müssen wir die Netzwerkemulation mit geeigneten Tools durchführen.
c) Erstellen Sie Echtzeit-Gerätebedingungen:
Dies ist nichts anderes als die Art der Anwendung auf dem mobilen Gerät, z. B. ob es sich um eine Thin Client-Anwendung oder eine Thick Client-Anwendung handelt, wie das Betriebssystem auf dem mobilen Gerät ist, der Gerätetyp wie iPhone, Nokia usw. und jede andere Anwendung die während der Verwendung dieser bestimmten Anwendung usw. parallel ausgeführt werden, muss ebenfalls als Teil der Szenarien getestet werden.
d) Testen Sie die Leistung jeder Komponente:
Nachdem wir alle oben genannten Szenarien erstellt haben, müssen wir die Anwendung einschließlich der gesamten Software und Hardware auf Leistung testen. Sammeln Sie nun alle erforderlichen Metriken während des Auslastungstests.
Einige der serverseitigen Metriken, die erfasst werden müssen, sind CPU-Auslastung, CPU-Auslastung, Verarbeitungszeit, verfügbares Gesamtbyte, gesendete Pakete, empfangene Pakete usw.
Einige der Netzwerkmetriken, die erfasst werden müssen, sind über das Netzwerk gesendete Pakete und Bytes, über das Netzwerk empfangene Pakete und Bytes, verworfene Pakete und durchschnittliche Gesamtverzögerung.
Zu erfassende Gerätemetriken sind CPU, Speicherauslastung, Antwortzeit usw. und messen auch alle Transaktionsantwortzeiten und den Durchsatz.
Testumgebung für die Leistung mobiler Anwendungen
Bevor wir die Umgebung für Leistungstests für eine mobile Anwendung einrichten, müssen wir wissen, welche mobilen Anwendungen getestet werden, welche Betriebssysteme oder Geräte getestet werden und welche unterschiedlichen geografischen Standorte es gibt.
Daher müssen wir zunächst eine Umgebung schaffen, die aus Emulatoren und realen Geräten besteht. Was ist ein Emulator? Ein Emulator ist eine Software, die auf unseren Laptops oder Desktop-Computern installiert werden kann und als mobile Geräte fungiert. Mit diesen Emulatoren können wir eine enorme Last erzeugen. Daher eignen sie sich am besten zum Testen der Last aller mobilen Anwendungen.
Auf der anderen Seite sind echte Geräte physische mobile Geräte. Daher müssen wir das Anwendungsverhalten auf jedem Gerät und in jedem Netzwerk überprüfen. Wir können jedoch die Bandbreite, den Paketverlust usw. nicht testen, wenn mehrere Geräte mit demselben Netzwerk verbunden sind und auf dieselbe Anwendung zugreifen.
Das nächste zu berücksichtigende Element ist der geografische Standort der Anwendungsgeräte. Dies ist ein obligatorischer und sehr wichtiger Aspekt, der berücksichtigt werden muss. Andernfalls entsprechen unsere Testergebnisse nicht dem, was im realen Szenario geschieht.
Wenn Sie alle oben genannten Punkte analysiert haben, wählen Sie das entsprechende Lasttest-Tool aus, um die Leistungstests durchzuführen.
Herausforderungen beim Testen der Leistung mobiler Anwendungen
Zu den Herausforderungen, denen wir beim Testen der Leistung mobiler Anwendungen gegenüberstehen, gehören:
- Wenn wir unsere Anwendung auf verschiedenen Mobilgeräten testen müssen, müssen wir alle Geräte wie IOS, Android, Windows usw. organisieren.
- Die Netzwerksimulation ist eine weitere Herausforderung, der wir uns stellen müssen, d. H. Wir müssen Netzwerke wie 3G-, 2G-, 4G- und WLAN-Netzwerke simulieren.
- Der auf den Mobilgeräten verfügbare Speicher für die Testläufe.
- Die Akkulaufzeit der Mobilgeräte.
Fehlerbehebung bei Leistungsproblemen mit mobilen Anwendungen
Nachdem der Testlauf abgeschlossen ist, ist es Zeit, den während des Testlaufs festgestellten Leistungsengpass zu ermitteln. Sobald die Probleme konsolidiert sind, müssen wir die Hauptursache des Problems identifizieren und beheben.
Schauen wir uns einige Leistungsprobleme bei mobilen Anwendungen an:
- Eine Verzögerung in der Antwort von der mobilen Anwendung: Diese Verzögerung wird normalerweise durch den Speicher oder durch Caching verursacht. In solchen Fällen wird empfohlen, den Cache zu leeren und den Test erneut auszuführen.
- Die Anwendung wird einige Zeit neu gestartet, gehängt oder eingefroren: In solchen Fällen überprüfen Sie die Software so, als ob Aktualisierungen erforderlich wären. Überprüfen Sie den Anwendungscode auf Optimierungen. Die Behandlung des Caching ist ein Bereich, der untersucht werden muss.
Tools zum Testen der Leistung mobiler Anwendungen
Die Tools können je nach Gerätetyp und Plattform variieren.
Einige der am häufigsten verwendeten Tools sind unten aufgeführt.
So beheben Sie das Standard-Gateway nicht verfügbar Windows 10
Für Android-Geräte:
Roboter: Mit diesem Tool können wir die verschiedenen Schritte zur Durchführung des Tests aufzeichnen und wiedergeben. Klicken Hier für ein Robotium-Tutorial .
Affenläufer :: Mit diesem Tool können wir unsere Tests auf den Geräten ausführen, indem wir sie mit einem Desktop verbinden. Über die Benutzeroberfläche des Tools können wir auf das Smartphone zugreifen.
Für iOS-Geräte:
Automator: Mit diesem Tool können wir die Workflows ziehen und ablegen und automatisieren.
Fazit
Ich bin sicher, Sie hätten in diesem informativen Tutorial mehr über mobile Anwendungen erfahren und erfahren, wie Sie Lasttests für mobile Anwendungen auf perfekte Weise durchführen können.
In unserem nächsten Tutorial erfahren Sie, wie man manuelle Leistungstests in einfachen Worten durchführt.
=> Besuchen Sie hier für eine vollständige Reihe von Tutorials zu Leistungstests
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Leistungstests für mobile Anwendungen mit BlazeMeter
- Das Anfängerhandbuch zum Testen der Leistung von Webanwendungen mit WAPT Pro
- Testhandbuch für die Sicherheit von Webanwendungen
- Leistungstests vs Lasttests vs Stresstests (Unterschied)
- So erhalten Sie schnell einen Job für mobile Tests - Karrierehandbuch für mobile Tests (Teil 1)
- Testen der Auslastung, Belastung und Leistung von Webanwendungen mit WAPT
- Wie führe ich manuelle Leistungstests durch?
- Tools und Dienstanbieter für Penetrationstests für mobile Anwendungen