Performance Testing für robuste Online-Shops

Colorful application icon concept and the shopping cart

Bei großen Online-Events wie Black Friday und Cyber Monday merkt man deutlich, wie wichtig das Thema „Shop-Performance“ eigentlich ist. Selbst bei kleineren Aktionen wie dem Verkauf von Tickets für manche Rock-Konzerte oder Fußballspiele lässt sich erkennen, dass ohne die nötige Performance das Risiko eines Absturzes groß ist. Wenn plötzlich eine nicht vorhergesehene Anzahl an Kauflustigen den Online-Shop stürmt, um die günstigen Schnäppchen und Sonderangebote zu ergattern, oder um sich schnellstmöglich die besten Konzerttickets zu sichern, sollten die Systeme der Online-Händler den Ansturm aushalten können. Ein Absturz kostet Unternehmen Umsatz und Image. Das ist tatsächlich schon häufiger passiert, sogar bei den Großen in ihren Brachen: Apples Online-Store kollabierte zum Start der iPhone-6s-Vorbestellungen, gegen Shell brach ein Shitstorm los, als die Teilnehmer am Treueprogramm „Clubsmart“ einen als Bonus ausgelobten E-Book-Reader nicht ordern konnten. Ein Umdenken in der Entwicklung von Shopping-Applikationen ist deswegen dringend notwendig. Neben Funktionalität, Design, Sicherheit und vielen anderen Punkten müssen auch Performance-Aspekte berücksichtigt werden, bevor ein Online-Shop online geht.

Es geht darum, eine gute und zügige Benutzbarkeit des Shops auch unter hoher Last zu gewährleisten. Muss der Kunde auf Rückmeldungen des Webshops zu lange warten, verliert er schnell die Lust und wird schließlich zum Kaufabbrecher. Laut Greg Linden von der Stanford University kostet beispielweise Amazon eine um 100 msec höhere Verzögerung 1% an Umsatz.

Die Zeiten, in denen das Thema Performance Testing nicht ernst genommen oder auf später verschoben wurde, sollten vorbei sein.

Folgende Ausprägungen des Performance-Tests helfen bei der Optimierung von Online-Shops:

Load Testing: Hiermit wird untersucht, wie die Applikation unter erwarteter Last funktioniert. Ziel ist es, Bottlenecks (z.B. CPU-/Memory-Probleme oder Engpässe im Netzwerk) zu identifizieren, bevor die Shop-Applikation online geht.

Stress Testing: die Applikation wird unter extremer Last getestet. Dabei wird nach dem „kritischen Punkt“ gesucht, also nach der Grenzlast, bei der die Applikation abstürtzt.

Scalability Testing: es wird geprüft, inwieweit durch Erhöhung von Systemkapazitäten ein abzusehendes Last-Wachstum abgedeckt werden kann.

Wichtige KPIs (Key Performance Indicator) in diesem Umfeld sind:

Ladezeit: Zeit bis die Applikation gestartet wird. Sie soll so gering wie möglich sein.

Antwortzeit: Zeit zwischen Anforderung des Nutzers und Applikationsantwort (Output).

Fehlerrate: wie viele Anfragen erhalten fehlerhafte Antworten, z.B. mit HTTP-Statuscode 500.

Die Durchführung eines Performance-Tests sollte Plichtbestandteil im Rahmen der Entwicklung einer Web-Shopping-App sein. brightONE hat eine Lösung für den Performance-Test von Web-Portalen zur Verfügung, die auch für Shopping-Apps auf Smarphones anwendbar ist. Einen Performance-Test beginnen wir mit der Bestandsaufnahme des betreffenden Web-Portals und der implementierten Use Cases, dann folgen die Definition der Testfälle, die Vorbereitung der Testumgebung, die Erstellung des Test-Skripts, die Durchführung der Tests mit Hilfe eines Last-Generators in der Cloud, die Analyse der Ergebnisse und schließlich die Erstellung des Performance-Reports. Der Fokus liegt dabei i.d.R. im Back-End der Systeme, wobei das Front-End auch geprüft wird.

Wichtig ist, dass die Performance der Applikation idealerweise noch vor dem „Go live“ untersucht wird und Maßnahmen zur Sicherung der Performance frühzeitig umgesetzt werden.

Wenn das Online-Business wächst, sollte der Shop-Betreiber regelmäßig untersuchen, ob das System aus Sicht der Performance aktuell noch im grünen Bereich läuft. Bei den ersten Anzeichen von Last-Empfindlichkeiten (z.B. steigende Fehlerraten) können dann Korrekturmaßnahmen schnell eingeleitet werden. Manchmal sind die Ursachen für eine magelhafte Performance nicht einfach zu finden. Schließlich ist der Schreckszenario „Absturz“ zu vermeiden.

Technische Gründe für ein wenig performantes System sind häufig:

  1. Die Applikation läuft auf unpassenden Webserver-Architekturen.
  2. Die Applikations-SW enthält Fehler, die im Testzyklus nicht entdeckt und nicht behoben wurden.
  3. Fehler bei der Konzeption der Applikation.

Fazit

In der Einleitung dieses Beitrags wurde das Beispiel des Apple-Stores gennant. Selbst bei großen Unternehmen kommt es zu unangenehmen Situationen. Das deutet nochmal darauf hin, dass Betreiber von Online-Shops beim Thema Performance auf jeden Fall am Ball bleiben sollten. Wer seinen Kunden eine robuste Plattform für Einkauf im Internet zur Verfügung stellen will, der kommt am Performance-Test kaum vorbei. Kurze Lade- und Antwortzeiten sind wichtige Voraussetzungen für florierendes Business mit einem Web-Shop.

stamp_onlineshop

 

Nie wieder einen Blogartikel verpassen >>> Zum Blog-Newsletter anmelden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

sechzehn − 13 =