08.05.2013, 09:21 Uhr

Gestresste Apps, entspannte Nutzer

Der Erfolg von E-Commerce hängt mit davon ab, ob der Zugriff jederzeit flüssig funktioniert – vor allem wenn der Client eine App auf dem Smartphone ist. Wie lassen sich mobile Apps zuverlässig testen?
Wie lassen sich mobile Apps zuverlässig testen?
Der Autor ist Business Development Manager beim Lasttestspezialisten Neotys.
Das Smartphone ist ein Hoffnungsträger im E-Commerce. Der neue Formfaktor erlebt eine rasante Verbreitung und erlaubt Kunden, jederzeit und überall spontan einzukaufen. Die im Unterschied zum WLAN flächendeckende Verfügbarkeit der Mobilfunknetze macht es möglich. Allerdings hängt der Erfolg mobiler Vermarktungsstrategien von flüssigen App-Zugriffen ab. Die reibungslose Abwicklung mobiler Transaktionen entscheidet über das Einkaufserlebnis und damit über Umsatz, Kundenzufriedenheit und Marktakzeptanz der Angebote. Bei der Qualitätssicherung der Services sowie der Minimierung von Ausfall- und Umsatzrisiken spielen Last- und Stresstests eine zentrale Rolle. Sie helfen dabei, Webangebote auf verfügbare Datentransferraten, die Leistungsfähigkeit mobiler Browser und steigende Zugriffsraten abzustimmen. Gerade im Mobile Business hängt der Umsatz von den Lade­geschwindigkeiten ab. Lasthärte und Stress­toleranz einer App – also die ungehinderte Verfügbarkeit auch bei hohem Kundenaufkommen – entscheiden mit über Erfolg und Image von Onlineanbietern.

Funktionstests genügen nicht

Lasttests werden parallel zum Produktivbetrieb oder schon vor dem Go-live aufgesetzt, um Verkaufsplattformen für das Saisongeschäft fit zu machen und Leistungsengpässe zum Kampagnenstart auszuschliessen. Funktionstests alleine genügen nicht, da sie lediglich das Verhalten von Anwendungen für einzelne Nutzer unter idealen Laborbedingungen untersuchen. Lasttests dagegen prüfen mit einer hoch skalier­baren Anzahl virtueller Testkunden, ob (Web-)Apps dem Andrang standhalten und erfolgskritische Leistungsparameter (z.B. Reaktionszeiten) auch unter Stress im Zielkorridor bleiben. Mit künstlich erzeugten Nutzern wird ein Be­sucheransturm simuliert, um Leistungsfähigkeit und -grenzen der Systeme auszumessen. Neben extremen Zugriffsszenarien steht der «ganz normale» Alltag im Fokus: Die virtuelle Testkundschaft zeigt in unterschiedlicher Zusammensetzung und Anzahl, wie reale Käufer Webshop-Funktionen erleben. Ziel mobiler Lasttests ist es, Schwachstellen so früh zu identifizieren, dass sie noch mit geringem Kosten- und Zeitaufwand zu beseitigen sind. Hierbei gilt es, den Besonderheiten der Kommunikation zwischen Smartphone und Server sowie den Eigenschaften der Mobilfunknetze Rechnung zu tragen. Lesen Sie auf der nächsten Seite: Heterogene Bandbreiten

Heterogene Bandbreiten

Um das Wachstumspotenzial im Mobile Business auszuschöpfen, wollen Banken und Handel Smartphone-Anwendern ähnlich hohe Serviceniveaus wie DSL-Nutzern bieten. Das ist nicht einfach, da die Bandbreite im Mobilfunknetz zumeist geringer ist. Gleichzeitig fächern sich die Datentransferraten weit zwischen GPRS und LTE auf. Zumindest bis LTE flächendeckend zur Verfügung steht, können Fehler im Handling von Browseranfragen wegen der geringeren Verbindungsgeschwindigkeiten schlechter kaschiert werden. Webanwendungen, die im Breitband-Ethernet akzeptiert werden, lehnen die Nutzer ab, wenn zu niedrigen Transferraten noch Schwachstellen hinzukommen und mobile Datenübertragungen zur Geduldsprobe werden. Zudem führen langsamere mobile Zugriffe zu mehr parallelem Traffic und bringen Webserver eher an die Leistungsgrenze, von der an weitere Anfragen zurückgewiesen werden. Scheitert der Verbindungsaufbau, werden Browseranfragen vom Nutzer in rascher Folge erneuert, sodass sich die Überlastung weiter verschärft. Die Simulation einer grossen Zahl gleichzeitiger Zugriffe ist deshalb ein wichtiger Aspekt mobiler Lasttests.

Flexible Bandbreitensimulation

Um die Nutzererfahrung in Mobilfunknetzen, die nach Region, Tageszeit und Auslastung stark schwanken können, authentisch zu ermitteln, sollten mobile Lasttests nicht ausschliesslich unter idealen DSL-Umgebungen hinter der Firewall erfolgen. Darüber hinaus empfiehlt sich der Einsatz einer Test-Software mit integrierter Bandbreitensimulation, die virtuellen Nutzern jeweils individuell Datentransferraten zuordnet. Die Deckelung der im Testlabor verfügbaren Bandbreiten gelingt auch mit WAN-Emulations-Software oder einer Netzwerk-Appliance, die Bandbreite, Latenzzeit oder Paketverlust simuliert. Der Nachteil: WAN-Emulatoren limitieren die Bandbreite als Ganzes, nicht für einzelne Testnutzer. Aber gerade darauf kommt es an, da Anwender auch in der Wirklichkeit je nach Provider, Vertrag oder Region mit unterschiedlicher Geschwindigkeit auf Webanwendungen zugreifen. Mit flexibler Bandbreitensimulation lassen sich heterogene Testpopulationen erzeugen, sodass ein differenziertes und realistisches Bild der Nutzerzufriedenheit mit einer App entsteht. Wollen Schweizer Anbieter ein internationales Publikum ansprechen, sollte die Bandbreitenverteilung in Nachbarländern berücksichtigt und simuliert werden. Hier bietet sich der
gezielte Einsatz international verteilter Server einer Lasttest-Cloud an. In Kombination mit flexibel skalierbaren Übertragungsgeschwindigkeiten liefert sie eine realistische Aussen- und Nutzersicht auf das mobile Angebot. Lesen Sie auf der nächsten Seite: Server-Client-Kommunikation

Server-Client-Kommunikation

Bevor Lasttests gestartet werden, muss zunächst die bestehende Kommunikation zwischen Server und Smartphone adäquat 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 direkt 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 mit dem Server, da das Mitschneiden des Datenverkehrs über einen Proxy als Man-in-the-Middle-Angriff vereitelt wird. Während mobile Browser Alarm schlagen, aber den Proxy optional zulassen, unterbinden native Apps dies häufig rigoros. Dann muss der Proxy eigens mit einem Root-Zertifikat autorisiert werden. Zumindest bei iOS-Geräten ist das unproblematisch: Das Zertifikat wird einfach per Mail angefordert, ausgeführt und installiert. Bei Android-Platt­formen hängt der Installationsaufwand von Version und Gerätekonfiguration ab.

Browsersimulation

Die Vielzahl mobiler Betriebssysteme und Browserversionen macht sogenannte Serverweichen erforderlich. Sie sorgen dafür, dass die passenden Websiteversionen ausgeliefert werden, da nicht alle Browser neuste Webtech­nologien sofort unterstützen. Mobile Browser identifizieren sich dabei 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 Servergesamtlast. User-Agent-Angaben zu manipulieren und die Serverweiche gezielt in einem wirklichkeitsnahen Browsermix anzusprechen, ist daher ein wichtiges Feature für Lasttest­lösungen. 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 browserspezifisch ist. Browser, die eine hohe Anzahl paralleler Anfragen starten, verkürzen Ladezeiten, erhöhen aber die Spitzenlast für den Server. Lasttest-lösungen sollten diesen Zusammenhang adäquat abbilden und die Zusammenstellung virtueller Nutzergruppen mit typischen Browserpräferenzen erlauben. So kann für jeden Testnutzer geprüft werden, ob er sich mit seiner Browserversion innerhalb der festgelegten «Komforttoleranzen» bewegt.
Lasttests: Cloud oder intern?
! KASTEN !
! KASTEN !
! KASTEN !
! KASTEN !
Client-Server-Kommunikation abdecken: Dank verteilter Server kann die Cloud aus der Nutzerperspektive testen. Firewall, Router, Web, Mobilfunknetze und Load Balancer werden ebenso einbezogen wie Drittanbietertechnologien (u.a. Adserver).
Interne Lasttests
Sicherheit: Solange Anwendungen noch in der Entwicklung und nicht aus­reichend geschützt sind, empfehlen sich Tests hinter der Firewall. Erst wird die grundsätzliche Verfügbarkeit sichergestellt, bevor die Last (via Cloud) erhöht wird.
Schwachstellen finden: Um hausgemachte Schwachstellen gegen solche abzugrenzen, die jenseits der Firewall entstehen, sollten interne und cloudbasierte Lasttests ineinandergreifen. Ein Vergleich der Resultate zeigt dann, ob eigene Anwendungen oder externe Faktoren wie DNS-Server der Flaschenhals sind. Idealerweise ar­beiten Testspezialisten mit denselben virtuellen Nutzern abwechselnd aus der Cloud und innerhalb der Firewall.


Das könnte Sie auch interessieren