Plan a load test

This section describes how to plan a load test, and define the objectives for the test.

Create a test plan

Successful load testing requires that you develop a thorough test plan, to ensure that the scenarios that you develop can accomplish your load testing objectives.

To plan your load test:

  1. Analyze the application.

    Application testing requires hardware, software, and human resources. Before you begin testing, you should know which resources are required and available, and decide how to use them effectively.

    To do this, you should become thoroughly familiar with the hardware and software components, the system configuration, and the typical usage model. This analysis ensures that the testing environment you create reflects the environment and configuration of the application under test.

    For task details, see Analyze the application.

  2. Decide on general load test objectives.

    For a list of suggested testing objectives, see Load test objectives.

  3. Define success criteria in measurable terms.

    Before you begin testing, you should define exactly what you want to accomplish. Focused testing goals and test criteria ensure successful testing. For example, it is not enough to define vague objectives like "Check server response time under heavy load." A more focused success criterion would be "Check that 100 customers can check their account balance simultaneously, and that the server response time does not exceed 30 seconds."

    To provide a baseline for evaluation, determine exactly what constitutes acceptable and unacceptable test results.

    Example: Product evaluation

    General Objective. Choose hardware for the web server.

    Focused Objective. Run the same group of 300 virtual users on two different servers. When all 300 users simultaneously browse the pages of your web application, determine which hardware gives a better response time.

  4. Plan the implementation.

    Decide how to achieve your testing goals. For task details, see Plan implementation.

Back to top

Load test objectives

Your test plan should be based on a clearly defined testing objective. These are some common application testing objectives that help you test.

Measure end-user response time

Check how long it takes for the user to perform a business process and receive a response from the server. For example, suppose that you want to verify that while your system operates under normal load conditions, the end users receive responses to all requests within 15 seconds. The following graph presents a sample load vs. response time measurement for a banking application:

Define optimal hardware configuration

Check how various system configurations (memory, CPU speed, cache, adaptors, modems) affect performance. Once you understand the system architecture and have tested the application response time, you can measure the application response for different system configurations to determine which settings provide the required performance levels.

For example, you could set up three different server configurations and run the same tests on each configuration to measure performance variations.

Check reliability

Determine the level of system stability under heavy or continuous work loads. You can create stress on the system: force the system to handle extended activity in a compressed time period to simulate the kind of activity a system would normally experience over a period of weeks or months.

Check hardware or software upgrades

Perform regression testing to compare a new release of hardware or software to an older release. You can check how an upgrade affects response time (benchmark) and reliability. Application regression testing does not check new features of an upgrade; rather it checks that the new release is as efficient and reliable as the older release.

Evaluate new products

You can run tests to evaluate individual products and subsystems during the planning and design stage of a product's life cycle. For example, you can choose the hardware for the server machine or the database package based on evaluation tests.

Identify bottlenecks

You configure the monitoring components to identify bottlenecks on the system and determine which element is causing performance degradation, for example, file locking, resource contention, and network overload. Use the network and machine monitoring tools to create load and measure performance at different points in the system.

Measure system capacity

Measure system capacity, and determine how much excess capacity the system can handle without performance degradation. To check capacity, you can compare performance versus load on the existing system, and determine where significant response-time degradation begins to occur. This is often called the "knee" of the response time curve.

Once you determine the current capacity, you can decide if resources need to be increased to support additional users.

Back to top

See also: