Load testing is a way of ensuring that software works well under real-world scenarios.
A load testing tool is used to recreate the behavior of real users on a variety of software applications using virtual users (VUs). It can simulate anywhere between one and several million VUs, depending on the nature and requirements of the load test. This ability to reproduce so many users makes it an indispensable tool – as it is not possible for humans to conduct this kind of testing on such a large scale.
The tool can be used on-premise or in the Cloud. For extreme tests, where a large quantity of VUs is needed, many servers are required. In this case, testing in the Cloud is the better option as it is more easily scalable than an on-premise solution. A load testing tool is used to:
- Create load testing scripts:
- simulating the activity of each VU during testing
- Configure test parameters:
- What duration of testing is required, and for how many VUs?
- How many different types of users will be included in the test?
- How many desktop users versus mobile users?
- Where will the load come from, on-premise or cloud infrastructure?
- Perform the Test:
- Execute test with the script and configured parameters in place
- Define when it should be conducted
- Consider running it from a Continuous Integration server (e.g., Jenkins)
- Analyze the Results:
- While the test is running and the application is on, the performance engineer must analyze software behavior
- Such monitoring during operation can be done with the load testing tool or with other specific monitoring means (e.g., APM or Application Monitoring)