Last- und Performanztests

TestmanagementDie Welt verändern, ein Bug nach dem anderen…

Effizienztests

(nicht funktionales Qualitätsmerkmal)

Diese Tests werden unterschieden in:

Bei jedem Leistungstest werden nichtfachliche Anforderungen eines Systems unter Last überprüft.
Je nach Testziel unterscheidet man:
  • Systemverfügbarkeit unter Last
  • Antwortzeiten für den Anwender
  • Einhalten der Service-Levels der SLA
  • Finden von Bottlenecks in der Anwendung und Infrastruktur
Um die Leistung zu vergleichen, erstellt man Leistungs-KPIs, um das System ggf. zu optimieren.
Ein Leistungstest fängt eine Reihe von Risiken ab, die durch funktionale Tests nicht abgedeckt werden. Beispielsweise:
  • Systemüberlastung
  • Zeitfenster für zeitkritische Prozesse
  • Einhaltung der SLA
  • Benutzerakzeptanz und Antwortzeiten

Ein Performanztest ist ein Leistungstest. Insbesondere werden die Antwortzeiten von zeitkritischen Funktionen überprüft. Performanztests sind unter optimalen Bedingungen durchzuführen, also möglichst immer zu gleichen Zeit und exklusiv.

Bei einem Stresstest wird das System über die real zu erwartende Maximallast belastet. Auf diese Weise erhält man Prognosemöglichkeiten über das System bei gestiegenen Anforderungen.

Beim Lasttest versteht man den Test eines Systems gegen eine erwartete Maximallast, beginnend beim Single-User-Test bis hin zum Multi-User-Test. Es wird getestet wie das System mit einer großen Anzahl von gleichzeitigen Anfragen zurechtkommt. Wird eine steigende Last erzeugt, so erhält der Tester Hinweise auf die Skalierbarkeit. Resultiert dabei ein lineares Verhalten, charakterisiert dies ein perfektes System. Bei der plötzlichen Zurverfügungstellung einer gesamten Last lassen sich Rückschlüsse auf das Management der Ressourcen ziehen und ggf. Deadlocks aufspüren. Auch lässt sich das Antwortzeitverhalten messen, um zu prüfen, ob es der Spezifikation entspricht.

Bei einem Massentest wird der Durchsatz großer Datenmengen betrachtet, meist ohne Dialoguser und meist mit synthetischen Daten. Massentests werden durchgeführt, um die Zuverlässigkeit und das Verbrauchsverhalten eines Systems zu testen. Beispielsweise können auf diese Weise Memory Leaks aufgedeckt werden.

Ein Effizienztest gliedert sich in die Phasen:
  • Planung und
  • Durchführung
In der Planungsphase unterscheiden wir in:
  • Prozessanalyse
  • Datenanalyse und
  • Toolauswahl
In der Prozessanalyse werden die wichtigsten Prozesse analysiert und die Zuordnung der Benutzergruppen zu den Anwendungen.
Bei der Datenanalyse werden die benötigten Daten ermittelt. Dabei ist insbesondere darauf zu achten, dass ausreichend Verbrauchsdaten für den Performanztest zur Verfügung stehen.
Tools gibt es ist großer Anzahl mit unterschiedlichsten Ausprägungen. Beispielsweise für den Test
  • von SAP-Anwendungen bietet sich SAP Loadrunner by HP an
  • Apache Bench als Benchmarking-Werkzeug
  • JMeter u.v.a.m.
In der Durchführungsphase werden die Tests durchgeführt, die Ergebnisse analysiert und adäquate Optimierungmaßnahmen durchgeführt.
Effizienztests sind frühzeitig zu planen und durchzuführen.
Es gibt in keinem Projekt den Umstand, dass alles perfekt läuft. Unter Umständen sind Sie mit den SLAs Verpflichtungen eingegangen, die eingehalten werden müssen.
Wir optimieren die Effizienz.
U
Last- und Performanztests
© 2016 Holger Mayer Consulting HMC2