Annahmen zu Nutzungsprofilen im Wirkbetrieb

R 2.2.0

Voraussetzungen

Wie im Thema Leistungseffizienz beschrieben kann es notwendig werden, mögliche Rahmenbedingungen wie erwartete Zugriffs- oder Nutzerzahlen für die Tests zu schätzen. Eine Schätzung oder Berechnung der erwarteten Werte dieser nicht-funktionalen Anforderungen ist - inkl. einer gewissen Schwankung - durchaus möglich.

Realistische Tests, die eine hinreichende Analysetiefe bieten, sind wesentliche Bestandteile „guter“ Performancetests. Es geht nicht nur darum, eine große Anzahl von Transaktionen zu simulieren, sondern auch darum, reale Benutzerszenarien in Modellen vorwegzunehmen, die einen Einblick in die Leistung Ihres Produkts im Live-Betrieb geben. Performancetests erzeugen riesige Datenmengen. Gut geplante Tests ermöglichen eine schnelle und genaue Analyse auftretender Leistungsprobleme und ihrer Ursachen.

Benötigt werden dafür:

  • Zu erstellende (Test-)Datenmenge

  • Definition der nicht-funktionalen Anforderungen in messbarer Form

    • Informationen über zu erwartende Zugriffshäufigkeiten (z.B. Zugriffe pro Stunde)

    • Erwartete Zugriffsgeschwindigkeit (z.B. Antwortzeit des Systems maximal 3 Sekunden pro Anfrage)

    • Speichernutzung (z.B. Arbeitsspeicherverbrauch von Transaktionen in GB usw.)

  • Dokumentation der Akzeptanzkriterien

  • Aufbau eines separaten Testsystems

  • Vorbereitung des Testsystems

    • Installation neuer Software

    • Schnittstellenaufbau/Mocks

    • Beladung des Systems mit Testdaten/Testnutzern

Um die konkrete Last zu berechnen, kann man mit folgender Checkliste arbeiten:

  • Welche Nutzerklassen und Rollen gibt es?

    • z.B. Rollen wie Erfasser, Bearbeiter, Auswerter, Kontrolleur oder Administrator siehe auch folgendes Beispiel

  • Wie viele Nutzer werden gleichzeitig auf das System zugreifen?

    • Inhalt von Anforderungslisten in Spezifikationen

    • Erfahrungswerte ähnlicher Prozessen

    • Schätzungen

    • Gesamtzahl

    • Verteilung über den Tag/die Arbeitszeit

Beispiel zur Bildung von Nutzungsprofilen

Im Beispiel wird von einem zu prüfenden Prozess ausgegangen, bei dem Erfassung, Bearbeitung, Auswertung und Kontrolle aufeinander aufbauende Schritte darstellen. Die Erfassung erfolgt durch Sachbearbeiter unterschiedlicher Behörden, zu deren Anzahl ein Aufschlag von ca. 10% als Sicherheitsreserve hinzugefügt wird. Dieses Modell zeigt einen beispielhaften Prozess, der von vier unterschiedliche Nutzergruppen in den Prozessschritten ausgeht. In der Praxis steht zunächst eine Analyse dieser Rahmenbedingungen an. Hierbei gilt: Eine ungenaue Schätzung ist immer besser als gar keine zu haben!

Erste Schätzung aufgrund von Erfahrungswerten:

Größe Menge

Anwender

1.900

Erfassungen/h

4

Summe/h

7.600

Anwenderprofile ermittelt aus Befragungen:

Anwenderprofil Akteure Anzahl

Erfasser

1) BVA
2) Behörde2


Summe
Aufschlag
Summe

1) < 500
2) < 300
3) < 900
4) < 50
1.750
+ 150
1.900

Bearbeiter

BVA

< 15

Auswerter

BVA

< 15

Kontrolle

BVA

< 5

Es wird in unserem Beispiel eine Lastenverteilung anhand eines Modells angenommen, das einen typischen Arbeitstag in die vier verschiedenen Phasen Aufwärm-, Betriebs, Höchstlast- und Abkühlphase aufteilt. Das Mengengerüst aus den Befragungen sind in der folgenden Tabelle zu finden.

Je nach Einsatzbereich bedarf es der eingehenden Analyse, um passende Annahmen der Lasten treffen zu können. So können saisonale Unterschiede oder Nutzer in unterschiedlichen Zeitzonen andere Einteilungen erfordern, um nur zwei Beispiele zu nennen.

Aufwärmphase Betriebsphase Höchstlastphase Abkühlphase

Beginn

09:00

10:00

14:00

16:00

Ende

10:00

14:00

16:00

17:00


Nutzer

380

1520

1900

760

Erfassungen/h

1

4

6

1

Summe

380

6080

11.400

760


Nutzer

3

12

15

6

Bearbeitungen/h

3

6

8

2

Summe

9

72

120

12


Nutzer

3

12

15

6

Auswertungen/h

1

6

8

2

Summe

3

72

120

12


Nutzer

1

4

5

2

Kontrolle/h

1

2

4

1

Summe

1

8

20

2


ca. 26 konkurrierende Anwender in der Sekunde zur Höchstlastphase (Berechnung s.u.)

Berechnung:

Max N * Zeit / 3600s = Nutzer/Sekunde

Max N = Maximale Anzahl von Nutzern zur Höchstlastzeit

Zeit = Anzahl der Stunden des gesamten Betriebszeitraums

3600 Sekunden = 1 Stunde

(11.400 + 120 + 120 + 20) * 8 / 3600 ⇒ 25,9 ⇒ ca. 26 Nutzer / Sekunde

In diesem fiktiven Prozess ergibt sich nach der Analyse der Daten aus der Höchstlastphase ein Spitzenwert von ungefähr 26 konkurrierenden Zugriffen pro Sekunde.

Es wird empfohlen, für solche Tests unbedingt eine eigene Testumgebung aufzusetzen, um eine Blockade der Entwicklung und der dazugehörigen Tests durch die Durchführung des Leistungseffizienztests zu verhindern.

Quellen