7 Tipps für den gründlichen Test von Anwendungen und Websites
Gut getestet ist halb gewonnen: Worauf Entwickler und IT-Verantwortliche besonders achten sollten
München – Oftmals kommen Belastungstests einer Anwendung oder einer Website zu kurz. Das Verfahren gilt vielen als zu aufwändig und zeitraubend, oder findet nur in sehr begrenztem Umfang statt. So werden viele Szenarien als unwahrscheinlich abgetan und gar nicht erst getestet. Die Folge: Auch geprüfte Anwendungen brechen völlig unerwartet zusammen, sobald die Last steigt. Doch gerade im E-Commerce und angesichts der zunehmenden Digitalisierung fast aller Services ist es unerlässlich, die Grenzen der eigenen Webseite zu kennen, um vor allem für Spitzenzeiten gewappnet zu sein. Denn wessen Anwendung vor dem Ansturm nach Werbeaktionen oder zu Angebotszeiten in die Knie geht, droht Kunden zu verlieren. Dynatrace hat 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.
Quelle: Dynatrace