Lasttest und Performancetest mit JMeter

Lasttests und Performancetests mit JMeter

JMeter gehört zu den wichtigsten Testtools für Lasttests und Performancetests. Der ursprüngliche Ansatz, der beim Einsetzen von JMeter verfolgt werden sollte, war eng mit dem Testing von Web-Applikationen verbunden. Mittlerweile hat sich das Tool als ein unerlässlicher Begleiter nicht nur in der Softwareentwicklung in seiner rein technischen Form, sondern auch in der Qualitätssicherung als dessen Teilbereich, eingebürgert.

Das letzte Release mit der Version 2.13 wurde im Jahre 2004 herausgebracht. Erwartungsgemäß erschien die aktuelle Version nicht unter der Nummer 2.14, sondern direkt Version 3.0 Hat dies etwas zu bedeuten? Wahrscheinlich…?! … wir werfen einen Blick…darauf. Neben den zahlreichen Bugfixes gibt es immense Anzahl an Neuerungen, die die neue Version von JMeter mit sich bringt. Wir werden versuchen, die neuartigen und interessantesten Features in diesem kurzen Artikel näherzubringen. Vorher ist es aber wichtig, einige Begriffe genauer zu erläutern.

Was ist Lasttest bzw. Performancetest?

Primäres Ziel von Lasttest und Performancetest ist das Liefern des Beweises, dass das getestete System mit seinen Komponenten und Modulen effizient funktioniert. Nachfolgend werden die Definitionen für Lasttest bzw. Performancetest nach ISTQB aufgeführt.

Performancetest

“Testen zur Bestimmung der Performanz eines Softwareprodukts.”[1]

Lasttest

“Eine Art von Performance-Test, die das Systemverhalten eines System oder einer Komponente in Abhängigkeit steigender Systemlast (z.B. Anzahl parallele Benutzer, und/oder Anzahl Transaktionen) misst, um zu bestimmen, welche Last durch ein System oder eine Komponente bewältigt werden kann. Siehe auch Performanztest, Stresstest.”[2]

>> NEU Grundlagen für Lasttest und Performancetest mit JMeter | Schulung, Training

Was ist neu bei User-Experience & User Interface? - Lasttest mit JMeter

Einer den ersten Eindrücken vom JMeter 3.0 fällt gleich nach dem Starten auf – das Logo hat sich nämlich geändert. Zu den weiteren visuellen Veränderungen zählt der eingebaute Timer, der die bereits vergangene Zeit seit dem Starten des Testszenarios misst. Hier muss auch erwähnt werden, dass das Design der Symbole überarbeitet wurde. Hinzu zählt das Hidpi - Modus, das die Skalierung einiger UI-Elementen bei hochauflösende Bildschirme erlaubt.

Die neue Suchfunktion in “View Results Tree”? - Lasttest mit JMeter

Seit der neuen Version ist es ebenso möglich, an verschiedenen Stellen nach Text und sogar durch den Einsatz von regulären Ausdrücken zu suchen. Es verhält sich wie die Regex-Funktion.

Der Json-Einsatz..?

Verbessert hat sich auch die Extraktion von JSON-Daten – gemeint ist der neue JSON-Post-Prozessor.

Gibt es ein Reporting-Feature? - Lasttest mit JMeter

JMeter 3.0 bietet die Möglichkeit, einfach und schnell dynamische Reports, Diagramme und Graphen aus den erfassten Messungen zu generieren, z. B.:

  • Eine APDEX-Tabelle (Application Performance Index) – ein APDEX wird für jede Transaktion mit jeweiligen Schwellenwerten berechnet
  • Request-Summary-Graphen - in dem der prozentuale Anteil an erfolgreich bzw. nicht erfolgreich durchgeführten Transaktionen dargestellt wird

 JMeter - Performancetests, Lasttests

  • Statistics-Tabelle – dies ist eine Übersicht aller Metriken einer Transaktion (eingeschlossen der drei konfigurierbaren prozentualen Spalten)

JMeter - Performancetests, Lasttests

  • Eine Error-Tabelle, in der die Gesamtanzahl an Fehlern und deren prozentualer Anteil aus der Gesamtanzahl an Requests dargestellt werden

JMeter - Performancetests, Lasttests

  • Ein zoombares Diagramm – hier können 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, Response
    Codes pro Sekunde, Transaktionen pro Sekunde

JMeter - Performancetests, Lasttests

Quelle Bilder: Homepage JMeter

Welche Verbesserungen gibt es noch “unter der Haube”? - Lasttest mit JMeter

Durch die Migration des Quellcodes auf Java 7 wurden zahlreiche Code-Optimierungen vorgenommen, die zu einem weiteren positiven Effekt geführt haben – nämlich ein Review der gesamten Dokumentation (Inhalt und Präsentation). Aufgrund der genannten Änderungen mussten Bibliotheken und Abhängigkeiten erneuert bzw. erfrischt werden, so wie die Tests entsprechend migriert und angepasst werden.

Apache Groovy ist seit der aktuellen Version noch besser an JMeter gebunden.

Lasttest mit JMeter und Selenium ..?

Ja, es funktioniert - sogar ziemlich leicht. In diesem Artikel 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 JMeters-Statistik einfließen.

Ausblick und Verweise - Lasttest mit JMeter

Die detaillierte und vollständige Liste der Neuerungen, Verbesserungen, nicht-kompatiblen Änderungen sowie zahlreiche technische Details können auf der Homepage von JMeter gefunden werden.

Quellen-Angaben:

Tags: