JMeter automated stress tests
Apache JMeter ist eine Java Desktop Applikation, die für Funktions-, Last- und Performance-Tests entwickelt wurde. Es ruft bestimmte URLs auf und wertet Antwortzeiten, sowie Fehlerstatus, Bandbreite, Ladezeit usw. aus.
Man kann damit vor allem Web-Applikationen jeglicher Art testen und diverse User und Use-Cases simulieren. Es ist ausserdem möglich, mehrere Rechner gleichzeit zu verwenden, um eine besonders hohe Last zu erzeugen (bis hin zum Denial of Service).
Für das Aufsetzen eines Tests gibt es eine relativ gut verständliche GUI. Über einen Proxy Server kann man auch "Click-Sessions" aufzeichnen und dann später wieder "abspielen".
Installation
- download http://jakarta.apache.org/jmeter/index.html (keine Installation nötig)
- run bin/jmeter.bat
Schneller Test
Um auf die Schnelle einen Testfall aufzusetzen, geht man wie folgt vor:
- Starten von JMeter
- Starten von IExplorer/Firefox
- Einrichten eines JMeter-Proxies
- Konfiguration von IExplorer/Firefox, dass diese den JMeter Proxy verwenden
- Starten des JMeter Proxies
- Aufzeichnen der Clicks im Browser
- "Finetuning" des Testfalls
- Starten des Tests
- Auswertung des Tests
Es zeigt, dass man mit 5 Minuten Aufwand einen Test aufsetzen kann, mit dem man auf einem System Last generieren kann. Man sieht sehr deutlich, wie die Last auf dem Webserver steigt ...
Funktions-, Last- und Performance-Tests
Um einen "vernünftigen" Test aufzusetzen, sollte man sich etwas Zeit nehmen und mehrere sinnvolle und repräsentative Testfälle erarbeiten. Die Möglichkeiten, die JMeter bietet, sind sehr umfangreich. Dabei muss man den Test aber immer individuell auf die Applikation zuschneiden und man muss die Anwendung dabei relativ gut kennen, um alle wichtigen Teile testen zu können ...
Man kann:
- Authentifizerungsmanager verwenden einrichten
- CSV Dateien mit Parameterlisten übergeben
- Testgruppen definieren
- Zufallsfaktoren einfliessen lassen
- Webformulare füllen / abschicken
- Aus verschiedenen Netzen / von verschiedenen Servern gleichzeitig Testen
- Selbstdefinierte Auswertungen generieren
- Testergebnisse exportieren (z.B. als CSV oder XML)
- .........