JMeter

JMeter ist Teil des Apache-Jakarta Projektes und benennt ein OpenSource-Werkzeug zur automatisierten Durchführung von Tests hinsichtlich funktionalem Verhalten und der Performance von Client-/Server-Software. Ursprünglich nur für den Test von Web-Applikationen ausgelegt, wurde JMeter später auch für den Test zusätzlicher Funktionen erweitert. JMeter unterstützt nicht nur das Testen von statischen sondern auch von dynamischen Ressourcen. Für den Test der Performance einer Anwendung kann JMeter ein hohes Maß an Last auf Servern generieren. Weiterhin können Anwendungen daraufhin getestet werden, ob diese korrekte Rückgabewerte liefern. Alternative als OpenSource verfügbare Werkzeuge sind u.a. Test-Maker oder OpenSTA sowie als kommerzielle Referenz Loadrunner von Mercury.


Software-Anwendungen müssen für den produktiven Einsatz auf ihr Verhalten und ihre Reaktionszeiten getestet werden - diese Aufgabe erfüllt Apache JMeter. Dabei ist JMeter vollständig in Java implementiert, dadurch unabhängig von einer bestimmten Plattform, setzt aber für eine Ausführung die vorherige Installation einer Java-Laufzeitumgebung (Java Runtime Environment, JRE) voraus. Da jedoch unter dem u.g. Link auch der Source-Code von JMeter für eigene Modifizierungen zur Verfügung steht, macht die In-stallation eines kompletten Java Development Kits (JDK) durchaus Sinn. Für den Test der Performance bezieht sich JMeter sowohl auf statische wie auch von dynamische Ressourcen - Servlets, Java Objekte, CGI- und Perl-Scripts, JDBC-Datenbanken und diesbezügliche Anfragen, FTP-Server u.a. Ein wichtiges Feature ist dabei die Simulation von unterschiedlichen Lastbedingungen zur Analyse der Performance eines Servers, Netzwerks oder Objekts. Ebenso ist der Test des Verhaltens des Servers, Scriptes oder Objekts unter extremen sowie konkurrierenden Last-Bedingungen möglich.

Erstellung eines Testplans

Der erste Schritt besteht aus der Erstellung eines spezifischen Testplans, der genau festlegt, welche Teile der Anwendung ausgeführt werden sollen, um so konkrete Artefakte hinsichtlich des Antwortzeitverhaltens zu bekommen. Dazu stellt JMeter eine grafische Oberfläche zur Verfügung, so dass einzelne Komponenten komfortabel zum Testplan hinzugefügt werden können. Dabei besteht ein Testplan immer aus:

Thread Group Zumindest eine Thread-Group muss vorhanden sein. Hier werden u.a. die Anzahl der Wiederholungen für einen Testplan insgesamt und die Anzahl der gleich-zeitig ablaufenden Threads festgelegt. Dabei durchläuft jeder Thread den ganzen Test unabhängig von anderen Threads.

Controller Es gibt unterschiedliche Arten von Controller - Logic-, Interleave-, Simple-, OnceOnly-, Random- u.a. Controller. Diese legen im Detail fest, wann und wie häufig JMeter etwas generieren soll. Der OnceOnly beispielsweise bewirkt die einmalige Ausführung von allen Komponenten innerhalb eines Controllers, der dann bei weiteren Iterationen nicht mehr beachtet wird. Die Logic-Controller steuern den Ablauf. Beispielsweise können Logins "OnlyOnce" ausgeführt werden, sich wiederholende Suchanfragen als "Stress-Test" simuliert werden oder die Random-Controller Anfragen in zufälliger Weise abarbeiten. Auch die Nutzung von Cookies oder das Ausfüllen von Formularen lässt sich mit Hilfe von Controllern realisieren. Auf der Internet-Seite des Jakarta-Projektes stehen dazu umfangreiche Beispiele zur Verfügung.

Listener Sammeln Daten und bereiten diese grafisch auf.

Timer Realisieren ein Delay um beispielsweise die Überlastung eines Servers auszuschließen.

Sampler Stellen die eigentlichen Kernfunktionalität eines Tests in Form von verschiedenen Requests d.h. Anfragen zur Verfügung - FTP, HTTP, LDAP, SOAP/XML-RPC-, Java Object- sowie JDBC-Anfragen. Für die Modifizierung der Sampler stehen Configuration Elemente zur Verfügung, die als Variablen agieren. Das ermöglicht bei mehreren Anfragen die einmalige Zuordnung von bestimmten Server-Adressen.

Assertions Ermöglichen den Test der Server-Responses, d.h. liefert der Server den erwarteten Inhalt zurück oder nicht.

Remote Option Ermöglicht den Test auf verschiedene Rechner zu verteilen.

Informationen zum Artikel
Deutsch: JMeter
Englisch:
Veröffentlicht: 29.10.2013
Wörter: 589
Tags: Test und Auslieferung
Links: Apache, Artefakt, content, Controller, Cookie