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 Soft­wa­re­pro­jekt steht vor einem großen Release? Spätes­tens jetzt ist es Zeit für einen Last­test. Mit diesen Soft­wa­re­tests lässt sich nämlich fest­stel­len, ob das System der erwar­te­ten Nutzer:innen­zahl stand­hält. Genauer gesagt: Wenn viele User gleich­zei­tig auf ihr Programm zugrei­fen, funk­tio­niert es dann noch einwand­frei oder geht es in die Knie? Im besten Falle werden Last­tests gleich in den Entwick­lungs­zy­klus inte­griert und auf diese Weise regel­mä­ßig alle paar Wochen ausge­führt.

Wir haben Fragen und Antwor­ten zusam­men­ge­stellt, wie Last­tests funk­tio­nie­ren und warum sie für Soft­wa­re­pro­jekte wich­tig sind.

Für welche Projekte sind Lasttests wichtig?

Ein Last­test ist für alle Kunden und Projekte wich­tig, deren Soft­ware frei verfüg­bar und nutz­bar ist. Ein Beispiel sind Online-Shops. Also über­all dort, wo eine größere Zahl an gleich­zei­tig Nutzen­den erwar­tet wird. Doch auch wenn die erwar­te­ten Nutzer:innen­zah­len gerin­ger sein mögen, empfiehlt sich ein Last­test.

Ein weite­res Krite­rium ist, dass das System gewisse, möglichst schnelle Antwort­zei­ten errei­chen muss. Schließ­lich wartet keiner gerne lange auf seine Bestell­be­stä­ti­gung!

Der Test soll sicher­stel­len, dass die gewünschte und erwar­tete Anzahl an Nutzer:innen das System bzw. die Anwen­dung zur selben Zeit nutzen können, ohne dass es merk­bare Einbu­ßen in der Bedien­bar­keit gibt, die Perfor­mance also nicht unnö­tig schwankt.

Was kann passieren, wenn auf Tests verzichtet wurde?

Dann kann es zu fehler­haf­ten Konfi­gu­ra­ti­o­nen kommen. Zum Beispiel arbei­tet der Load-Balan­cer nicht rich­tig. Statt die Zugriffe auf mehrere Server zu vertei­len, lastet alle Kapa­zi­tät nur auf einem Server.

Das Caching, das tempo­räre Zwischen­spei­chern, läuft nicht korrekt. Es werden unnö­tig große Daten­men­gen über die Server gela­den. Last­tests verhin­dern außer­dem Bott­len­ecks, zum Beispiel dass zu wenige Daten­bank­ver­bin­dun­gen beste­hen.

Eine Tabelle mit Text über Lasttests

Wie funktioniert ein Lasttest?

Bei einem Last­test wird die zu testende Anwen­dung mit mehre­ren simu­lier­ten Nutzern gleich­zei­tig benutzt, um eine hohe Last für den Server und die ange­bun­de­nen Systeme zu erzeu­gen. Es können ganze Geschäfts­pro­zesse oder auch nur einzelne Teile der Anwen­dung getes­tet werden.

Die Last wird konti­nu­ier­lich erhöht, bis ein Ziel oder eine gewisse Antwort­zeit erreicht wurden. Möchte man einen Stress­tests durch­füh­ren, wird die Anzahl der simu­lier­ten Nutzer weiter erhöht, bis der Server oder Daten­ban­ken keine Rück­mel­dung mehr geben können.

Wo und wann sollte getestet werden?

Um möglichst realis­ti­sche Bedin­gun­gen herzu­stel­len, ist es ratsam, auf dem produk­ti­ven System zu testen. Das schränkt in dieser Zeit aller­dings den Betrieb ein oder kann sogar zu einem kurz­zei­ti­gen Ausfall der Anwen­dung führen. Muss der Betrieb gewähr­leis­tet blei­ben, sollte ein Ausweich­sys­tem möglichst nah am Produk­tivsys­tem aufge­baut sein.

Idea­le­r­weise finden Last­tests bereits mit der Entwick­lung der Anwen­dung statt. So können bereits früh­zei­tig Schwach­stel­len bei der Perfor­mance oder der tech­ni­schen Konfi­gu­ra­tion einer System­land­schaft aufge­zeigt werden. Das erlaubt im direk­ten Vergleich mit einer Vorgän­ger­ver­sion auch eine Stei­ge­rung der Perfor­mance.

Womit arbeiten die HEC Expert:innen?

Für unsere User-basier­ten Last­tests nutzen wir das Tool WAPT Cloud aus der Amazon Cloud (AWS). Dieses ist leicht skalier­bar und schafft Unab­hän­gig­keit vom Firmen-Netz­werk.

Oops, an error occurred! Code: 202404221145462a801947 Event: 0f0f2a6e5c614f239f6adc0985947df8