XLT Product logo

You need a tool that realistically tests performance and gives you the best and most detailed reports. Xceptance Load Test (XLT) allows local development and execution, high scale deployment, and gives you access to all collected data. Open Source under Apache License 2.0.

XTC Product logo

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.

XLT Report Data of Transactions

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.

star

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.

deployed_code_account

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.

analytics

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.

discover_tune

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.

group_add

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.

stacked_line_chart

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.

share

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.

troubleshoot

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.

verified

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.

precision_manufacturing

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.

settings

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.

archive

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.

Screenshot of the documentation portal

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