Software-Entwicklung / Software-Test / Testautomatisierung

Last- und Performance Test in 5 Tagen – Donnerstag 5/6

Der Donnerstag ist der Testtag. Die am Montag festgelegten Tests werden heute ausgeführt. Beginnend mit einer niedrigen Anzahl von virtuellen Benutzern wird langsam die Last immer mehr gesteigert, bis das Testende erreicht wird oder der Server nicht mehr antwortet. Nach jedem Test werden die Testergebnisse gesichert und für die Analyse vorbereitet.

Last- und Performancetest Donnerstag

Donnerstag Vormittag

Der erste Schritt am Tag 4, dies ist der Testtag, ist das Verschicken eines Emails an alle Beteiligten. In dieser Email wird angekündigt, dass der Test heute stattfindet. Während man auf die Antwort wartet, wird nochmalig das Skript und somit die Infrastruktur überprüft. Diese muss heute unter allen Umständen funktionieren, sonst ist der Testtag recht schnell vorbei. Gibt es seitens der Beteiligten Einsprüche, muss dies sofort mit dem Projektleiter geklärt werden. Wenn es keine Einsprüche gibt, dann können die Vorbereitungen für den eigentlichen Test beginnen.

Die Anzahl der Testläufe ergibt sich im Prinzip aus der Besprechung vom ersten Tag und aus der (vermutlichen) Gesamtdauer der Testläufe. Im Kick-Off Meeting wurde festgelegt, welche Testläufe durchgeführt werden sollen. Die Anzahl der virtuellen Benutzer und die Testdurchläufe sind bekannt. Die einzige Variable ist die Gesamtdauer aller Testdurchläufe.

Die genaue (und finale) Anzahl der Testläufe orientiert sich naturgemäß an der Gesamtdauer des Tests. Mehr als in einen (Arbeits-)Tag passt, kann leider nicht durchgeführt werden. Deswegen muss die Dauer der Tests ermittelt werden. Man kann sich mit „Dauer mit einem User“  mal „Anzahl der User“  mal „Anzahl der Durchläufe“ helfen. Diese Formel ist natürlich sehr ungenau, man erhält aber eine ungefähre Vorstellung von der Dauer eines Durchlaufes. Im Laufe des Tests bekommt man ein Gefühl, wie lange die einzelnen Tests dauern. Die Formel „Anzahl der Durchläufe“ mal „Dauer mit Y Usern bei einem Durchlauf“ funktioniert in den meisten Fällen besser. Zum Beispiel kann ein Test mit 10 Usern (und einem Durchlauf) 10 Minuten dauern, dann wird  dieser mit 5 Durchläufen etwa 50 Minuten dauern.

Der Testlauf kann nun starten. Während des Testfortschrittes kann die Dauer der nächsten Testschritte geschätzt werden. Man erhält so eine Vorstellung, wie lange der (Gesamt-) Test dauern wird.

Im Laufe der ersten Tests sollte das Verhalten bzw. die Logs kontrolliert werden. Die Last wird sich pro Testlauf steigern. Bis jetzt haben wir die Anwendung überprüft, wie sie sich bei ein oder maximal einer Handvoll Benutzer verhält. Wir haben daher nur die Bestätigung, dass unser Skript funktioniert. Die ersten Testläufe sind vom Lastaufkommen her wahrscheinlich sehr gering. Die Anzahl der Benutzer werden langsam angehoben. Sind einige Systemkomponente noch nicht für den Livebetrieb eingerichtet ist, z.B. eine Systemkomponente kann nur „15 Benutzer“ verwalten, würden wir das nun sehen. Es würde keinen Sinn machen, die Last weiter zu erhöhen, solange die Ursache des Problems nicht gefunden und beseitigt worden ist. Die Systemkomponente könnte zum Beispiel der Load Balancer, die Login Komponente oder aber ein Fehler in der Anwendung sein.  Hier ist die Zusammenarbeit mit Entwickler, Projektleitung und System Administratoren wichtig.

 

Donnerstag Nachmittag

Sind die ersten Tests erfolgreich abgeschlossen, werden die nächsten Testdurchläufe gestartet. Während die nächsten Tests laufen, wird mit der Arbeit an den Analysen bereits durchgeführter Tests begonnen. Der Vorteil eines solchen Vorgehens ist, dass man die Zeit gut nützt. Das Ziel solcher Vorabanalysen ist es, Probleme möglichst schnell zu finden und vor allem den Aufwand der Hauptanalyse gering zu halten. Die Aufbereitung der Lasttestergebnisse für die Hauptanalyse am letzten Tag bedeutet einen nicht zu unterschätzenden Aufwand.

Die Vorabanalyse gibt uns die Möglichkeit Tendenzen zu identifizieren, d.h. wie sich das System unter einer bestimmten Last verhält. Die Tendenzen helfen uns abzuschätzen, wann das System komplett einbricht. Diese Beobachtungen ermöglichen es uns den Testablauf besser zu verstehen. Wenn wir beobachten, dass sich die Antwortzeiten bei 50 Usern stark erhöhen, können wir bereits Schlüsse ziehen, wie sich das System bei  100 Benutzern verhält. Wahrscheinlich wird das System nicht mehr reagieren. Mit diesem Wissen, würden wir den Test mit 100 Benutzern nur kurz laufen lassen, um unsere Vorahnung zu bestätigen. Tests mit mehr Benutzern müssen dann nicht mehr durchgeführt werden. Wir gewinnen damit Zeit, ohne negative Folgen auf die Testaussage zu haben. Die gewonnene Zeit können wir in weitere Tests investieren oder nutzen, um mit der Hauptanalyse beginnen.

Am Ende des Testtages werden die ersten Resultate zu einer Kurzanalyse zusammengefasst.  Diese enthält die wichtigsten Eckdaten der Tests, wie z.B. Testlaufbeschreibungen (Anzahl der Durchläufe, Anzahl der User, etc.) sowie die Lasttestergebnisse, eine Kurzbeschreibung welches Szenario man verwendet hat, etc. Also eine kurze Zusammenfassung der Tests sowie eine Vorstellung der Resultate. Man stellt dabei bewusst nur die wichtigsten Ergebnisse vor, wie z.B. „Der Test war erfolgreich und die Antwortzeiten lagen immer unter 10s.“ oder „Bis zu einer Anzahl von 100 Benutzern lief das System stabil; danach stieg die Fehlerrate an“. Diese Kurzbeschreibung soll den Projektleiter informieren und die Vorfreude auf die finale Analyse  erhöhen (oder einen Schock verhindern, wenn alles schief gelaufen ist!).

 

Checkliste für den Vormittag und Nachmittag

  • Das Skript läuft fehlerfrei ab
  • Startschuss für den Test durch den Projektleiter ist erfolgt
  • Nach jedem Testlauf: Daten werden analysiert
  • Daten wurden gesichert
  • Dauer jedes Tests ist erfasst (damit kann die Gesamtdauer des Tests ermittelt werden)

 

Wir nähern uns dem Endspurt – noch ein Tag bis zum Abschluss unseres Projektes „Last- und Performancetest in 5 Tagen“. Mehr dazu können Sie nächste Woche am Freitag hier am Blog lesen!

 

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.