Share via


Microsoft Visual Studio 2010 – Load Test – Overview

The key goal of a load test is to imitate many users accessing a server at the same time. When a test (web test, unit test or coded UI test) is added to a load test, multiple users opening simultaneous connections to a server and making multiple HTTP requests are simulated. Properties on load tests can be set that largely apply to the individual tests. For a web application load testing, web tests are used as input to a load test. When unit tests are added to a load test, the performance of non-web based server workings can be exercised. An instance application of a unit test in load is to investigate data access model components.

Load tests facilitate to reproduce many users striking an application at the same time. The chief scenario for load testing is performance testing. How will the server act in response to so many users? Will response times be inaptly slow? Will error rates be tolerable? Another is capacity planning, where it is wanted to understand how large a server will be desirable to support the probable user load. Load tests are used in a number of different types of testing namely: Smoke testing, Stress testing, Performance testing and Capacity Planning:

Type

Description

Smoke Testing

To determine the application performance under load for short durations

Stress Testing

To determine the application sustenance under heavy load

Performance Testing

To determine application response

Capacity Planning

To determine application capacity with benchmark performance or vice versa

 
Load tests consist of a cycle of web tests or unit tests which operate under multiple simulated users over a phase of time. Load tests are formed with the help of Load Test Wizard. Load test formation can be started by walking through the load test wizard. The wizard guides through creating a scenario, which can be thought of as a particular group of users. Load tests contain one or more scenarios, which are used to reproduce how a group of users interacts with a server application. An individual scenario is prepared of a load pattern, a test mix, a browser mix, and a network mix. Load Test Editor can be used to alter the load test properties. These properties facilitate running the web tests with different user profiles, browser targets, and loading patterns.

Test results are stored in SQL-based Load Test Results Repository. When a load test is executed, information collected during the run is stored in the Load Test Results Repository. The Load Test Results Repository holds performance counter data as well as any information about recorded errors.

The Load Test Monitor is used to observe the load tests when running. To view load test results for completed test runs, the Load Test Analyzer is used. Statistics from the load test runs can be analyzed to trace bottlenecks, recognize errors, and compute improvements in the application. While a load test is running, a smaller set of the performance counter data is maintained in memory. This set of data can be monitored as the load test is running. After a load test has finished, the full set of data from the database can be analyzed. There are some differences in what data can be seen while a load test is running and after a load test has accomplished. There are also some differences in the functionality of the tools offered to analyze the data.

Load tests can be used through a set of computers known as a rig, which consists of agents and a controller. A collection of computers can be set up that generates simulated load for testing. The group consists of a single controller and one or more agents. Collectively, this group is called a rig. An agent is the element of the rig that is used to run tests and generate simulated load. The controller is the element of the rig that is used to organize the agents and gather the test results. A rig is used to generate more load than a single computer can generate alone.

See Also