icon

Xceptance LoadTest - Features

Alle Öffnen / Schließen Die Philosophie von XLT ist die Kombination von Regressions- und Lasttests in einem Werkzeug. XLT ist selbst vollständig in Java implementiert und erlaubt die Testfallerstellung in Java oder Ruby sowie mit Hilfe des XLT-Script Developers.

Programmiermodell

Java als Skriptsprache
XLT nutzt keine proprietären Sprachen, sondern erlaubt die Erstellung von Testfällen direkt in Java. Die Erstellung und Pflege der Testfälle ist mit unterschiedlichen IDEs möglich, zum Beispiel mit Eclipse oder Netbeans. Damit verringert XLT den Einarbeitungsaufwand und ermöglicht die einfache Einbindung eigener Bibliotheken.
Script Developer
XLT Script Developer bietet einen komfortablen Einstieg in die Entwicklung von Testfällen. Er stellt eine einfach zu bedienende Oberfläche für die Entwicklung und Ausführung von Testfällen oder kompletten Testsuiten dar. Als Firefox-Plugin ist er in kürzester Zeit einsatzbereit. XLT Script Developer zeichnet den Pageflow auf, während der Anwender durch die Website navigiert. Testfälle können nach Java exportiert werden, um sie für anspruchsvollere Szenarien oder komplexe Validierungen in einer IDE weiter zu bearbeiten.
Testautomatisierung
Da jeder XLT-Testfall ein JUnit-4-Testfall ist, können auch die vorhandenen Build-Umgebungen wie Ant oder Maven zur Ausführung genutzt werden, beispielsweise für automatisierte Regressions- oder Lasttests nach jedem Build.
Verbindung von Regressions- und Lasttests
Jeder automatisierte funktionale Test (Regressionstest) kann fast unverändert als Lasttest verwendet werden. Damit wird die sonst nötige Neuerstellung vermieden.

Framework

Testframework
Das XLT-Testframework stellt eine umfangreiche API mit Java-Klassen bereit, die die Erstellung der Testfälle erleichtern. Gleichzeitig wird dadurch der Testcode in einzelne wiederverwendbare Schritte strukturiert.
Webbasierte Tests
Für webbasierte Tests stellt das Framework einen (headless) Browser bereit, der wahlweise einen Internet Explorer oder Firefox emuliert. Diese Testfälle arbeiten auf der Ebene des HTML-Codes und damit direkt mit Links und Formularen. Im Gegensatz zu HTTP-basierten Werkzeugen werden so auch dynamische Daten einfach und sicher verarbeitet. Änderungen an Links oder Formularen haben nur geringe Auswirkungen auf die Stabilität der Tests.
JavaScript
XLT ermöglicht die Ausführung von JavaScript im emulierten Browser und vereinfacht so die Erstellung von Tests für hochdynamische Web 2.0/AJAX-Anwendungen.
Umfangreiche Messdaten
Während der Ausführung von Tests sammelt XLT umfangreiche Daten, z.B. die Laufzeiten eines jeden Requests, die Anzahl der aufgetretenen Fehler, optional auch die Antworten des Servers und die daraus entstandenen Webseiten. Über die API können weitere Datenquellen konfiguriert werden.

Reports

Umfassende HTML-Reports
Aus den aufgezeichneten Daten werden umfangreiche Testreports im HTML-Format erzeugt. Die Reports enthalten sowohl akkumulierte Daten in Tabellenform als auch Daten über den zeitlichen Verlauf in Form von Grafiken.
Anpassbar
Aussehen und Inhalte der Reports können beliebig angepasst werden. Der Report kann mit einem eigenen Branding versehen werden. Auch Erweiterungen sind jederzeit möglich.
Offene Formate
Alle gesammelten Messdaten liegen in offenen Formaten vor, so dass eine Auswertung mit Hilfe anderer Werkzeuge möglich ist oder XLT mit anderen Werkzeugen leicht integriert werden kann.
Vergleichsreports
Mit XLT können Sie Vergleichsreports erzeugen, die eine schnelle Übersicht über Verbesserungen oder Verschlechterungen der Ergebnisse zwischen zwei Testläufen ermöglichen.
Trendreports
Auf Basis einer Anzahl von Testläufen können Sie Trendreports erstellen, die langfristige Veränderungen der Ergebnisse farbig visualisieren.

Lasttests

Lastprofile
XLT kann ein festes Lastprofil oder eine geplante Ankunftsrate simulieren. Weiterhin lassen sich Aufwärm-, Mess-, und Anfahrphasen für jeden Nutzertyp einzeln konfigurieren.
Skalierbarkeit
XLT unterstützt den Aufbau einer verteilten, hochskalierbaren Lasttestumgebung. Um die gewünschte Last zu erzeugen, lassen sich fast beliebig viele Lastmaschinen zu einem Test-Cluster zusammenschalten. Das definierte Lastprofil wird automatisch gleichmäßig über den Cluster verteilt.
Cloud Service
Für sehr umfangreiche Lasttests, für die die vorhandenen Lastmaschinen nicht ausreichend sind, besteht die Möglichkeit, den XLT Cloud Service zu nutzen. Damit steht ein nahezu beliebig großer Pool von Testmaschinen zur Verfügung, aus dem je nach Bedarf ein ausreichend großer Test-Cluster zusammengestellt wird.
Flexible Steuerung
Lasttests mit XLT werden über ein Kommandozeileninterface und Konfigurationsdateien gesteuert. Master Controller und Agents kommunizieren untereinander nur über HTTPS, beispielsweise um Testfälle zu verteilen oder Ergebnisdaten zu speichern. Damit können Tests auch in stark verteilten oder zugangsbeschränkten Umgebungen durchgeführt werden. Auch können von einer Maschine aus gleichzeitig mehrere Tests gesteuert werden.
Lose Kopplung von Master Controller und Agents
Während eines Lasttests kann der Master Controller von den Agents getrennt und wieder mit ihnen verbunden werden. Das ermöglicht den Start, die Überwachung und die Auswertung eines Lasttests von unterschiedlichen Standorten aus oder mit mobilen Geräten.
Agent Monitoring
Der Ressourcenverbrauch aller Lastagenten (CPU, Arbeitsspeicher, Threads) wird zur Laufzeit überwacht. Diese Daten werden auch in den Lasttestreports ausgewertet, um Ressourcenengpässe auf den Lastmaschinen leicht zu erkennen.

Regressionstests

Agile Prozesse und testgetriebene Entwicklung
XLT unterstützt agile Prozesse und testgetriebene Entwicklung durch die konsequente Implementierung aller Tests als JUnit-4-Testfälle. So können automatisierte Regressionstests leicht in Entwicklungsprozesse oder in Continuous-Integration-Umgebungen eingebunden werden.
Kostenfreie Basislizenz
Regressionstests können mit der Basislizenz kostenfrei und zeitlich unbegrenzt durchgeführt werden, auch im kommerziellen Umfeld. Dieser Lizenztyp erlaubt die Arbeit mit maximal fünf virtuellen Nutzern. So kann bereits ein geringer Grad an Parallelität simuliert werden, um beim Regressionstest auch Probleme wie Race Conditions oder Deadlocks zu erkennen.

Plattform und Umgebung

Plattformunabhängigkeit
XLT ist selbst vollständig in Java implementiert. Alle Java- und Ruby-Testfälle werden in einer Java-VM ausgeführt. XLT ist damit auf allen Plattformen einsetzbar, für die ein JDK 6 (oder höher) zur Verfügung steht.
Heterogenität
Lasttests lassen sich in heterogenen Umgebungen ausführen. So ist es möglich, die Lastagenten auf Solaris- und Linux-Maschinen zu verteilen, aber den Test von einem Windows-PC oder Mac zu steuern. Ein beliebiger Mischbetrieb ist möglich.
Einfache Installation
XLT wird durch das Auspacken eines Archivs installiert. Damit ist eine schnelle manuelle Installation möglich, aber auch eine automatische Installation im Rahmen komplexer Build- und Deployment-Prozesse wird stark vereinfacht.
Archivierung
Alle Ergebnisdaten von XLT werden vom Master Controller im Dateisystem gespeichert und pro Testlauf in einem separaten Unterverzeichnis abgelegt. Gleichzeitig werden die wichtigsten Konfigurationsdateien mit den Testergebnissen gemeinsam gespeichert, so dass Tests einfach wiederholbar sind. Das komplette Testergebnis ist damit einfach archivierbar.