Die Apache JMeter-Anwendung ist Open-Source-Software, eine 100% reine Java-Anwendung, die entwickelt wurde, um das funktionale Verhalten zu testen und die Leistung zu messen. Sie wurde ursprünglich für das Testen von Webanwendungen entwickelt, hat sich jedoch seitdem auf andere Testfunktionen ausgeweitet.
Apache JMeter kann verwendet werden, um die Leistung sowohl von statischen als auch von dynamischen Ressourcen, Web-Dynamikanwendungen zu testen. Es kann verwendet werden, um eine hohe Last auf einen Server, eine Gruppe von Servern, ein Netzwerk oder ein Objekt zu simulieren, um dessen Stärke zu testen oder die Gesamtleistung unter verschiedenen Lasttypen zu analysieren.
Die Funktionen von Apache JMeter umfassen:
- Fähigkeit, viele verschiedene Anwendungen/Server/Protokolltypen zu laden und Leistungstests durchzuführen:
- Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
- SOAP / REST-Webdienste
- FTP
- Datenbank über JDBC
- LDAP
- Nachrichtenorientierte Middleware (MOM) über JMS
- Mail - SMTP(S), POP3(S) und IMAP(S)
- Native Befehle oder Shell-Skripte
- TCP
- Java-Objekte
- Vollständig ausgestattete Test-IDE, die eine schnelle Testplanaufnahme (aus Browsern oder nativen Anwendungen), Erstellung und Debugging ermöglicht.
- CLI-Modus (Befehlszeilenmodus (früher als Non-GUI bezeichnet) / headless-Modus), um Lasttests von jedem Java-kompatiblen Betriebssystem (Linux, Windows, Mac OSX, …) durchzuführen.
- Ein vollständiger und bereit zur Präsentation dynamischer HTML-Bericht
- Einfache Korrelation durch die Möglichkeit, Daten aus den beliebtesten Antwortformaten, HTML, JSON, XML oder jedem Textformat zu extrahieren
- Vollständige Portabilität und 100% Java-Purität.
- Vollständiger Multi-Threading-Rahmen ermöglicht gleichzeitiges Sampling durch viele Threads und gleichzeitiges Sampling verschiedener Funktionen durch separate Threadgruppen.
- Caching und Offline-Analyse/Wiederholung von Testergebnissen.
- Hochgradig erweiterbarer Kern:
- Plug-in-Sampler ermöglichen unbegrenzte Testmöglichkeiten.
- Scriptbare Sampler (JSR223-kompatible Sprachen wie Groovy und BeanShell)
- Mehrere Laststatistiken können mit pluggable Timern ausgewählt werden.
- Datenanalyse- und Visualisierungs-Plugins ermöglichen eine große Erweiterbarkeit sowie Personalisierung.
- Funktionen können verwendet werden, um dynamische Eingaben für einen Test bereitzustellen oder Datenmanipulation durchzuführen.
- Einfache kontinuierliche Integration durch 3rd-Party-Open-Source-Bibliotheken für Maven, Gradle und Jenkins.