Africa Studio - stock.adobe.com
Benutzerzentrierte Metriken für Software-Performance-Tests
Mit Leistungstests bewerten Entwickler, wie gut eine Software funktioniert. Tester müssen zwei Metriken genau beachten, um Endanwender zufriedenzustellen.
Leistungstests gehören zum wichtigsten Werkzeug der Qualitätssicherung (QS). Software-Performance-Tests sind für kundenorientierte Anwendungen entscheidend. Schließlich korreliert die Software-Performance direkt mit der Kundenzufriedenheit. Kunden sind ungeduldig und durchaus bereit, zu einem Konkurrenten weiterzuziehen, wenn die Anwendung zu langsam läuft oder abstürzt.
Mitarbeiter in der Qualitätssicherung führen verschiedene Arten von Leistungstests durch, darunter Stress-, Last-, Spike-, Volumen- und Ausdauertests, um die Skalierbarkeit, Stabilität und Zuverlässigkeit einer Anwendung zu beurteilen. Abhängig von der Anwendung und dem Zweck eines Tests können einige dieser Leistungstests mehr Gewicht haben als andere. Mit Spike-Tests kann zum Beispiel die Fähigkeit einer Software bewertet werden, den erhöhten Datenverkehr vor einem Weihnachtsgeschäft zu bewältigen. Volumentests können feststellen, ob eine Anwendung in der Lage ist, große Datenmengen im Vorfeld eines Großereignisses wie den Olympischen Spielen zu verarbeiten.
Um diese Informationen auszuwerten, bewerten QS-Experten die Metriken der Software-Performance-Tests. Obwohl die Testziele in der Regel bestimmen, welche Leistungsmetriken die Tester analysieren, gibt es zwei Kategorien von Software-Performance-Metriken, die in den meisten Fällen relevant sind: Antwortzeit (Response Time) und Datenvolumen. Diese liefern Informationen aus der Kundenperspektive und sind daher die wichtigsten Metriken, die Tester auswerten müssen.
Metriken zur Antwortzeit
Die wichtigste Kennzahl für die Antwortzeit ist wahrscheinlich die Seitenladezeit, die misst, wie lange es dauert, bis eine komplette Seite vom Server heruntergeladen und auf dem Display des Benutzers angezeigt wird. Die Antwortzeit beim ersten Laden der Seite vermittelt dem Benutzer einen ersten Eindruck von der Intuitivität der Anwendung. Diese Performance-Metrik, auch Render-Antwortzeit genannt, macht einen großen Unterschied in der Benutzererfahrung.
Response-Time-Metriken messen die Geschwindigkeit, mit der eine Anwendung eine Antwort auf eine Benutzeraktion zurückgibt. Es gibt mehrere Arten von Antwortzeitmetriken:
- Die Server-Antwortzeit misst die Zeit, die ein Knoten des Systems benötigt, um auf die Anfrage eines anderen Knotens zu antworten.
- Die durchschnittliche Antwortzeit gibt die durchschnittliche Länge der Antwort auf alle während des Lasttests durchgeführten Anfragen und Antworten an. Tester können diese Metrik entweder anhand der Zeit bis zum ersten Byte oder der Zeit bis zum letzten Byte berechnen. Als Durchschnittswert, der auf der Zeit bis zum letzten Byte basiert, gibt diese Metrik eine genaue Darstellung der Antwort, die der Benutzer erfährt.
- Die Spitzenantwortzeit (Peak Response Time) zeigt die längste Antwortzeit während des Testintervalls an, normalerweise eine Minute. Mit dieser Metrik können die Tester feststellen, welche Anfragen länger dauern als andere, und dann gezielt nach Optimierungsmöglichkeiten suchen.
- Die Fehlerrate berechnet die Anzahl der Fehler im Vergleich zur Gesamtzahl der Anfragen. Obwohl die Fehlerrate nicht angibt, welche Anfrage das Problem verursacht hat, weiß der Tester, dass es ein Problem gibt, das untersucht werden muss. Außerdem sind steigende Fehlerraten ein frühes Warnzeichen dafür, dass das System über seine Leistungsfähigkeit hinaus belastet werden kann.
- Die Netzwerk-Antwortzeit gibt die Zeit an, die für das Herunterladen von Daten über das Netzwerk benötigt wird, was Aufschluss darüber geben kann, ob die Netzwerklatenz die Leistung beeinflusst.
Metriken zum Datenvolumen
Stresstests liefern Metriken zum Datenvolumen, die den Testern Aufschluss über die Spitzenkapazität eines Systems geben. Im Folgenden sind drei wichtige Metriken aufgeführt, die Tester auswerten können, um herauszufinden, wie das System mit einem steigenden Datenvolumen umgehen wird:
- Nebenläufigkeit (Concurrency). Diese Kennzahl gibt die größte Anzahl von Benutzern an, die gleichzeitig auf das System zugreifen sollen. Die Metrik gibt Testern Aufschluss über die maximale Last, die das System ohne Leistungseinbußen oder Abstürze bewältigt.
- Durchsatz. Ein Maß für die erwartete Dauer eines geskripteten Transaktions-Workflows. Der Durchsatz beschreibt die Anzahl der Transaktionen, die das System in einer bestimmten Zeitspanne bewältigen kann.
- Abfragen pro Sekunde. Diese Metrik misst, wie viele Anfragen in Intervallen von einer Sekunde an den Server gesendet werden.
Dies sind nicht die einzigen hilfreichen Metriken für Software-Performance-Tests. Tester können auch Leistungsmetriken wie CPU, Netzwerk und Bandbreite auswerten. Um Leistungsmängel zu finden, bevor sie produktiv eingesetzt werden, müssen Tester immer einen kundenzentrierten Ansatz verfolgen.