Da ist die neue responsive Website online oder der Relaunch des Shops steht kurz vor der Fertigstellung. Nun müsste eigentlich gründlich getestet werden. Nur genau das kommt oftmals viel zu kurz. Wie wird sich das System unter starker Belastung verhalten? Wird alles wie erwartet funktionieren, oder sind Ausfälle wahrscheinlich? Antworten könnte ein gründlicher Belastungstest geben, der aber nicht seltem dem Zeitdruck geopfert wird, weil er als zu aufwändig gilt. Oder es wird zwar getestet, aber einige Szenarien werden als unwahrscheinlich angesehen und dann nicht berücksichtigt. Das Unternehmen Dynatrace hat für die Leser von etailment sieben einfach zu befolgende Tipps zusammengestellt, wie Entwicklungs- und IT-Teams das Testen wirkungsvoll und umfassend durchführen können.

1. Vom Kunden ausgehen

Der Kunde ist der wichtigste Faktor. Deshalb müssen er und sein Verhalten die zentrale Basis für Belastungstests bilden. Ziel muss dabei sein, dem Kunden das bestmögliche Erlebnis zu jeder Zeit zu bieten, indem die Funktionalität im Back-End auf seine Bedürfnisse zugeschnitten wird. Dazu gehört die Kenntnis der Zielgruppe, des Nutzungsverhaltens, der bevorzugten Geräte und der bevorzugten Zahlungsmittel und Versandarten. Mit einer Kombination aus Web-Analyse-Tools und der Messung des echten Kundenverhaltens (UEM – User Experience Management) ist es möglich, sich beim Testen und Optimieren des Angebots auf die wirklich wichtigen Stellschrauben zu konzentrieren. Dazu sollten die Testszenarien auf Basis des realen Nutzerverhaltens modelliert werden statt auf künstlichen Use Cases. Es sind also genau jene Sequenzen zu testen, welche die meisten Anwender tatsächlich durchklicken. Diese Daten lassen sich aus dem UEM-System übernehmen. Da es nicht möglich ist, alle Varianten zu testen, sollte nicht nur auf Performancewerte in der Testumgebung, sondern auch auf Performancemetriken im Live-Betrieb geachtet werden. Bei Problemen kann ein Tester, der Erfahrung mit Performance Engineering besitzt, gemeinsam mit dem Betrieb diese eventuell im Live-Betrieb lösen.

2. Die richtigen Ziele stecken

Die aus einer UEM-Lösung gewonnenen Daten zeichnen ein klares, unabhängiges Bild davon, welchen Einfluss jeder einzelne Schritt einer Transaktion auf die tatsächliche Konversionsrate hat. Daraus lässt sich eindeutig ableiten, welche Bereiche optimiert werden müssen, um die Ergebnisse insgesamt zu verbessern. Dieses Vorgehen ermöglicht der IT-Abteilung auch eine Diskussion auf Augenhöhe mit den Geschäftsbereichen – nämlich dadurch, dass sie einen Test- oder Optimierungsbedarf in konkreten Umsatzzahlen ausdrücken kann. Zudem sollte sie ermitteln, welche „Klickpfade“ eine höhere Konversionsrate besitzen. Sollte ein Pfad generell mehr Umsatz bringen, lässt sich diese Information an die Entwicklung weitergeben, um ihn als „Standardpfad“ für Benutzer einzurichten. Dieser ist dann entsprechend intensiv zu testen und im Betrieb zu überwachen.  

3. Jedes Verhaltensmuster berücksichtigen

Jeder Kunde nutzt ein Web-Angebot auf seine eigene Art. Manche informieren sich nur, andere legen Waren in den Einkaufskorb, brechen jedoch wieder ab, und ein gewisser Anteil bestellt tatsächlich. Es ist wichtig, dass beim Testen alle Szenarien geprüft werden, da auch ein Abbruch einen erheblichen Einfluss auf die Belastung der Seite oder Anwendung haben kann, der das Nutzererlebnis insgesamt schmälert. Statt die Test Coverage zu erhöhen, sollten Unternehmen daher die „Top X Use Case Coverage“ steigern, die sich von realen Nutzern ableiten lassen.

4. Produktivtests und Monitoring nicht scheuen

Bei Tests unter Laborbedingungen, also offline, werden die größten Fehler einer Anwendung oder Webseite offenkundig. Doch der Teufel steckt oft im Detail und zeigt sich erst im Betrieb. Deshalb sollten auch folgende potenzielle Fehlerquellen, die den Live-Betrieb beinträchtigen, unter die Lupe genommen werden: 

  • Engpässe in Firewalls, Loadbalancern oder SSL-Acceleratoren
  • Involvierte Dritte, wie beispielsweise Angebote von Wetterapps, Facebook und anderen Diensten
  • Leistung des Content Delivery Networks (CDN)
  • Einbindung der Tester in die UEM-Monitoring-Strategie

5. Keinen Schritt auslassen

Obwohl die meisten Kunden akzeptieren, dass die Bezahl-Transaktion eines Online-Shops oder eine konkrete Formularabfrage länger lädt als die reinen Produktseiten, darf die Geduld der Kunden nicht überstrapaziert werden. Denn ein sehr langsamer Validierungs-Prozess, der im schlimmsten Fall noch zum Time-out führt, hat fatale Folgen für Umsatz und Image. Deshalb sollten auch der Bezahlprozess oder Antwortzeiten auf personalisierte Abfragen gründlich getestet werden. Notfalls muss das Online-Angebot für ein paar Stunden in den Wartungsmodus gesetzt werden. Aber die daraus erzielbare verbesserte Performance lohnt diesen Aufwand. 

  • Dafür muss der Payment-Provider beauftragt werden, den Account in den Test-Modus zu versetzen. So lassen sich alle Schritte im realistischen Modus durchführen, ohne dass echte geld-basierte Transaktionen durchgeführt werden. 
  • Auch sollte die Möglichkeit zur Stornierung von Bestellungen bestehen – üblicherweise bietet jede E-Commerce-Plattform diese Option.

6. Zusammenarbeit mit dem Marketing

Die Performance einer Anwendung drückt sich zwar auf technischer Ebene aus, hat aber einen engen Bezug zu den Zielen der Marketingabteilung, wie generierter Traffic, Aufrufe von Landing Pages und Gutschein-Codes. Denn diese können je nach Art verschiedene Auswirkungen auf die Systemressourcen haben, in unterschiedlicher Häufigkeit – standardmäßig oder in Einzelfällen – oder je nach Art der Aktion, etwa bei Rabatten oder Versandkostenfreiheit, auftreten. Deshalb ist es wichtig, mit der Marketingabteilung die übergeordneten Ziele und Strategien sowie deren möglichen Einfluss auf die Performance der Anwendung oder bestimmter Webseiten abzustimmen. Dabei sollte nicht nur die mögliche kurzfristige Steigerung der Last im Fokus stehen, sondern gleich für die kommenden zwei bis drei Jahre, also kommenden Traffic, vorausgeplant werden. Zudem sollten Drittanbieter wie Facebook oder Twitter eingebunden werden. Dabei ist dem Marketing frühzeitig zu erklären, dass auch Drittanbieter-Integrationen getestet werden müssen. Ansonsten können diese die Performance verschlechtern, ohne dass Gegenmaßnahmen getroffen werden. In diesem Fall sind der Kosten/Nutzen-Faktor sowie mögliche Alternativen zu diesen Anbietern zu diskutieren.

7. Nicht zu lange warten

Generell empfiehlt es sich, mit dem Load Testing nicht bis zur letzten Minute zu warten. Am besten ist, bereits während der Entwicklung immer wieder Tests einzuplanen. Falls das nicht möglich ist, sollte bereits in der Planung genug Zeit vor dem Go-Live einkalkuliert werden, um die Anwendung wiederholt zu testen und schrittweise zu verbessern. Damit ist sichergestellt, dass auch unerwartete Fehler und Vorfälle gut und schnell gelöst werden können. Auf Basis der Erfahrungen von Dynatrace werden 80 Prozent der Probleme in Anwendungen von nur 20 Prozent der Problemmuster ausgelöst. Die meisten dieser Muster lassen sich sogar ohne Lasttests frühzeitig erkennen. Denn es sind nur die entsprechenden Metriken in Bezug auf Architektur, Skalierung und Performance zu beachten – idealerweise automatisiert und integriert. Damit entdecken Unternehmen frühzeitig Probleme, ohne aufwändige Tests durchzuführen, und erkennen im Load Testing schnell, warum eine Anwendung bereits bei geringer Last langsam wird.