New Africa - stock.adobe.com
Die zehn führenden Anbieter für Lasttest-Tools im Vergleich
Load Testing Tools gibt es in verschiedenen Arten und mit unterschiedlichen Funktionen. In diesem Artikel werden die zehn führenden Lasttest-Werkzeuge vorgestellt.
Ein Lasttest-Tool muss den unternehmerischen Anforderungen entsprechen. Um dies zu realisieren, muss das Unternehmen vor dem Kauf eines Tools so viel wie möglich im Voraus planen. Nur so lässt sich sicherstellen, dass das Werkzeug auch die Funktionen enthält, die benötigt werden.
Die Anforderungen an Lasttest-Tools sind sehr unterschiedlich. Ein Qualitätssicherungsteam (Quality Assurance, QA) einerseits, das Lasttests erstellen und ausführen möchte, benötigt ein einfaches Werkzeug. Programmiererfahrung sollte für die Nutzung nicht zwingend erforderlich sein. Ist andererseits das Entwicklungsteam für einen Teil der Tests verantwortlich, dann passt ein Backend-Codierungs-Werkzeug wahrscheinlich besser.
Grundsätzlich gilt: Je weniger ein Tool in das bestehende System und in den Entwicklungsprozess eingreift, desto erfolgreicher wird es bei der Verbesserung einer Anwendung sein.
Die Hersteller der im Folgenden evaluierten zehn Produkte gehören zu den führenden Anbietern von Last- und Leistungstests auf dem Markt. Sie erfahren in dem Beitrag, welche Funktionen diese Produkte für Last- und Leistungstests bereitstellen und wie sie Teams bei der Entwicklung funktionaler und zuverlässiger Apps unterstützen.
Apache JMeter
Das Java-basierte Apache JMeter ist ein Open-Source-System, das das funktionale Verhalten einer Anwendung mit Last- und Leistungstests überprüft. JMeter überprüft sowohl statische als auch dynamische Ressourcen sowie Webanwendungen. Es simuliert verschiedene Laststufen auf Servern, Netzwerken und individuellen Objekten.
JMeter funktioniert mit folgenden Arten von Anwendungen, Servern und Plattformen:
- HTTP, HTTPS
- Java und Java-Objekte
- js
- PHP
- NET Framework
- Simple Object Access Protocol (SOAP) und REST-Webservices
- FTP
- Java Database Connectivity
- Lightweight Directory Access Protocol (LDAP)
- Message Oriented Middleware über Java Message Service
- Simple Mail Transfer Protocol Secure (SMTPS), Post Office Protocol Secure (POP3S) und Internet Message Access Protocol Secure (IMAPS)
- Native Befehle oder Shell-Skripte
- TCP
Mit der Test-IDE-Funktion von JMeter können Benutzer Testfälle aufzeichnen und entwickeln. Tester werden beim Debuggen aufgezeichneter Skripte unterstützt. Um eine Lasttest-Suite mit einem Java-kompatiblen Betriebssystem zu erstellen, können Tester auch die Befehlszeilenschnittstelle von JMeter verwenden. Diese Features funktionieren innerhalb von Testskripten für die dynamische Eingabe oder die Bearbeitung von Testdaten. Darüber hinaus können Administratoren Testergebnisse für die Offline-Analyse zwischenspeichern und wiedergeben.
JMeter enthält ein Reporting-Tool und die Möglichkeit, Daten mit Hilfe von HTML, JSON, XML oder anderen textbasierten Formaten zu extrahieren. Es unterstützt auch Multithreading und kann gleichzeitig Funktionen innerhalb von Threading-Gruppen abfragen. JMeter arbeitet mit anderen Open Source Continuous Integration (CI) Tools wie Maven, Gradle und Jenkins zusammen.
Schließlich bietet JMeter einen erweiterbaren Kern, der sowohl direkt Plug-fähige als auch Skript-fähige Sampler enthält. Plug-ins für Timer und Datenvisualisierung ermöglichen noch mehr Erweiterbarkeit und Personalisierung.
Dotcom-Monitor
Das Tool LoadView von Dotcom-Monitor ist ein proprietäres Produkt. Es führt Lasttests für Webanwendungen, Webdienste und Web-APIs sowohl in einem serverbasierten als auch Cloud Setup durch. LoadView funktioniert allerdings nur für das Testen von Webanwendungen – mobile Anwendungen bleiben außen vor. Webbrowser können von Admins in Echtzeit ohne Emulatoren getestet werden.
LoadView bietet ein Tool zur Skriptaufzeichnung, das Webbrowser und mobile Browser emuliert. Der Script Recorder erfordert keine Programmierkenntnisse.
Um das Tool nutzen zu können, müssen Anwender keinen Vertrag abschließen. Stattdessen wird es in einem Pay-as-you-go-Preismodell ausgeliefert, so dass sich ein Lasttest immer bei Bedarf einrichten lässt. Mit dem Cloud-System fallen für die Tester keine zusätzlichen Infrastrukturkosten an. Tester können zudem reale Benutzer-Workflows während funktionaler Testläufe emulieren und aufzeichnen und dann LoadView so programmieren, dass diese Belastungstests in größerem Maßstab ausgeführt werden.
Benutzer können Server an mehreren globalen geografischen Standorten testen und so die erwartete Benutzerbasis simulieren. Sie können das Tool in der Cloud oder auf dedizierten Servern einsetzen. Mit dem Cloud-System können Entwickler Testläufe entsprechend ihres Zeitrahmen planen.
Sie können sich auch Datenanalysen über Performance Reports, Monitoring und Dashboards in Echtzeit oder am Ende eines Testzyklus anzeigen lassen. Benutzer können LoadView zudem so konfigurieren, dass ein automatisierter Lauf erstellt wird, wenn sie bereit sind, Tests auszuführen. Die erforderlichen Server werden dann sofort zugewiesen.
Dotcom-Monitor bietet eine kostenlose Testversion.
Gatling
Gatling ist ein Code-basiertes Open-Source-Lasttest-Tool. Die Lasttest-Skripte von Gatling werden Teil des Produktionscodes der Anwendung. Durch die Testautomatisierung auf Code-Ebene können QA-Experten jederzeit Auslastungstests planen. Um genaueste Ergebnisse zu erzielen, lassen sich diese auf dem Produktionsserver anstatt auf einem Testserver ausführen. Gatling kann sowohl Webanwendungen als auch Server testen.
Gatling bietet eine konfigurierbare Dashboard-Ansicht für die Datenanalyse und Berichterstellung. Die Enterprise-Version FrontLine umfasst im Vergleich zur Open-Source-Option erweiterte Datenanalyse- und Berichtsoptionen.
Gatling eignet sich gut für CI und Teams, die auf eingebettete Testfunktionen angewiesen sind und eine hohe Anwendungsqualität erzielen möchten. Das Tool eignet sich aber auch für Entwickler, die ihren Produktionscode testen und ihn sauberer unterstützen und warten möchten.
Gatling lässt sich mit vielen CI- und Entwicklungs-Tools, integrierten Entwicklungsumgebungen sowie Versionskontroll- und Build-Tools verbinden. Das Tool kann HTTP-Anfragen testen, jedoch keinen nativen Code.
HPE LoadRunner (Micro Focus)
Der LoadRunner von HPE stammt ursprünglich von Micro Focus und ist inzwischen ein etabliertes Produkt, das zahlreiche Schulungen, Support und Online-Tutorials umfasst.
Wie andere Tools auch, kann LoadRunner mit Unterstützung von Skripten eine Last für die zu prüfende Anwendung erzeugen. Der Virtual User Generator von LoadRunner ermöglicht es Benutzern, Testlasten unter verschiedenen Bedingungen zu generieren. Der Anwender kann zum Beispiel angeben, welche Sequenzen für die Lastgenerierung ausgeführt und welche Skripte wie oft und in welcher Reihenfolge verwendet werden sollen. Der Controller bietet während der Testausführung auch Datenanalyse- und Überwachungsmöglichkeiten.
Der LoadRunner-Agent verwaltet die Verbindungen zwischen dem Controller und den Lastgenerator-Instanzen. Über Testprotokolle kann das Tool Daten zur Analyse und Visualisierung der Lasttest-Konfiguration und der Ergebnisse sammeln.
LoadRunner unterstützt mehrere Anwendungs- und Netzwerktechnologien mit spezifischen Modulen – darunter:
- .NET und Java
- Microsoft SQL Server und Oracle
- Domain Name System (DNS), FTP und LDAP
- IMAP, MAPI, POP3 und SMTP
- Citrix Independent Computing Architecture und RDP
Für die Verschlüsselung und Maskierung sensibler Daten lässt sich der LoadRunner in das HPE Network Virtualization Tool und das TruWeb-Protokoll integrieren.
Das Tool arbeitet als eigenständiges Programm. Benutzer können es aber auch in die meisten wichtigen QS-Management-Systeme integrieren. Es funktioniert für web- und serverbasierte Lasttests. HPE bietet eine kostenlose Testversion an.
IBM
Der IBM Rational Performance Tester ist ein etabliertes Produkt im Bereich der Last- und Leistungstests. Er unterstützt web- und serverbasierte Lasttests sowohl lokal vor Ort als auch in der Cloud.
Das Produkt kann Skripte aufzeichnen, und die Benutzer können sich Testdetails und Transaktionsinformationen über die Test-Editor-Funktion anzeigen lassen. Die Ergebnisse werden in einer browserähnlichen Seite angezeigt, die in den Test-Editor integriert ist.
Tester können Erweiterungen für die Testskripte in Java schreiben. Rational Performance Tester enthält Tools zur Ursachenanalyse, mit denen potenzielle Probleme des Codes und der Benutzeroberfläche identifiziert werden können. Das Tool generiert auch Sequenzdiagramme und zeigt Aktivitäten oder Aktionen an, die auftreten, bevor ein Problem auftritt. Anwender können sich auch Ressourcenstatistiken von jeder Ebene der zu testenden Anwendung oder des zu testenden Systems anzeigen lassen. Alle Tests lassen sich auf virtuellen oder Remote-Maschinen ausführen.
Rational Performance Tester unterstützt Lasttests mit Virtualisierungssoftware wie Citrix, Netzwerkkommunikationspunkte, wie zum Beispiel TCP-Sockets, Unternehmenssoftware von SAP und Siebel und andere mehr.
Die Rational Performance Tester Tools ermöglichen Statistiken zur Real-Time-Last, Leistung und Durchsatz. Benutzer können Berichtsdaten konfigurieren und zu jedem Zeitpunkt während oder nach einem Testlauf festlegen. Auf diese Weise lassen sich die Ergebnisse der Testausführung anschaulich visualisieren. Das Reporting-Tool emuliert verschiedene Benutzergruppen. Benutzer können Daten auch über eine Tabelle eingeben oder aus einer anderen Quelle importieren.
Rational Performance Tester umfasst verschiedene Lernprogramme, Zertifizierungen, Schulungen und Support. IBM bietet kostenlose Testversionen des Dienstes an.
Locust
Locust ist ein Open Source Tool und verwendet Python-Code, um Lasttests auf Code-Ebene für das Backend zu erstellen. Es simuliert das gesamte Benutzerverhalten mit Hilfe von Code anstatt der Benutzeroberfläche einer Anwendung und kann Millionen von Benutzern gleichzeitig simulieren.
Locust stellt Dokumentation, Tutorials und Online-Support bereit. Es bietet seinen Quellcode auch in GitHub. Locust zielt auf Lasttests für Webanwendungen und Gaming-Systeme ab.
Neotys
NeoLoad von Neotys führt Lasttests für web- und mobilbasierte Anwendungen durch. Es enthält eine skriptlose Benutzeroberfläche, eine automatisierte Testaufzeichnung und eine Integrationsmöglichkeit in CI-Tools. NeoLoad kann daneben Aktionen auf Mobilgeräten und die Netzwerkvirtualisierung aufzeichnen. Es ist auch in der Lage, komplexe Benutzer-Workflows zu verarbeiten, und so den Umfang einer Anwendung vollständig zu testen.
Die NeoLoad-Schnittstelle für die Testentwicklung erlaubt die visuelle Aufzeichnung mit Drag-and-Drop-Befehlsfunktionen und kann JavaScript verwenden. NeoLoad unterstützt die Testentwicklung, mit der verschiedene Benutzer-Bandbreiten und Netzwerkstärken simuliert werden. Das Produkt bietet Reports für Testergebnisse und Datenanalysen mit einer Vielzahl von Konfigurationsoptionen.
NeoLoad unterstützt folgende Software und Protokolle:
- HTTP/S
- HTTP/2
- SAP
- WebSocket
- Microsoft Silverlight
- Google Web Toolkit
- Java
- Oracle
- SOAP
- REST
- Hessian
- Adobe
- Ajax
- HTML5
NeoLoad nutzt die Neotys Cloud, um auf eine Vielzahl von Systemen, Servern und Geräten für On-Demand-Tests zuzugreifen.
Während NeoLoad ein proprietäres Tool ist, gibt es auch eine kostenlose Version. Neue Versionen mit Funktionsverbesserungen erscheinen in Abständen von neun Wochen.
RadView Software
RadView WebLoad ist ein proprietäres Leistungs- und Lasttest-Tool. WebLoad unterstützt die automatisierte Entwicklung von Lasttests durch Integration in die Selenium-Browser-Automatisierung. Es umfasst das Erstellen von Skripten per Drag-and-Drop, die Parametrisierung und einen Debugger.
Das Java-basierte WebLoad macht es Testern leicht, diese Sprache zur Verbesserung von Lasttest-Skripten zu verwenden. WebLoad unterstützt die automatisierte Entwicklung von Auslastungstests durch Integration in die Automatisierung des Selenium-Browsers und umfasst die Erstellung von Drag-and-Drop-Skripten, die Parametrisierung und einen Debugger.
WebLoad enthält eine Funktion, mit der dynamische Werte, die für jede Skriptausführung eindeutig sind, automatisch identifiziert und aktualisiert werden. Diese dynamischen Werte können zum Beispiel sein: Session ID, Datum, Uhrzeit, zufällige Zeichenfolgen und Eingabedateien. Da das Test-Tool diese dynamischen Felder automatisch ersetzt, sparen Entwickler Zeit bei der Aktualisierung der Testskripte.
Eine konfigurierbare Oberfläche für die Datenanalyse ermöglicht die Anpassung sowohl von Testergebnissen als auch von Diagrammen. In den Diagrammen werden die Testergebnisse visuell präsentiert. Das Dashboard von WebLoad liefert bei der Ausführung jedes Tests Ergebnisse in Echtzeit. Anwender können das Dashboard von jedem Webbrowser, Tablet oder Mobilgerät aus anzeigen. Berichte und Ergebnisse lassen sich auch gemeinsam nutzen.
Über einen bestimmten Browser oder Gerätetyp können Benutzer Skripts zum Testen von Mobilgeräten und Internetlasten aufzeichnen und darauf zugreifen. Um die Möglichkeiten für mobile Lasttests zu erweitern lässt sich WebLoad mit Perfecto Mobile in eine einzige Benutzeroberfläche integrieren.
Eine kostenlose Testphase und kostenlose Beratung für WebLoad ist von RadView verfügbar.
SmartBear Software
LoadNinja von SmartBear zielt darauf ab, Lasttest-Skripte zu vereinfachen. Der InstaPlay-Recorder von LoadNinja erstellt schnell automatisierte Lasttest-Scripte. Der Recorder reduziert einige der komplexen dynamischen Korrelationen und Programmierungen, wie sie in den meisten Lasttest-Rekordern üblich sind.
Das Lasttest-Werkzeug erfasst automatisch Änderungen auf der Client-Seite, einschließlich der Interaktion mit Verschlüsselungs-, Authentifizierungs- und Autorisierungsparametern. Darüber hinaus erfasst LoadNinja keinen HTTP/S-Protokollverkehr – was das Testskripten komplizierter machen kann. Stattdessen zeichnet es Aktionen direkt im eingebetteten Browser auf, um leicht wartende und leicht verwendbare Skripts zu generieren.
LoadNinja-Nutzer können auf Tausende nicht emulierter Browser und Server zugreifen, mit denen sie Anwendungstransaktionen und -funktionen ausführen können. Benutzer müssen die Server nicht generieren, laden oder warten.
Die Datenanalyse mit LoadNinja beginnt in Echtzeit, wobei der Tester oder Entwickler die Transaktionen während des Vorgangs überwacht. LoadNinja-Benutzer können die aktuell auftretenden Probleme bei der Benutzerinteraktion sehen und erkennen, wie man sie reproduziert. Sie können sogar benutzerbezogene Berichte und Metriken für zusätzliche Datenanalysen konfigurieren und erstellen.
LoadNinja funktioniert derzeit nur für Webanwendungen. Von SmartBear sind keine Pläne bekannt, dass künftig auch das Testen mobiler Apps möglich sein soll. Das Unternehmen bietet Online-Ressourcen für Schulungen und ein umfassendes Support-System.
WAPT Pro
WAPT Pro erlaubt die Entwicklung und Ausführung von Tests auf mehreren Systemen. WAPT Pro umfasst eine Arbeitsplatz-Benutzeroberfläche zur Verwaltung der Testausführung mit Last-Agenten, die die Emulation steuern.
Benutzer können eine beliebige Anzahl von Last-Agenten zu WAPT Pro hinzufügen, so dass es nach Bedarf skaliert werden kann. Sie können auch eine große Anzahl von Lasttests erstellen, um die tatsächliche Kapazität einer Anwendung zu ermitteln.
WAPT Pro ist als virtuelles Serversystem und in der Cloud verfügbar. Benutzer können Testkomponenten und Agenten Remote verwalten.
WAPT Pro kann während der Lasttests das gesamte System messen, einschließlich Metriken wie CPU, RAM und Netzwerkauslastung. Das Tool empfängt Daten direkt von den Servern, die die Tests ausführen. WAPT Pro ist JavaScript-fähig, um Tests zu codieren und die Datennutzung zu verbessern. Es unterstützt Simple Network Management Protocol (SNMP), Windows Management Instrumentation, Open Database Connectivity (ODBC) und Apache-Schnittstellen mit vordefinierten Leistungsindikatoren für verschiedene Server- und Datenbanktypen.
WAPT Pro verfügt über 64-Bit-Arbeitsplatzkomponenten und generiert Testlasten mit einer x64 Load Engine. Durch die 64-Bit-Funktionen des Lasttest-Tools gibt es keine praktische Beschränkung für die Größe der Testdatenbank. Sie verbessern auch die Fähigkeit des Tools, komplexe und länger laufende Testskripten zu unterstützen, während viele Tools nur für kurze, spezifische Testskripte geeignet sind.
Anwender des Tools können benutzerdefinierte Ansichten für die Datenanalyse erstellen. WAPT Pro unterstützt Anzeige-Tools für Datenanalysen von Drittanbietern, mit denen Statistiken zu Antwortzeiten in externe Dateien exportiert werden können.
WAPT funktioniert für mobile Anwendungen, Web-API-Dienste und alle Arten von Websites. Demos können von der WAPT-Website heruntergeladen werden.