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 oder Ruby als Skriptsprachen
- XLT nutzt keine proprietären Sprachen, sondern erlaubt die Erstellung von Testfällen in Java oder Ruby. 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.


