Continuous Performance Testing

Der Last- und Performance-Test ist nichts Einmaliges

Anwender setzen heute voraus, dass eine IT-Lösung eine gute Performance aufweist. Mit einem sogenannten Last- und Performance-Test kann dies ganz leicht überprüft werden. Leider kommt dieser Test im Software-Alltag oft zu kurz.

25.10.2018Text: tnt-graphics0 Kommentare
lasttest_performancetest_1600x800

Jeder kennt es aus eigener Erfahrung: Eine App reagiert sehr schleppend oder gar nicht mehr, der gewünschte Kauf kann nicht erfolgreich abgeschlossen werden oder eine wenig hilfreiche Fehlermeldung erscheint. Diese Erfahrungen strapazieren die Nerven des Anwenders und schaden schlussendlich dem Image des Anbieters.

Abhilfe schafft hier der sogenannte Last- und Performance-Test. Dieser kommt leider oft erst zum Einsatz, nachdem die Applikation ausgiebig getestet und abgenommen wurde, meist direkt vor dem Go Live. Doch oft ist er nur eine Alibi-Übung, da nicht-funktionale Anforderungen ungenau definiert worden sind oder gänzlich fehlen. Für grössere Anpassungen zu Gunsten besserer Performance bleibt meist keine Zeit mehr.

Performance-Test als kontinuierlichen Prozess ansehen

Warum ist dieser Test so wichtig? «Jeder neue Build kann tendenziell eine negative Auswirkung auf die Performance haben», erklärt Thomas Rieger, Senior Testmanager bei bbv. «Deshalb empfehle ich, im Rahmen von DevOps auch den Performance-Test als kontinuierlicher Prozess zu betrachten und in die Continuous-Integration-Pipeline einzubauen. Der Performance-Test ist somit integraler Bestandteil jedes neuen Builds.» Ein grosser Vorteil ist laut Rieger, dass das Entwicklungsteam bezüglich der Performance für jede neue Version ein schnelles Feedback erhält und bei Abweichungen rechtzeitig Massnahmen einleiten kann.

Die Wahl der richtigen Tools

Performance-Test-Tools gibt es viele auf dem Markt. Es lohnt sich ein genauer Blick, denn nicht nur der Funktionsumfang des Tools spielt bei der Auswahl eine Rolle, sondern auch die Anbindung an bestehende Systeme. «In der Regel sind bei unseren Kunden bereits Performance-Tools im Einsatz, wir hören aber oft, dass diese eine Integration in den Entwicklungsprozess mangels fehlender Schnittstellen (API) nicht erlauben und auch bezüglich Unterstützung spezifischer Applikationen wie beispielsweise SAP nicht mehr auf dem aktuellen Stand der Technik sind», stellt Thomas Rieger fest.

Was sollte ein Performance-Test-Tool können?

1. Unterstützung von Performance Testing für Komponenten

Empfehlenswert sind Tools, die bereits frühe Phasen der Entwicklung unterstützen, zum Beispiel durch das Performance Testing von APIs, Web Services und Microservices.

2. Schnelle Erstellung und einfache Wartung der Testscripts

Können Testscripts mit einer einfachen Benutzerführung schnell erstellt werden, bringt dies viel Zeitersparnis mit sich. Zusätzlich können Doppelspurigkeiten vermieden werden, wenn bestehende funktionale Tests (z.B. aus Selenium) für Lasttests wiederverwendet werden.

3. Nahtlose Integration in bestehende CI-Landschaften

Bieten die Tools Schnittstellen zu gängigen CI-Tools an wie Bamboo, Jenkins und Team City, kann der Performance-Test auch mit diesen Tools ausgeführt werden und Reports stehen als schnelles Feedback zur Verfügung. Das steigert die Akzeptanz im Entwicklungsteam enorm.

4. Cloud Readiness

Sind die Tools «cloud ready», muss nicht zwingend in eine eigene, teure Infrastruktur investiert werden. Lastgeneratoren können als Docker Container erst bei Bedarf in der Cloud deployed werden. Dieser Ansatz spart Kosten, da der Cloud Provider nur eine verbrauchsabhängige Gebühr verrechnet. Natürlich sollte die ganze Umgebung auf Wunsch auch als «On Premise» aufgebaut werden können.

5. Performance Test in Realtime

Kann die Durchführung des Performance-Tests live überwacht werden, dann ist eine schnellere und bessere Abstimmung zwischen Entwicklung, QA, Betrieb und Business möglich. Performancevergleiche mit einer Vorversion können einfach dargestellt und SLAs vorgegeben und überwacht werden.

bbv beobachtet den Markt der Software-Test-Tools laufend und beurteilt diese anhand verschiedener Kriterien. Im Performance-Test-Bereich setzt bbv unter anderem das Tool NeoLoad von Neotys ein, da es die agile Softwareentwicklung in optimaler Weise unterstützt.

Der Vorteil von Neoload ist, dass der Last- und Performance-Test bereits in frühen Phasen erfolgt und mit allen anderen Tasks zusammen fortlaufend durchgeführt wird. Schlägt ein Performance-Test fehl, wird der Build nicht automatisch deployed.

Neoload

Integration von NeoLoad in die CI-Pipeline. (Quelle: Neotys)

 

NeoLoad ist eine kommerzielle Software und ist je nach Anforderungen des Kunden anpassbar. Im Vergleich zu anderen grossen Anbietern ist das Tool deutlich günstiger gemessen an der angebotenen Funktionalität.

Die aktuelle Version von NeoLoad kann kostenlos heruntergeladen und während einem Jahr mit vollem Funktionsumfang getestet werden. Es besteht lediglich die Einschränkung auf max. 50 virtuelle User (VU’s).

Seit Juni 2018 ist bbv erster zertifizierter Service Partner von Neotys in der Schweiz und bietet Kunden Beratung und Unterstützung beim Einsatz von NeoLoad an.

Der Experte

Thomas Rieger

Thomas Rieger war Senior Testmanager bei der bbv und besitzt langjährige Erfahrung in verschiedensten Test-Disziplinen. Seit Kurzem ist er auch zertifizierter Neotys Performance Tester.

Ladezeit, der Conversion-Killer im eCommerce

Sechs Tipps, um die Performance Ihres Webshops zu verbessern

Customer Experience
Ethical OS

Denn sie wissen, was sie tun

Digitalisierung
Testing mit Artificial Intelligence (AI) und Machine Learning (ML)

Künstliche Intelligenz im Testprozess

AI/KI

Beachtung!

Entschuldigung, bisher haben wir nur Inhalte in English für diesen Abschnitt.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.