Grafik mit Computerbildschirm

Qualitätssicherung und IT-Sicherheit / Methoden und Wissen

Lasttests sorgen für gute Performance

05. Mai 2022 / Jannik Prestel / Leif Linderkamp

Lasttests: Wie stabil läuft Ihre Anwendung?

Ihr Softwareprojekt steht vor einem großen Release? Spätestens jetzt ist es Zeit für einen Lasttest. Mit diesen Softwaretests lässt sich nämlich feststellen, ob das System der erwarteten Nutzer:innenzahl standhält. Genauer gesagt: Wenn viele User gleichzeitig auf ihr Programm zugreifen, funktioniert es dann noch einwandfrei oder geht es in die Knie? Im besten Falle werden Lasttests gleich in den Entwicklungszyklus integriert und auf diese Weise regelmäßig alle paar Wochen ausgeführt.

Wir haben Fragen und Antworten zusammengestellt, wie Lasttests funktionieren und warum sie für Softwareprojekte wichtig sind.

Für welche Projekte sind Lasttests wichtig?

Ein Lasttest ist für alle Kunden und Projekte wichtig, deren Software frei verfügbar und nutzbar ist. Ein Beispiel sind Online-Shops. Also überall dort, wo eine größere Zahl an gleichzeitig Nutzenden erwartet wird. Doch auch wenn die erwarteten Nutzer:innenzahlen geringer sein mögen, empfiehlt sich ein Lasttest.

Ein weiteres Kriterium ist, dass das System gewisse, möglichst schnelle Antwortzeiten erreichen muss. Schließlich wartet keiner gerne lange auf seine Bestellbestätigung!

Der Test soll sicherstellen, dass die gewünschte und erwartete Anzahl an Nutzer:innen das System bzw. die Anwendung zur selben Zeit nutzen können, ohne dass es merkbare Einbußen in der Bedienbarkeit gibt, die Performance also nicht unnötig schwankt.

Was kann passieren, wenn auf Tests verzichtet wurde?

Dann kann es zu fehlerhaften Konfigurationen kommen. Zum Beispiel arbeitet der Load-Balancer nicht richtig. Statt die Zugriffe auf mehrere Server zu verteilen, lastet alle Kapazität nur auf einem Server.

Das Caching, das temporäre Zwischenspeichern, läuft nicht korrekt. Es werden unnötig große Datenmengen über die Server geladen. Lasttests verhindern außerdem Bottlenecks, zum Beispiel dass zu wenige Datenbankverbindungen bestehen.

Eine Tabelle mit Text über Lasttests

Wie funktioniert ein Lasttest?

Bei einem Lasttest wird die zu testende Anwendung mit mehreren simulierten Nutzern gleichzeitig benutzt, um eine hohe Last für den Server und die angebundenen Systeme zu erzeugen. Es können ganze Geschäftsprozesse oder auch nur einzelne Teile der Anwendung getestet werden.

Die Last wird kontinuierlich erhöht, bis ein Ziel oder eine gewisse Antwortzeit erreicht wurden. Möchte man einen Stresstests durchführen, wird die Anzahl der simulierten Nutzer weiter erhöht, bis der Server oder Datenbanken keine Rückmeldung mehr geben können.

Wo und wann sollte getestet werden?

Um möglichst realistische Bedingungen herzustellen, ist es ratsam, auf dem produktiven System zu testen. Das schränkt in dieser Zeit allerdings den Betrieb ein oder kann sogar zu einem kurzzeitigen Ausfall der Anwendung führen. Muss der Betrieb gewährleistet bleiben, sollte ein Ausweichsystem möglichst nah am Produktivsystem aufgebaut sein.

Idealerweise finden Lasttests bereits mit der Entwicklung der Anwendung statt. So können bereits frühzeitig Schwachstellen bei der Performance oder der technischen Konfiguration einer Systemlandschaft aufgezeigt werden. Das erlaubt im direkten Vergleich mit einer Vorgängerversion auch eine Steigerung der Performance.

Womit arbeiten die HEC Expert:innen?

Für unsere User-basierten Lasttests nutzen wir das Tool WAPT Cloud aus der Amazon Cloud (AWS). Dieses ist leicht skalierbar und schafft Unabhängigkeit vom Firmen-Netzwerk.

Oops, an error occurred! Code: 20240726172518d5c5f5aa Event: b46fbcf7d87f4cf186c00fd289a9feae