Konzept: Leistungstests
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.
Beziehungen
Hauptbeschreibung

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.