The Load Test Tool for Software Development
What is XLT?
From Performance Testers For Performance Testers
Born out of necessity, XLT has grown into a premier load and performance testing tool, featuring unrivaled capabilities and scale.
XLT is not your everyday load testing tool. Imagine it as an extremely sharp Swiss Army knife, offering versatility and flexibility. Whether you face extraordinary challenges or navigate everyday load testing scenarios, XLT ensures you are always prepared.
Ready-to-use and extremely detailed reports were base requirements from the start, as was the ability to write tests in pure Java code. Tests can be scaled extensively, even with the open-source version.
You can run your tests as JUnit tests in your preferred IDE, making them debuggable like any other program. Furthermore, the result browser greatly aids diagnostics.
XLT is open source under the Apache License. Check out GitHub.

The Quick Feature Summary
XLT is built upon Xceptance's extensive experience in load and performance testing
Writing
Test scripts are written in Java and you can do what Java offers, no limits. Debug, add libraries, use the power of your IDE.
Load Profiles
Flexible load profiles for user and arrival rate models are avaialble. The arrival rate model addresses the coordinated omission problem.
Reporting
Extensive reporting what is just right. No data is dropped, recreate new views at any time. Merge, split, and annotate data.
Scale
Scale to any number of machines and users. Coordinate the test from your own or other machines. You can even go offline without harming the results.
Debugging
Debug with our result browser and with your favourite Java-IDE. Just develop load tests like any other program.
Open Data
All data is open, documented, and ready for your own data crunching, if needed. Nothing is dropped!
Real Browsers
You can use real browsers for load testing to handle the complicated setups easily. If you can test automate it, you can load test it.
Configuration
Configuration belongs into the code base as well. Use classic property files or YAML structures with one of our enhanced test suites.
These are highlights of XLT's extensive feature set. Every feature was developed with a specific testing need and its practical application as the driving force. Nothing was implemented just to tick a checklist.
Features
XLT is the product of our extensive experience in load and performance testing. It combines established load testing concepts with innovative solutions to enhance testing quality, reporting, and the scope of testing coverage.
Proven Technologies
Built on known components
XLT leverages your existing Java, JUnit, WebDriver, and HttpClient skills, empowering you to maximize its potential. Its seamless integration, extensibility, and ease of use makes it a powerful tool.
XLT integrates seamlessly with your preferred Java IDE, profilers, and debuggers for all scripting. Leveraging JUnit, load test scenarios are built as familiar test cases. Command-line functionality simplifies integration and usage. WebDriver gives you real browsers load testing. Build your test suites with Maven or Gradle making them true software projects.
Deployment & Cloud
Easy to install, no OS dependencies whatsoever
XLT is platform-independent, you just have to unzip it. Write on Windows, run on Linux. Compose on Mac, deploy on Windows.
You can deploy XLT to any cloud provider and use any OS with support for Java 17 or higher. Create your own cloud images with the help of XLT-Packer. We provide AWS EC2-AMIs free of charge.
XLT runs HTTPS-based communication with authentication to communicate between controller and agents. Use your proven tools to deploy and run XLT. We kept it as simple as possible, to make it as flexible as possible.
Awesome Reporting
Comprehensive and out of the box
XLT provides best-practice reports out of the box, based on decades of load and performance testing experience.
Load Test Reports
XLT performance reports provide a complete picture and include key metrics like runtime totals, averages, and percentiles, along with service-level agreement (SLA) data, configuration details, and a comprehensive list of errors. Data is available at all levels, from individual transactions and actions to requests. See a simple example of a scaling test for an echo service.
Comparison Reports
Uncertain whether your recent changes improved performance? XLT's comparison reports provide the clear data you need to confidently assess the impact of each test run. See a simple example of two echo service test runs (one with http, the other with https).
Trend Reports
XLT trend reports provide a visual history of your application's performance. Color-coded charts clearly illustrate how performance has evolved across numerous test runs, making it easy to identify trends and potential issues.
Easily Adjustable
Add data sources, customize reports, and build test frameworks
Because every environment is unique, XLT offers a wide range of extensions and modifications to ensure a perfect fit.
Reports
XLT provides full control over report customization. Because we include the CSS and render templates, you can easily adjust the content and layout to perfectly match your needs. Create custom summaries, reduce data, or design entirely new report formats.
Custom and External Data
Log more detailed information about your system under test with XLT's custom values, timers, and extended logging. XLT reports can include data from external files, providing a comprehensive view even when real-time access is unavailable.
Use Java
Need something XLT doesn't offer out-of-the-box? Use Java to customize and extend its capabilities.
Scalable
Any number of machines, locations, and users
You can utilize an large number of machines for load testing. Scale up across datacenters easily. XLT orchestrates the load distribution, uploads, and downloads on its own.
XLT uses differential and concurrent up- and downloads for maximum speed. The load is automatically distributed across all agents.
By the way, you can later split the report by location, if needed.
Load Profiles
Realistic, flexible, and predictable
XLT supports a flexible setup of load profiles ranging from steady user rates to arrival rates. Compose long-running test setups to reflect what happens during a day, absolutely freely configurable.
Do you need to have a test where, after a slow ramp-up of low traffic, the load jumps within a minute to peak traffic, stays on that level for 10 minutes to then come back in waves? Well, XLT lets you do so. No limits.
Shareable
Share results
XLT reports are easily sharable with anyone. They are not connected to XLT anymore after they have been created.
All reports are plain HTML. So you can zip them up, mail them, upload them, attach them, and share them with whatever system you prefer.
Did you know that you can start your load test from one machine, and collect the results from another? Or maybe your co-worker can collect the data later and analyze it for you, while you're already on your way to a meeting.
See Everything
Captured data visualized
The result browser is your tool to visually check loaded data and debug problems.
During script development, the result browser shows you all details about your recently executed script, so you can make sure that you covered everything and that the requests match the real traffic.
When errors occur during load testing, the last moments of the transaction are saved, including the downloaded data and all technical details. You can see what was sent and received.
Verify Everything
Use assertions to verify
A test is only as good as its verifications. XLT supports and encourages as much validation as possible to really make sure that the transferred data matches the expectations.
You can use the full syntax of assertions known from JUnit. If you like Hamcrest, include it. XLT also provides access to all sub-requests of a page, so you can run even more detailed validations.
Made for Automation
Known concepts
XLT is made to be integrated into all kinds of automation processes. No matter if it‘s just a shell script or a full build process.
We built XLT in a way that perfectly gets along with your preferred IDE, the command line, build processes, or just with a little bit of shell scripting.
Configurable
Adjust many parameters
To match the behavior with your testing needs, lots of parameters can be adjusted. Set timeouts, keep-alive, compression, image loading, permitted hosts, thinktimes, error handling, and much more.
XLT offers a richt set of options to modify the behavior so that all kinds of different configurations can be tested. Most of them can even be set for each scenario individually.
Archivable
Plain formats
XLT uses open formats for results and reports. Perfectly suited for storing them anywhere. Result data and HTML reports are separated so you can easily make a decision if you want to store a lot of data or just the final outcome.
Reports and results store your full test configuration. Repeating the exact same run days or weeks later is easy.
Documentation
Resources and Links
The documentation is open source too, and we welcome your contributions, suggestions, and feedback.

Download
Get the Latest XLT Version
XLT Software Package
It supports MS Windows, OSX, Linux, and FreeBSD. If it runs Java, it runs XLT. JDK 17 required, JDK 21 recommended. The download is about 100 MB.
The Quick Start Guide provides information to get started. The documentation is open source, allowing you to contribute and improve it.
Visit GitHub for the full source code. We welcome your contributions.
Amazon Machine Images
We provide AMIs for use with Amazon EC2 with XLT installed and configured for use as load agents. Amazon will charge you for infrastructure usage. Make sure your security group permits communication on port 8500.
A list of current images can be found next to the release information on GitHub.
If a containerized deployment or an alternative template better suits your needs, check out our XLT-Packer Project.
Licensing
XLT is Open Source under the Apache License v2.0