Richtlinie: Auslastungsanalysemodell
Das Auslastungsanalysemodell identifiziert die Variablen, die sich auf die Leistung des Systems auswirken, und die Messgrößen, mit denen der Effekt dieser Variablen gemessen wird. Diese Richtlinie beschreibt, wie ein Auslastungsanalysemodell entwickelt wird.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Übersicht

Softwarequalität wird auf der Basis verschiedener Dimensionen bewertet. Dazu gehören Zuverlässigkeit, Funktionalität und Leistung (siehe Konzept: Qualitätsdimensionen). Das Auslastungsanalysemodell (siehe Auslastungsanalysemodell) wird erstellt, um die verschiedenen Variablen, die sich auf die Leistung einer Anwendung oder eines Systems auswirken, und die Messgrößen zu identifizieren und zu definieren, die für die Bewertung der Leistung erforderlich sind. Die Auslastungsprofile, aus denen sich das Modell zusammensetzt, sind Kandidaten für Bedingungen, die mit den Testzielelementen in einer oder mehreren Testumgebungskonfigurationen simuliert werden können. Das Auslastungsanalysemodell wird von den folgenden Rollen verwendet:

  • Der Testanalytiker (siehe Rolle: Testanalytiker) verwendet das Auslastungsanalysemodell, um Testideen zu identifizieren und Testfälle für unterschiedliche Tests zu definieren.
  • Der Testdesigner (siehe Rolle: Testdesigner) verwendet das Auslastungsanalysemodell, um einen angemessenen Testansatz zu definieren und die Testfähigkeitsanforderungen für die unterschiedlichen Tests zu identifizieren.
  • Der Tester (siehe Rolle: Tester) verwendet das Auslastungsanalysemodell, u m die Ziele des zu implementierenden Tests besser zu verstehen, den Test auszuführen und die Testausführung ordnungsgemäß zu analysieren.
  • Der Benutzervertreter (siehe Rolle: Stakeholder) verwendet das Auslastungsanalysemodell, um die Angemessenheit der Arbeitslast und die Tests zu bewerten, die erforderlich sind, um das Systemverhalten auf der Basis dieses Auslastungsanalysemodells effektiv einzuschätzen.

Die Informationen im Auslastungsanalysemodell beziehen sich primär auf die Eigenschaften und Attribute in den folgenden Bereichen:

  • Anwendungsfallszenarios (oder Instanzen, siehe Arbeitsergebnis: Anwendungsfall), die während der Tests ausgeführt und ausgewertet werden sollen.
  • Akteure (siehe Arbeitsergebnis: Akteur), die während der Tests simuliert bzw. emuliert werden sollen.
  • Auslastungsprofil, das die Anzahl und den Typ simultaner Akteurinstanzen, die von diesen Akteurinstanzen ausgeführten Anwendungsfallszenarios und die Onlineantworten oder den Durchsatz der einzelnen Anwendungsfallszenario darstellt.
  • Testumgebungskonfiguration (tatsächlich, simuliert oder emuliert), die für die Ausführung und Auswertung der Tests verwendet werden sollen (siehe Arbeitsergebnis: Testumgebungskonfiguration). Schauen Sie sich auch das Softwarearchitekturdokument, die Deployment-Sicht, an, die die Basis für die Testumgebungskonfiguration bilden sollte.

Mit Tests sollen die Eigenschaften und das Verhalten des Testziels unter verschiedenen Lasten gemessen und ausgewertet werden. Wenn Design, Implementierung und Ausführung dieser Tests erfolgreich sein sollen, müssen sowohl realistische als auch Ausnahmedaten für diese Auslastungsprofile identifiziert werden.

Anwendungsfälle und Anwendungsfallattribute

Bei der Auswahl von Szenarios für diesen Typ von Test müssen zwei Aspekte berücksichtigt werden:

  • Kritische Anwendungsfälle enthalten die Schlüsselanwendungsfallszenarios, die in den Tests gemessen und ausgewertet werden müssen.
  • Relevante Anwendungsfälle enthalten Anwendungsfallszenarios, die sich auf das Verhalten der kritischen Anwendungsfallszenarios auswirken können.

Kritische Anwendungsfälle

Es werden unter Umständen nicht alle Anwendungsfallszenarios, die im Testziel implementiert werden, für diese Tests benötigt. Zu den kritischen Anwendungsfällen gehören Anwendungsfallszenarios, die im Mittelpunkt des Tests stehen, d. h. ihr Verwalten wird gemessen und ausgewertet.

Zum Identifizieren kritischer Anwendungsfälle müssen Sie die Anwendungsfallszenarios identifizieren, die mindestens einem der folgenden Kriterien entsprechen:

  • Erfordern eine Messung und Bewertung auf der Basis des Auslastungsprofils.
  • Werden häufig von einem oder mehreren Endbenutzern (Akteurinstanzen) ausgeführt.
  • Machen einen hohen Prozentsatz der Systemverwendung aus.
  • Verbrauchen erhebliche Systemressourcen.

Listen Sie die Scanner für kritische Anwendungsfälle auf, die in den Tests berücksichtigt werden müssen. Wenn diese identifiziert werden, muss der Ereignisablauf des Anwendungsfalls geprüft werden. Beginnen Sie damit, die spezifische Ereignisabfolge zwischen dem Akteur (Typ) und dem System zu identifizieren, wenn das Anwendungsfallszenario ausgeführt wird.

Stellen (oder überprüfen) Sie außerdem die folgenden Informationen zusammen:

  • Vorbedingungen für die Anwendungsfälle, z. B. Zustand der Daten (welche Daten müssen/dürfen nicht existieren) und Zustand des Testziels.
  • Daten, die konstant (dieselben) bleiben oder in den einzelnen Anwendungsfallszenarios verschieden sein müssen.
  • Beziehung zwischen dem Anwendungsfall und anderen Anwendungsfällen, z. B. die Reihenfolge, in der die Anwendungsfälle ausgeführt werden müssen.
  • Die Häufigkeit der Ausführung des Anwendungsfallszenarios, einschließlich der Merkmale, wie z. B. Anzahl simultaner Instanzen des Anwendungsfalls und Prozentsatz der Gesamtlast, den jedes Szenario für das System darstellt.

Relevante Anwendungsfälle

Anders als kritische Anwendungsfallszenarios, deren Schwerpunkt auf dem Test liegt, sind relevante Anwendungsfallszenarios solche, die sich auf das Leistungsverhalten der kritischen Anwendungsfallszenarios auswirken können. Relevante Anwendungsfallszenarios entsprechen mindestens einem der folgenden Kriterien:

  • Sie müssen vor oder nach einem kritischen Anwendungsfall ausgeführt werden (abhängige Vorbedingung oder Nachbedingung).
  • Sie werden häufig von einer oder mehreren Akteurinstanzen ausgeführt.
  • Sie machen einen hohen Prozentsatz der Systemverwendung aus.
  • Sie erfordern erhebliche Systemressourcen.
  • Sie werden routinemäßig im eingesetzten System ausgeführt, während kritische Anwendungsfallszenarios ausgeführt werden, z. B. E-Mail- oder Hintergrunddruckfunktionen.

Wenn Sie die relevanten Anwendungsfallszenarios identifiziert und aufgelistet haben, überprüfen Sie den Ereignisablauf des Anwendungsfalls und die zusätzlichen Informationen, wie Sie es für die kritischen Anwendungsfallszenarios getan haben.

Akteure und Akteurattribute

Für erfolgreiche Leistungstests müssen Sie nicht nur die Akteure identifizieren, die die kritischen und relevanten Anwendungsfallszenarios ausführen, sondern auch das Akteurverhalten simulieren bzw. emulieren. Das bedeutet, eine Instanz eines Akteurs kann mit dem Testziel unterschiedlich interagieren (länger brauchen, um auf Aufforderungen zu reagieren, unterschiedliche Datenwerte eingeben usw.), während dasselbe Anwendungsfallszenario von einer anderen Instanz dieses Akteurs ausgeführt wird. Schauen Sie sich die folgenden einfachen Anwendungsfälle an:

Im Titel genannte Abbildung

Akteure und Anwendungsfälle für einen Bankautomaten

Die erste Instanz des Akteurs "Kunde", die ein Anwendungsfallszenario ausführt, kann ein erfahrener Geldautomatenbenutzer sein, während eine andere Instanz von "Kunde" im Umgang mit Geldautomaten unerfahren sein kann. Der erfahrene Kunde navigiert schnell durch die Benutzerschnittstelle des Geldautomaten und verbringt wenig Zeit mit dem Lesen der einzelnen Aufforderungen, sondern drückt die Tasten routinemäßig. Der unerfahrene Kunde hingegen liest jede Aufforderung und benötigt zusätzliche Zeit, um die Informationen zu interpretieren, bevor er reagiert. Realistische Auslastungsprofile spiegeln diesen Unterschied wider, um zu einer genauen Bewertung des Testzielverhaltens zu gelangen.

Beginnen Sie mit der Identifizierung der Akteur für jedes der zuvor beschriebenen Anwendungsfallszenarios. Identifizieren Sie anschließend die unterschiedlichen Akteurprofile, die die beiden Anwendungsfallszenarios ausführen könnten. Im GA-Beispiel könnten Sie die folgenden Akteurstereotypen haben:

  • Erfahrener GA-Benutzer
  • Unerfahrener GA-Benutzer
  • Konto des GA-Benutzers befindet sich "innerhalb" des GA-Bankennetzes (Benutzerkonto ist bei der Bank, der der GA gehört)
  • Konto des GA-Benutzers befindet sich außerhalb des GA-Bankennetzes (Konkurrenzbank)

Identifizieren Sie für jedes Akteurprofil die unterschiedlichen Attribute und ihre Werte, z. B.:

  • Bedenkzeit - Die Zeit, die es dauert, bis ein Akteur auf die einzelnen Aufforderungen eines Testziels reagiert.
  • Eingabegeschwindigkeit - Die Geschwindigkeit, mit der der Akteur mit der Schnittstelle interagiert.
  • Anforderungsgeschwindigkeit - Die Geschwindigkeit, mit der der Akteur Anforderungen an das Testziel stellt.
  • Wiederholungsfaktor - Wie oft ein Anwendungsfall oder eine Anforderung nacheinander wiederholt wird.
  • Interaktionsmethode - Die vom Akteur verwendete Interaktionsmethode, z. B. die Tastatur für die Eingabe von Werten, das Navigieren zu einem Feld, die Verwendung von Direktaufruftasten usw. oder die Verwendung der Maus zum "Zeigen und Klicken" "Ausschneiden und Einfügen" usw.

Identifizieren Sie außerdem für jedes Akteurprofil das Auslastungsprofil und geben Sie alle Anwendungsfallszenarios, die sie ausführen, und den Prozentsatz der Zeit oder den Anteil des Aufwands an, den der Akteur für die Ausführung dieser Szenarios aufbringen muss. Diese Informationen werden verwendet, um eine realistische Arbeitslast zu identifizieren und zu erstellen (siehe Attribute "Last und Lastattribute").

Systemattribute und Variablen Seitenanfang

Die spezifischen Attribute und Variablen der Testumgebungskonfiguration, die die Umgebung eindeutig kennzeichnen, müssen ebenfalls identifiziert werden, da sich auch diese Attribute auf die Messung und Auswertung des Verhaltens auswirken. Zu diesen Attributen gehören:

  • Physische Hardware (CPU-Geschwindigkeit, Hauptspeicher, Platten-Cache usw.)
  • Deployment-Architektur (Anzahl der Server, Verteilung der Verarbeitung usw.)
  • Netzattribute
  • Andere Software (und Anwendungsfälle), die simultan mit dem Testziel installiert und ausgeführt wird

Identifizieren und listen Sie die Systemattribute und Variablen auf, die in den Tests berücksichtigt werden müssen. Diese Informationen können verschiedenen Quellen entnommen werden, z. B.:

Auslastungsprofile Seitenanfang

Wie bereits erwähnt, ist die Auslastung ein wichtiger Faktor, der sich auf das Verhalten des Testziels auswirkt. Eine akkurate Beschreibung des Auslastungsprofils, das für die Bewertung des Zielverhaltens verwendet wird, ist von entscheidender Bedeutung. Auslastungstests werden normalerweise mehrfach mit unterschiedlichen Auslastungsprofilen durchführt. Diese Auslastungsprofile stellen jeweils eine Variante der im Folgenden genannten Attribute dar:

  • Anzahl der Akteurinstanzen, die gleichzeitig mit dem Testziel interagieren
  • Profil der Akteure, die mit dem Testziel interagieren
  • Anwendungsfallszenarios, die von den einzelnen Akteurinstanzen ausgeführt werden
  • Häufigkeit und Wiederholung kritischer Anwendungsfallszenarios

Identifizieren Sie für jedes Auslastungsprofil, das für die Bewertung der Leistung des Testziels verwendet wird, die Werte für jede der oben genannten Variablen. Die für die einzelnen Variablen unter den verschiedenen Lasten verwendeten Werte, können durch Beobachtung oder Interview der Akteure oder aus dem Geschäftsanwendungsfallmodell (sofern verfügbar) ermittelt werden. Es ist üblich, dass mindestens eines der folgenden Auslastungsprofile definiert wird:

  • Optimal - Ein Auslastungsprofil, das die bestmöglichen Deployment-Bedingungen darstellt, z. B. eine minimale Anzahl von Akteurinstanzen, die mit dem System interagieren, die nur die kritischen Anwendungsfallszenarios mit nur minimaler zusätzlicher Software und Arbeitslast während der Testausführung interagieren.
  • Durchschnitt (Normal) - Ein Auslastungsprofil, das die erwartete oder tatsächliche durchschnittliche Verwendung darstellt.
  • Spontane Spitze - Ein Auslastungsprofil, das die erwartete oder tatsächliche spontane Spitzenauslastung darstellt, die während des Normalbetriebs kurzfristig auftritt.
  • Spitze - Ein Auslastungsprofil, das die erwartete oder tatsächliche Spitzenauslastung darstellt, z. B. eine maximale Anzahl von Akteurinstanzen, die Anwendungsfallszenarios in großem Umfang mit viel zusätzlicher Software und Arbeitslast während des Tests ausführen.

Wenn die Auslastungstests Stresstests beinhalten (siehe Konzept: Leistungstest und Technik: Testtypen), müssen mehrere zusätzliche Lasten identifiziert werden. Jede dieser Lasten muss sich auf spezielle Aspekte des Systems in abnormalen oder unerwarteten Zuständen konzentrieren, die die vom eingesetzten System normalerweise erwartete Kapazität übersteigen.

Leistungsmessungen und -kriterien Seitenanfang

Auslastungstests können nur erfolgreich sein, wenn die Tests gemessen und die Auslastungsverhalten ausgewertet werden. Beim Identifizieren von Auslastungsmessungen und -kriterien müssen die folgenden Faktoren berücksichtigt werden:

  • Welche Messungen sollen vorgenommen werden?
  • Welches sind die kritischen Messpunkte im Testziel bzw. in der Anwendungsfallausführung und wo?
  • Welche Kriterien sollen für die Bestimmung eines akzeptablen Leistungsverhaltens verwendet werden?

Leistungsmessungen

Während der Testausführung können viele verschiedene Messungen durchgeführt werden. Identifizieren Sie die relevanten Messungen und begründen Sie, warum dies die wichtigsten sind.

Im Folgenden finden Sie eine Liste mit Verhalten, die in der Regel überwacht und erfasst werden:

  • Testscriptzustand bzw. -status - Eine grafische Darstellung des aktuellen Zustands, Status oder Fortschritts der Testausführung.
  • Antwortzeit/Durchsatz - Messung (bzw. Berechnung) der Antwortzeiten oder des Durchsatzes (gewöhnlich ausgedrückt als Transaktionen pro Sekunde).
  • Traces - Erfassung der Nachrichten/Dialoge zwischen dem Akteur (Testscript) und dem Testziel oder dem Datenfluss und/oder dem Prozessfluss.

Weitere Informationen hierzu finden Sie in Technik: Schlüsselmesswerte des Tests.

Kritische Leistungsmesspunkte

In den Abschnitten "Anwendungsfälle" und "Anwendungsfallattribute" oben wurde beschrieben, dass nicht alle Anwendungsfälle und ihre Szenarios für Leistungstests ausgeführt werden. Ebenso werden nicht alle Leistungsmessungen für jedes ausgeführte Anwendungsfallszenario vorgenommen. Gewöhnlich werden nur spezielle Anwendungsfallszenarios für Messungen herangezogen, oder es kann eine spezielle Abfolge von Ereignissen in einem bestimmten Anwendungsfallszenario verwendet werden, um das Leistungsverhalten zu bewerten. Achten Sie darauf, für die Messung von Leistungsverhalten, die Start- und Endpunkte auszuwählen, die am wichtigsten sind. Die wichtigsten Start- und Endpunkte sind die, an denen die Ereignisfolgen am besten sichtbar sind, oder die, die durch Änderungen der Software oder Hardware direkt beeinflusst werden können.

Im GA-Anwendungsfall "Bargeld abheben" könnten Sie beispielsweise die Leistungsmerkmale der gesamten Anwendungsfallinstanz ab dem Punkt, an dem der Akteur die Operation einleitet, bis zu dem Punkt messen, an dem der Anwendungsfall beendet ist, d. h. wenn der Akteur seine Scheckkarte zurück erhält und der Geldautomat eine neue Karte annehmen kann. Dieser Fall wird durch die schwarze Linie ("Insgesamt abgelaufene Zeit") dargestellt.

Im Begleittext beschriebene Abbildung

Beachten Sie jedoch, dass es viele Ereignisfolgen gibt, die zur insgesamt abgelaufenen Zeit beitragen. Einige dieser Folgen können Sie steuern (z. B. das Lesen der Karteninformationen, das Prüfen des Kartentyps, das Herstellen der Verbindung zum Bankensystem, Elemente B, D und E), andere nicht (z. B. den Akteur, der seine PIN eingibt oder die Aufforderungen erst liest, bevor er den Auszahlungsbetrag eingibt, Elemente A, C und F). Im obigen Beispiel könnten Sie zusätzlich zur insgesamt abgelaufenen Zeit die Antwortzeiten für die Ereignisse B, D und E messen, da diese Ereignisse für den Akteur am deutlichsten spürbar sind (und Sie sie über die Deployment-Software/Hardware beeinflussen können).

Kriterien für die Leistungsmessung

Nachdem Sie die kritischen Leistungsmessungen und Messpunkte identifiziert haben, müssen Sie die Leistungskriterien überprüfen. Leistungskriterien werden in den ergänzenden Spezifikationen formuliert (siehe Arbeitsergebnis: Ergänzende Spezifikationen). Überarbeiten Sie die Kriterien, sofern erforderlich.

Im Folgenden finden Sie eine Liste mit Kriterien, die häufig für Leistungsmessungen herangezogen werden:

  • Antwortzeit time (Onlineantwort)
  • Durchsatzrate
  • Antwortzeitperzentile

Das Hauptkriterium sind Onlineantwortzeiten, gemessen in Sekunden, oder die Transaktionsdurchsatzrate, gemessen in der Anzahl der verarbeiteten Transaktionen (oder Nachrichten).

Wenn Sie beispielsweise den Anwendungsfall "Bargeld abheben" verwenden, kann dieses Kriterium wie folgt ausgedrückt werden "Ereignisse B, D und E (siehe Abbildung oben) müssen innerhalb von 3 Sekunden (im Kombination 9 Sekunden) erfolgen". Wenn während der Tests festgestellt wird, dass eines der mit B, D oder E identifizierten Ereignisse länger als die angegebenen 3 Sekunden braucht, notieren Sie einen Fehler.

Perzentilmessungen werden mit Antwortzeiten und/oder Durchsatzraten kombiniert und werden verwendet, um Messungen, die außerhalb der genannten Kriterien liegen, "statistisch zu ignorieren". Das Leistungskriterium für den Anwendungsfall "Bargeld abheben" heißt jetzt: "für das 90-Prozent-Perzentil müssen die Ereignisse B, D und E jeweils innerhalb von 3 Sekunden erfolgen...". Wenn während der Testausführung festgestellt wird, dass 90 Prozent aller Leistungsmessungen innerhalb der genannten Kriterien liegen, wird kein Fehler notiert.