icon

Xceptance LoadTest - Features

Open / Close All The philosophy of XLT is to combine regression and load tests within one tool. XLT speaks Java and thus the language of most developers, and it also supports the most popular Java development environments.

Programming Model

Java or Ruby as Scripting Languages
XLT does not use any proprietary languages, instead applying Java or Ruby to create test cases. Test case creation and maintenance can be carried out with your preferred IDE, such as Eclipse or NetBeans. This way, XLT takes advantage of an existing infrastructure, enables own libraries to be easily integrated and reduces the training effort.
Script Developer
XLT Script Developer is an easy and comfortable way to start writing web tests. It operates as a Firefox add-on and provides an easy-to-use user interface for developing and running test cases or entire test suites. XLT Script Developer records the page flow while the user navigates through a website. For enhanced scenarios or more complex validations, test cases can be exported to Java to edit them in an IDE.
Test Automation
Since every test case is also a JUnit 4 test case, existing build environments (like Ant or Maven) can be used to execute them, for example, to carry out automated regression testing or load testing after each build.
Regression Tests Connected with Load Tests
Every automated functional regression test can be used, with very few changes, as a load test, thus avoiding the otherwise necessary work of creating new test cases.

Framework

Test Framework
The XLT test framework provides a comprehensive API with Java classes, which make it easier to create test cases. At the same time, the framework structures the test code into individual, reusable steps.
Web-based Tests
For web-based tests, the framework provides a (headless) browser that can emulate Internet Explorer or Firefox behaviour. The test code works directly with the HTML code and thus also directly with links and forms. Unlike HTTP-based tools, dynamic data are thus handled simply and directly. Changes to links or forms have only minor effects on the stability of the tests.
JavaScript
XLT can also execute client-side JavaScript in the emulated web browsers and that way it simplifies the creation of test cases for typically dynamic Web 2.0 applications.
Extensive Measurement Data
During the execution of tests, XLT collects extensive data, such as the runtime of every request, the number of errors that occurred, or, optionally, the responses from the server and the generated webpages. Through the API, additional data sources can also be configured.

Reports

Comprehensible HTML Reports
From the data recorded, XLT creates comprehensive test reports in HTML format. The reports include both, the accumulated data in tabular form as well as data about the chronological sequence in the form of graphics.
Customizable
The appearance and content of the reports are completely customizable. The client’s own company logo and design can be included, and reports can always be enhanced and expanded.
Open Formats
All the data are in open formats, and can thus be analyzed with the help of other tools. XLT can also easily be integrated with other programs.
Comparison Reports
With XLT, you can create comparison reports to get a quick and detailed overview over performance improvements or performance degradation between two test runs.
Trend Reports
You can create trend reports to visualize the evolution of test results over multiple test runs by different colors.

Load Tests

Load Profiles
XLT can simulate a fixed load profile with a maximum number of virtual users or a planned arrival rate. Additionally, warm-up, ramp-up, and measurement periods can be configured individually for each user type.
Scalability
XLT supports the use of a distributed, highly scalable load-test environment. In order to generate the desired load, an almost unlimited number of test machines can work together as a test cluster. The defined load profile is automatically distributed equally across the cluster.
Cloud Service
Especially extensive load tests for which existing load machines are not adequate can take advantage of the XLT Cloud Service. This provides a test-machine pool of any size necessary, from which a sufficiently large test cluster can be assembled.
Flexible Control
With XLT, load tests are controlled by way of a command-line interface and configuration files. The master controller and the load agents communicate only via HTTPS, for example, to distribute test cases or to store result data. This means, tests can also be executed in environments which are widely distributed or to which access is extremely limited. Several tests can be run simultaneously from one machine.
Loose Coupling of Controller and Agents
You can disconnect the master controller from the agents during a load test and reconnect it later. This enables to start, monitor and analyze a load test from different locations, different machines or with mobile devices.
Agent Monitoring
The resource usage (CPU, memory, threads) of all load agents is monitored during the test runtime. The collected monitoring data is also shown in the test reports to recognize resource bottlenecks on the agent machines.

Regression Tests

Agile Practices and Test Driven Development
XLT supports agile practices and test driven development by consistently implementing all tests as JUnit 4 test cases. Therefore it is a simple matter to make it part of your existing development processes or to integrate automatic regression testing into continuous integration environments.
Free Basic License
The free Basic License allows the creation and execution of regression tests without any time limitation, for non-commercial as well as commercial applications. This license type permits development and recurring execution of all test scenarios with up to five virtual users. This way, it is already possible to simulate a small degree of parallelism to detect problems like race conditions or deadlocks.

Platform and Environment

Platform Independence
XLT is implemented in Java. All the Java or Ruby test cases are also executed within a Java virtual machine. XLT can thus be used on any and every platform for which a JDK 6 (or higher) is available.
Heterogeneity
Load tests can be executed in heterogeneous environments. It is possible to distribute the load agents across Solaris and Linux machines yet still control the test from a Window PC or Macintosh. Any sort of combination is possible.
Simple Installation
XLT is installed by unpacking an archive. This makes a quick manual installation possible, but also simplifies an automatic installation in the context of complex build and deployment processes.
Archiving
All XLT data are stored by the master controller in the file system and filed per test run in a separate subfolder. The most important configuration files, though, are stored together with the test results, so that tests are easy to repeat. The complete test result is thus very easily archived.