Brandneues Live-Webinar für Testmanager & Testautomatisierer: Verbessern Sie Ihre Lasttests und Website Performance mit Cloud-Lösungen und DevOps!

Brandneues Live-Webinar für Testmanager & Testautomatisierer: Verbessern Sie Ihre Lasttests und Website Performance mit Cloud-Lösungen und DevOps!

Mehr erfahren

Lasttest und Performancetest mit JMeter

Lasttest und Performancetest mit JMeter

Lasttest und Performancetest mit JMeter
Lesedauer: 2 Minuten

Bei JMeter handelt es sich um ein von der Apache Foundation entwickeltes Tool für Last-, Performance- und Stresstests. Die Software ist Open Source und in Java programmiert. (Zur Ausführung wird eine Java-Installation benötigt.)

Der ursprüngliche Ansatz, der beim Einsetzen von JMeter verfolgt werden sollte, war eng mit dem Testing von Web-Applikationen verbunden. Mittlerweile hat das Tool viele weitere Schnittstellen erhalten, die das Testen von weiteren Applikationsarten (wie Schnittstellen, Mailserver, Datenbanken, Verzeichnisdienste, etc.) ermöglichen. Im Folgenden zeigen wir Ihnen einige der wichtigsten Features der JMeter Software.

Was ist Lasttest (Load Testing)?

Der Lasttest (engl. Load Testing) oder auch Performancetest ist eine der wichtigsten nicht funktionalen Softwaretests, um die Belastbarkeit von Systemen, wie beipsielsweise Web-Applikationen, zu prüfen.

Jedes Softwaresystem ist für eine bestimmte Arbeitslast konzipiert. Manche dieser Softwaresysteme sollen dabei mehreren Nutzern gleichzeitig dienen, wie es unter anderem bei Content-Management-Systemen der Fall ist. Andere müssen zusätzlich eine Flut von Daten rechtzeitig bearbeiten können. Ein Ausfall solcher Systeme kann teils erheblichen Schaden oder finanzielle Verluste verursachen. Deswegen ist es sehr wichtig, dass diese vor ihrem Einsatz einer Reihe von Lasttests unterzogen werden.

In einem Lasttest werden im zu testenden System, wie der Name schon sagt, Lasten erzeugt. Ziel ist es zu sehen, ob das System diese Last bewältigen kann. Es wird beispielsweise getestet, ob eine Webseite mehreren Besuchern gleichzeitig in akzeptabler Zeit Antworten schicken kann oder ob ein Textverarbeitungsprogramm eine große Datei öffnen kann.

Allgemeine Funktionen von Apache JMeter

Verschiedene Timer

Ihre echten User klicken nicht gleichmäßig über alle Seiten: Sie lesen den Inhalt einer Seite und gehen dann weiter. Dies kann mit verschiedenen Timern (mit fest eingegebenen oder auch zufälligen Zeitintervallen) simuliert werden.

Pre- und Post-Processing

Pre-Processors führen Tasks aus, bevor ein Abruf geschieht, Post-Processors danach. Pre-Processors dienen also der Vorbereitung eines bestimmten Aufrufs, beispielsweise indem sie Daten für den Aufruf erhalten. Post-Processors machen hingegen etwas mit den erhaltenen Daten aus dem Abruf. Ein häufiges Beispiel: zur Spamvermeidung ändern sich unsichtbare Formularinhalte ("nonce" = used only once), die dann vor jedem Absenden neu abgerufen werden müssen. Dies geschieht per Pre-Processor. Vor allem für die Nutzung von APIs gibt es den JSON-Extractor, der Inhalte aus einem JSON-Objekt extrahieren kann.

Gibt es ein Reporting-Feature?

Das Thema Reporting ist insbesondere für Last-, Performance- und Stresstests nötig. Hier wird mit großen Datenmengen gearbeitet, welche mit statistischen Methoden ausgewertet werden. JMeter bietet die Möglichkeit, einfach und schnell dynamische Reports, Diagramme und Graphen aus den erfassten Messungen zu generieren. Nachfolgend sind vier Beispiele aufgelistet.

JMeter APDEX-Tabelle
Bild: JMeter APDEX-Tabelle. (Klicken zum Vergrößern) [Quelle: Apache Software Foundation]

Die APDEX-Tabelle (Application Performance Index) ist ein Standard, um die Nutzerzufriedenheit aus den Daten abzulesen. Ein APDEX wird für jede Transaktion mit dem jeweiligen Schwellenwerten berechnet. Im Request-Summary-Graphen wird der prozentuale Anteil an erfolgreich bzw. nicht erfolgreich durchgeführten Transaktionen dargestellt.

JMeter Statistics-Tabelle
Bild: JMeter Statistics-Tabelle. (Klicken zum Vergrößern) [Quelle: Apache Software Foundation]

Die Statistics-Tabelle ist eine Übersicht aller Metriken einer Transaktion (eingeschlossen der drei konfigurierbaren prozentualen Spalten).

JMeter Errors-Tabelle
Bild: JMeter Errors-Tabelle. (Klicken zum Vergrößern) [Quelle: Apache Software Foundation]

Mithilfe der Errors-Tabelle wird die Gesamtanzahl an Fehlern und deren prozentualer Anteil aus der Gesamtanzahl an Requests dargestellt.

JMeter Antwortzeiten Diagramm
Bild: JMeter Antwortzeiten Diagramm. (Klicken zum Vergrößern) [Quelle: Apache Software Foundation]

Ein zoombares Diagramm mit dem sämtliche Transaktionen nach folgenden Ereignissen anzeigt werden: Antwortzeiten während einer Zeitperiode; Datendurchfluss während einer Zeitperiode; Latenzen während einer Zeitperiode; Hits pro Sekunde; Codes pro Sekunde; Transaktionen pro Sekunde

JMeter mit Selenium ...?

In unserem Selenium-Seminar weisen wir immer wieder darauf hin, dass Selenium sich nicht für Last- und Peformancetests eignet. Aber manchmal wird doch mehr benötigt als JMeter allein schafft. Auf der Website von Blazemeter wird eine Schritt-für-Schritt Anleitung vorgestellt, wie die Integration beider Tools gelingen kann. Aber ist sie notwendig, was wird damit erreicht? Somit wird die Infrastruktur geschaffen, Lasttests/Performancetests durchzuführen, in den mit dem "echten" Webbrowser interagiert wird und wiederum Selenium WebDriver durch JMeter aufgerufen wird. Diese Integration verschafft den Vorteil beim Lasttest, dass auch die Rendering-Zeiten vom Webbrowser berücksichtigt werden, die sonst nicht in die JMeter-Statistik einfließen.

Webinar: Continuous Performance Testing in DevOps (JMeter, GitHub Actions, AWS)

Fazit - Lasttests für Webprojekte bestimmen den Geschäftserfolg

JMeter ist ein hervorragendes Tool für Last- und Performancetests, das allem durch die Anwendungsbreite punktet: heute können Sie damit Lasttests mit Webseiten durchführen, morgen Stresstests mit APIs und auch Sie die Performance Ihrer Datenbanksysteme können Sie damit testen. Darüber hinaus haben Sie vielfältige Möglichkeiten, Reports zu erstellen - und diese sind für die Interpretation der Ergebnisse essenziell. Soll es außerdem eine Open Source Software sein, die von einer bekannten Organisation verwaltet wird, kommen Sie an Apache JMeter nicht vorbei.

Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren. Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren.
31. Januar 2023

Über den Autor

Bild des Benutzers Wilson Campero
Geschäftsführer, Senior Testmanager
Wilson Campero ist IT-Unternehmer und Experte für Softwarequalität sowie ISTQB Certified Full Advanced Tester. Seit 13 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: