Agiles Testmanagement in der CI/CD Pipeline. Entdecken Sie jetzt unser neues E-Book!

Jetzt unser neues E-Book entdecken!

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.

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.

Fazit

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.
28. September 2020

Über den Autor

Bild des Benutzers Mario Hanneken
Technical Test Manager, Trainer
Mario Hanneken hat sich nach 12 Jahren Entwicklungserfahrung auf die Bereiche Projekt- und Application Management fokussiert. Anschließend spezialisierte er sich auf das Testumfeld, wo er als Senior Consultant in der Rolle Technical Testmanager für die Qytera Gmbh tätig ist. Darüber hinaus ist er ISTQB-Advanced Level zertifiziert und zertifizierter Trainer.

Finden Sie weitere interessante Artikel zum Thema: