Load testing used to be the practice of large testing organizations with dedicated performance engineers, for mission-essential applications expecting thousands or even hundreds of thousands of users. But as web applications become more ubiquitous and more important to the organization’s business, more and more testing teams are finding value in understanding the characteristics of their application under load.
And the failure point, while important, is the least of those characteristics. Testers also want to know things like how system resources are being used, which parts of the application seem to stress fastest, and how response time varies with the number of users.
The best way to do that is to use load testing software to create virtual users, running various test scripts that represent what actual application users may do. These scripts can often be created using existing functional tests, combined to create modeled user tasks and activities. Alternatively, some tools require that they be created from scratch in a script or even programming language. When assessing tools, testers should take into account the skills needed to create and maintain load tests.
That is only the beginning. Not all load testing software is created equal. Possibly the most important thing to look for is the ability to run tests from different computers, and in different locations. In customer-facing applications, customers may be coming in from many different physical locations, with different connection speeds, distances, and Internet routes.
In many cases, running load tests from a single client limits the number of virtual users available, and also limits the ability to realistically model actual user activities. The results from a single computer, or a single location, may not provide the information needed to determine the behavior characteristics of the application under load.
Analytics are also important. You want to have answers to your burning questions on performance, scalability, and server resources required, so testers have to make sure they have access to the information they need in order to meet requirements and make deployment recommendations.
Test Studio 2013 R1 is built from the ground up to support distributed load testing. You can deploy agents and test lists across different systems on the same network, or around the world. This feature enables testers to better emulate different types of traffic and user activities from different locations, providing testers with a realistic assessment of how the application will actually perform when in production.
Test Studio lets testers create load testing scripts from functional tests or from network traffic captured by Fiddler. This makes it easier to build and maintain load tests for the application, and create different user profiles for an application.
Peter Varhol has been a software developer and software product manager, technology journalist, and university professor among the many roles in his past, and believes that his best talent is explaining concepts and practices to others. He’s on Twitter at @pvarhol.