Mobile Apps

Sechs Essentials für den Last- und Performance-Test

Endgeräte: Die Vielfalt der Smartphones & Tablets simulieren

Die Vielzahl mobiler Betriebssysteme und Browserversionen macht Serverweichen erforderlich. Sie sorgen dafür, dass die passenden Website-Versionen ausgeliefert werden, die von dem jeweiligen Browser unterstützt werden. Mobile Browser identifizieren sich mit ihrem User-Agent-Header und liefern Informationen über Betriebssystem, Formfaktor, Verbindungsart und Gerätekonfiguration.

Da je nach anfragendem Browser unterschiedliche Datenvolumina ausgeliefert werden, beeinflussen Serverweichen die Ladezeiten für jedes Endgerät sowie die Server-Gesamtlast. User-Agent-Angaben zu manipulieren und die Serverweiche gezielt in einem wirklichkeitsnahen Browser-Mix anzusprechen, ist daher wichtig für authentische Testresultate.

Noch aus einem anderen Grund ist die Simulation einer realitätsnahen Browser-Verteilung wichtig: Browser beschleunigen den Seitenaufbau mit parallelen HTTP-Anfragen, deren Maximum wiederum Browser-spezifisch ist. Browser mit einer hohen Anzahl paralleler Anfragen, verkürzen Ladezeiten, erhöhen aber die Spitzenlast für Server. Es empfiehlt sich daher, eine Testpopulation mit typischen Browser-Präferenzen zusammenstellen. Dann lässt sich zuverlässig ermitteln, ob sich alle Nutzer mit ihrer jeweiligen Browserversion innerhalb der festgelegten "Komforttoleranzen" bewegen.

Netzqualität: Datenraten realitätsnah emulieren

Zur authentischen Ermittlung der Nutzererfahrung in Mobilfunknetzen sollten Lasttests nicht ausschließlich unter idealen LTE-Umgebungen erfolgen. Hier empfiehlt sich eine Testsoftware mit integrierter Bandbreitensimulation, die virtuellen Nutzern jeweils individuell Datentransferraten zuordnet. Die Deckelung der im Testlabor verfügbaren Bandbreiten gelingt auch mit WAN-Emulationssoftware, die Bandbreite, Latenzzeit oder Paketverlust simuliert. Der Nachteil: WAN-Emulatoren limitieren die Bandbreite als Ganzes, nicht für einzelne Test-Nutzer. Aber gerade darauf kommt es an, da Anwender in der Wirklichkeit je nach Provider, Vertrag oder Region mit unterschiedlicher Geschwindigkeit auf Webanwendungen zugreifen. Hier gilt es, mit flexibler Bandbreitensimulation heterogene Testpopulationen zu erzeugen, damit ein differenziertes Bild der Nutzerzufriedenheit entsteht.

Das Gesamtbild: Kommunikation zwischen Smartphone und Server komplett erfassen

Für den Lasttest muss zunächst die bestehende Kommunikation zwischen Server und Smartphone erfasst und aufgezeichnet werden. Bei nativen Apps kann dies anspruchsvoll sein, da hierzu die Server-Client Kommunikation abgefangen werden muss. Gute Lasttestlösungen bieten Proxy-Optionen, um den Datenverkehr umleiten und mitschneiden zu können. Falls Apps sich ungeachtet der Proxy-Einstellungen weiterhin direkt mit dem Server verbinden, bleibt der Rückgriff auf Network-Capture-Tools ("Sniffer").

Schwierig wird es bei einer HTTPS-verschlüsselten Kommunikation, da das Mitschneiden des Datenverkehrs über einen Proxy als Man-in-the-Middle-Angriff vereitelt wird. Während mobile Browser den Proxy optional zulassen, unterbinden native Apps dies häufig rigoros. Dann muss der Proxy eigens mit einem Root-Zertifikat autorisiert werden. Bei iOS-Geräten ist das unproblematisch, indem das Zertifikat einfach per Mail angefordert und installiert wird. Bei Android-Plattformen hängt der Installationsaufwand von Version und Gerätekonfiguration ab.