Selecting Load Traffic

There are many types of load tests, each with its own goals. But for most load tests, following a few general principles should provide more useful and robust load test results.

Simulate Realistic User Behavior

Once you have identified the expected ways in which users will interact with your application, you can use this information to simulate the load your application will encounter. Using Test Studio Web Tests, you can record typical workflows in the browser then, you can import these as Profiles inside a Test Studio Load Test. Finally, you can allocate different percentages of the Workload to each User Profile according to the percentage of users that you expect to perform this workflow. This way, your load test will generate traffic that accurately simulates your expected users

Record Cross-Browser Traffic

Different browsers generate different kinds of traffic. To simulate this variety, record your load traffic in a variety of browsers that reflects your specific users or the broader Internet usage. You can capture your load traffic from functional tests in a variety of browsers. Or, you can capture traffic in your load test directly and select the proper browsers. Once you have recorded the User Profile, you can allocate Workload based on the popularity of the browser.

Test Components Separately

In addition to testing the overall mix of user workflows, you can also create separate load tests that only focus on a specific part of your application (for example, the login workflow). This will provide information about which components suffer the greatest performance decrease under stress. This is especially useful once you have determined that your application is not meeting expectations and wish to identify the performance bottleneck. It also helps to fine-tune the performance of an application that already meets requirements.

Functional, Performance, and Load

To save time and increase accuracy, begin with functional tests (like Web Tests) to ensure your application behaves correctly; then, use these to create Performance tests to see the experience of a single user and find performance issues that occur without load. Finally, import your functional tests into Load tests to see the behavior of the application with large numbers of users. Repeat these tests throughout the development process to prevent regressions and identify opportunities for performance improvements.

See Also