Der Leistungstest ist eine Testklasse, die implementiert und ausgeführt wird, um die leistungsbezogenen Merkmale des
Testziels, z. B. die Ablaufsteuerungsprofile, die Ausführungsreihenfolge, die Antwortzeiten, die Zuverlässigkeit im
Betrieb und die Grenzwerte für den Betrieb, zu charakterisieren und zu bewerten. Verschiedene Typen von Leistungstests,
von denen sich jeder auf ein anderes Testziel konzentriert, werden im Lebenszyklus der Softwareentwicklung
implementiert.
In einem frühen Stadium der Architekturiterationen konzentrieren sich Leistungstests darauf, Leistungsengpässe in der
Architektur zu identifizieren und zu beseitigen. In den Iteration der Konstruktionsphase werden andere Leistungstests
implementiert und durchgeführt, um die Software und Umgebung fein abzustimmen (Optimierung von Antwortzeit und
Ressourcen) und sicherzustellen, dass die Anwendungen und das System hohe Arbeitslasten und Stressbedingungen, z. B.
viele Transaktionen, Client und/oder Datenvolumina, bewältigen kann.
Die folgenden Testtypen sind in den Leistungstests enthalten:
-
Vergleichstest: Vergleicht die Leistung eines neuen oder unbekannten Testziels mit einem bekannten
Referenzstandard, z. B. einer vorhandenen Software oder vorhandenen Messwerten.
-
Konflikttest: Bei diesem Test wird überprüft, ob das Testziel mehrere Anfragen von Akteuren, die sich
auf dieselbe Ressource (Datensätze, Speicher usw.) beziehen, in annehmbarer Weise handhaben kann.
-
Ermitteln von Engpässen bei der Anwendungsleistung: Überprüft, ob das Leistungsverhalten des Testziels mit
variierenden Konfigurationen bei konstanten Betriebsbedingungen akzeptabel ist.
-
Belastungstest: Überprüft, ob das Leistungsverhalten des Testziels bei variierenden Betriebsbedingungen (z.
B. Anzahl der Benutzer, Anzahl der Transaktionen usw.) mit konstanter Konfiguration akzeptabel ist.
-
Stresstest: Überprüft, dass das Leistungsverhalten des Testziels unter ungewöhnlichen oder extremen
Bedingungen, z. B. bei reduziertem Ressourcenumfang oder bei extrem hoher Anzahl von Benutzern, akzeptabel ist.
Normalerweise wird die Leistungsbewertung zusammen mit dem Benutzervertreter auf mehreren Ebenen durchgeführt.
-
Die erste Ebene der Leistungsanalyse umfasst die Bewertung der Ergebnisse für einen einzelnen Akteur bzw. eine
einzelne Anwendungsfallinstanz und den Vergleich der Ergebnisse über mehrere Testausführungen hinweg. Beispiel:
Erfassung des Leistungsverhaltens eines einzelnen Akteurs, der einen einzelnen Anwendungsfall ausführt, ohne
weitere Aktivitäten auf dem Testziel und dann Vergleich der Ergebnisse mit verschiedenen anderen Testausführungen
desselben Akteurs oder Anwendungsfalls. Diese Analyse auf der ersten Ebene kann helfen, Trends zu identifizieren,
die auf Konflikte zwischen Systemressourcen hinweisen - Konflikte, die die Gültigkeit der Schlussfolgerungen aus
anderen Ergebnissen von Leistungstests beeinträchtigen.
-
Die zweite Ebene der Analyse befasst sich mit den Statistikdaten und tatsächlichen Datenwerten, die sich auf
bestimmte Akteure oder Ausführungen von Anwendungsfällen sowie das Leistungsverhalten des Testziels beziehen.
Zusammenfassende Statistikdaten beinhalten Standardabweichungen und Perzentilverteilungen der Antwortzeiten, die
eine Aussage machen über die Variabilität der Systemreaktionen aus der Sicht einzelner Akteure.
-
Die dritte Ebene der Analyse hilft, die Ursachen und die Bedeutung von Leistungsproblemen zu verstehen. Diese
detaillierte Analyse arbeitet mit groben Informationen und setzt statistische Methoden ein, um Testern zu helfen,
die richtigen Schlussfolgerungen aus den Daten zu ziehen. Die Detailanalyse bietet objektive und quantitative
Entscheidungskriterien, ist jedoch zeitintensiver und erfordert Grundkenntnisse in Statistik.
Die detaillierte Analyse verwendet das Konzept der statistischen Bedeutsamkeit, um festzustellen, wann
Unterschiede im Leistungsverhalten real und wann sie auf willkürliche, mit der Erfassung der Testdaten zusammenhängende
Ereignisse zurückzuführen sind. Der Gedanke ist, dass gewissermaßen jedem Ereignis eine gewisse Willkürlichkeit
innewohnt. Mit statistischen Tests wird ermittelt, ob es einen systematischen Unterschied gibt, der durch willkürliche
Ereignisse erklärt werden kann.
Weitere Informationen zu den verschiedenen Leistungstestberichten finden Sie im Abschnitt Technik: Schlüsselmesswerte für den Test.
|