Software-Test / Testautomatisierung / Testmanagement

Last- und Performancetest in 5 Tagen – Montag 2/6

Am Montag, dem ersten Tag des Last- und Performancetests, werden die Testziele sowie der Testumfang festgelegt. Noch offene Fragen aus der Vorbereitung werden geklärt. Zusammen mit der Projektleitung wird der Lasttester ein Szenario erarbeiten, dass in den folgenden Tagen umgesetzt wird.

Testszenario_Last- und Performancetest Montag

Montag Vormittag

Der erste Tag beginnt mit einer Besprechung. Die Ergebnisse aus der Vorbereitung werden nochmals einem Review unterzogen. Der Projektleiter und der Lasttester gehen dabei alle besprochenen Punkte durch und identifizieren die Punkte, die sich inzwischen geändert haben und besprechen offene Fragen. Hier ist der Lasttester auf die Expertise der Projektleitung angewiesen.

Die Testziele und der Testumfang – darunter fällt auch die Benutzeranzahl im Last- und Performancetest – werden in der Besprechung festgelegt. Wegen der Kürze des Projekts und um unnötigen Aufwand im Nachhinein zu verhindern ist die genaue Definition des Testumfanges besonders wichtig.

Mit dem Testumfang eng verknüpft ist auch die Infrastrukturfrage. Die Testumgebung sollte (eigentlich „muss“, aber dies ist nicht immer möglich) der Produktivumgebung entsprechen um möglichst aussagekräftige Ergebnisse über das Lastverhalten der Applikation zu erhalten. Keinesfalls sollte ein Test jedoch in einer Produktivumgebung stattfinden.

Auf der Testumgebung ist das Testobjekt bereits installiert und konfiguriert, d.h. der Lasttester kann ab heute jederzeit zugreifen und das Testszenario entwickeln. Neben dem Zugriff auf das System, d.h. dem Lasttester sind sein Username, Password und die URL des Systems bekannt, muss auch der Systemverantwortliche bekannt sein. Im Prinzip ist der Last- und Performancetest ein zerstörendes Unterfangen – die Infrastruktur soll an ihre Leistungsgrenze gebracht werden und muss unter Umständen neugestartet werden. Der Lasttester braucht diverse Kontaktadressen, mindestens aber die Person, die im Idealfall die Server neustarten kann.

Die Konfiguration der Infrastruktur ist ebenfalls wichtig: Ob ein Loadbalancer Session-basiert ist oder ob per IP-Adresse der zuständige Webserver ausgewählt wird ist ein wesentlicher Unterschied. Hat der Lasttester nur einen Lastgenerator zur Verfügung (also eine IP Adresse) und der Loadbalancer verteilt die Last per IP-Adresse, wird nur ein Webserver verwendet; und die anderen Knoten dürfen sich ausruhen. Der Last-und Performancetest wird daher nicht sehr aussagekräftig sein. Dies ist der beste Zeitpunkt, noch offene Fragen über Infrastruktur und Konfiguration zu besprechen bzw. Lösungen zu erarbeiten, falls der Lasttester keine andere Wahl hat und die vorhandene Infrastruktur verwenden muss.

Die nächsten Punkte in der Agenda sind das Testobjekt und das Testszenario. Das Szenario wird mit den Erkenntnissen aus der Infrastruktur erweitert bzw. optimiert. Es ist wichtig, Punkte im Szenario anzusprechen, die zu langwierig und zu komplex sind, um diese in der kurzen Zeit zu entwickeln. Das Szenario muss so gestaltet sein, dass es der Lasttester in 2 PT zu 100% entwickeln und testen kann. Hier ist die Erfahrung des Lasttesters gefragt. Vor allem AJAX Requests können Schwierigkeiten verursachen, wenn der Lasttester keine Information über den Inhalt („Was heißt var=121263812638123?“) hat, ist es eine Session ID, ist es ein Timestamp? Der Lasttester ist auf die Hilfe der Entwickler angewiesen.

Das Szenario soll die wichtigsten Geschäftsprozesse enthalten und gleichzeitig zügig entwickelt werden. Das Szenario wird daher reviewed und „zu komplexe“ Punkte werden herausgenommen oder ersetzt. Das ist das primäre Ziel dieses Vormittages.

Zu komplexe Punkte können, wenn noch Zeit ist, später jederzeit in das Szenario eingefügt werden. Das Hauptziel ist es, einen kurzen aber aussagekräftigen Last-und Performancetest durchzuführen.

 

Die Checkliste für Montag Vormittag

  • Meeting mit PL – Klärung von Umfang, Infrastruktur, Szenario
    • Was soll, wann und wie getestet werden?
    • Wer ist für was verantwortlich? Der Lasttester hat eine Einführung in die Anwendung erhalten
  • Der Lasttester hat eine Einführung in die Anwendung erhalten
  • Testparameter wurden festgelegt
    • Anzahl der virtuellen Benutzer sind bekannt
    • Anzahl der Testdurchläufe sind bekannt
  • Der Lasttester und Projektleiter sehen sich die technische Implementierung an
    • AJAX Requests
    • JSON oder XML
    • Welche Technologien werden eingesetzt?
    • Welches Tool (JMeter, Loadrunner, Neoload,…)
    • Cloud or not Cloud?
  • Das Szenario wird optimiert und an das Ziel „2PT Entwicklungszeit“ angepasst.

 

Montag Nachmittag

Nachdem der Lasttester sich beim Mittagessen ein wenig Ruhe gegönnt hat, wird am Nachmittag damit begonnen, dass er ein Proof-Of-Concept erstellt. Das Ziel ist es, dass er ein Gefühl dafür bekommt, welche Reibungspunkte bei der Entwicklung des Skripts entstehen können. Wichtig ist, dass die Skript-Fragmente so strukturiert werden, dass sie sich einfach und ohne viel Aufwand erweitern werden können. In dieser Phase sollte man Ordner (wie bei Neoload oder JMeter) oder Funktionen (wie bei HP Loadrunner) so benennen, dass sie eindeutig die Funktion widerspiegeln. Ich selbst verwende für solche Ordner immer Großbuchstaben, wie z.B. „LOGIN“. In diesem sind dann alle Requests enthalten, die für einen Login verwendet werden.

Während der Erstellung der ersten Fragmente kann der Lasttester überprüfen ob die Zugänge zur Infrastruktur funktionieren. Der Lasttester beschäftigt sich darüber hinaus auch mit dem Testobjekt selbst. Hier tauchen auf jeden Fall noch Fragen auf. Der Lasttester sammelt die Fragen und stellt sie dem Projektleiter.

Am Ende des Tages hat der Lasttester bereits ein stattliches Set an Fragen und Skript-Fragmenten zusammengestellt. Außerdem hat der Lasttester das Szenario bereits öfters reviewed und sich in die Anwendung eingearbeitet.

 

Die Checkliste für Montag Nachmittag

Ein erster Proof of Concept wird vom Lasttester erstellt. Dabei ergeben sich neue Informationen:

  • Die Anwendung ist testbar
  • Die Infrastruktur ist geeignet.
  • Einschulung in die Anwendung hat stattgefunden
  • Der Lasttester hat das Szenario verstanden
  • Offene und neue Fragen sind mit der Projektleitung geklärt

 

Ein intensiver, aber erfolgreicher Montag geht dem Ende zu – das Szenario sowie das Proof-of-Concept steht. Am nächsten Tag widmen wir uns der Erstellung des Testskripts. Doch mehr dazu dann nächste Woche – bis Dienstag!

 

Die Blogreihe:
Last- und Performancetest in 5 Tagen – Prolog 1/6
Last- und Performancetest in 5 Tagen – Montag 2/6
Last- und Performancetest in 5 Tagen – Dienstag 3/6
Last- und Performancetest in 5 Tagen – Mittwoch 4/6
Last- und Performancetest in 5 Tagen – Donnerstag 5/6
Last- und Performancetest in 5 Tagen – Freitag 6/6

Passende Artikel

Kommentare gesperrt.