Load tests scenarios consist of Web performance tests or unit tests. A scenario is the container within a load test where the user can specify load pattern, test mix, browser mix, and network mix. Scenarios are important because they provide flexibility in configuring test characteristics that allow for the simulation of complex, realistic workloads.
- Load Pattern – It specifies the number of virtual users active during a load test and the rate at which new users are ramping-up. For example: step, constant, and goal-based.
- Test Mix – The test mix is the selection of Web performance tests that are contained within the scenario and the distribution of those tests within the scenario.
- Browser Mix – It simulates that virtual users examine a Web site through a variety of Web browsers.
- Network Mix – It simulates that virtual users examine a Web site through a variety of network connections. The Network Mix offers options that include LAN, cable modem, and other options.
Load Test Planning Overview
For any type of testing, the very first essential step for successful testing is a well-defined test plan. In addition, when performing Non-functional testing, especially the load test (also referred to as a performance test) then the importance of this test plan is automatically doubled than the normal ones. As for high trafficked websites, the most important challenge for QA is to see if the website is ready for peak traffic via a load test; the goal of the load test should be either:
- Validate that the website is capable of handling the requests of high volumes of users or
- Identify the breakpoints and bottlenecks where the current infrastructure fails.
In addition, the Load Test Plan helps in performing Load Testing in the manner to:
- Build test scenarios that accurately emulate the working environment.
- Make a clear picture of resources that are required for testing.
- Define success criteria in measurable terms.
Load Testing Objectives
Load test plan should be based on clearly defined testing objectives like:
- Determine if the application complies with contracts, regulations, and service level agreements (SLAs).
- Detect bottlenecks to be tuned.
- Assist the development team in determining the performance characteristics for various configuration options.
- Provide input data for scalability and capacity-planning efforts.
The following table reflects the common application testing objectives that a performance test tool, LOAD TEST helps in a load test.
Objectives | Definition |
Measuring end-user response time | To measure the duration of completing a business process. |
Defining optimal hardware configuration | To define the hardware configuration that provides the best performance. |
Checking reliability | To ensure how hard/long can the system work without the occurrence of errors/failures. |
Checking hardware or software upgrades | To check whether and how the upgrade affects performance or reliability. |
Evaluating new products | To identify the server hardware or software to be chosen. |
Measuring system capacity | To measure the load the system can handle without significant performance degradation. |
Identifying bottlenecks | To identify those elements which slows down the response time. |
Table 1: Common Application Testing Objectives
Measuring End-User Response Time
To check how much time is taken to perform a business process and receive a response from the server. For example, if the user wants to verify how the system operates under normal load conditions, the end users receive responses to all requests within 20 seconds or not.
Defining Optimal Hardware Configuration
To check how the web performance is affected by various system configurations, such as memory, CPU speed, cache, adaptors, and modems. Once the user recognizes the system architecture and checks the application response time, he/she can measure the application response for different system configurations to find out which settings can achieve the desired performance levels. For example, the user set up three different server configurations and run the same tests on each configuration to determine performance variations.
Checking Reliability
To identify how much the system is stable if heavy or continuous workloads are applied. User can use Performance Test Tool say LOAD TEST to create stress on the system. They can force the system to handle extended activity in a compressed time period to simulate the kind of activity a system normally experiences over a period of time.
Checking Hardware or Software Upgrades
Users can perform regression testing for comparing a new release of hardware/software to an older one. They can check how a software/hardware upgrade affects response time and reliability. Application regression testing does not check new features of an upgrade. It only compares the efficiency and reliability of the new release with the older one.
Evaluating New Products
User can evaluate individual products and subsystems during the planning and design stage of a product’s life cycle by running tests. For example, the user can identify which hardware is for the server machine or the database package based on evaluation tests.
Measuring System Capacity
To measure system capacity and find out the excess capacity the system can handle without performance humiliation. For checking the system capacity, user can compare performance with load onthe existing system and identify from where significant response-time degradation begins to occur.
Identifying Bottlenecks
User configures the Performance Test Tool, say LOAD TEST monitoring components to determine bottlenecks on the system and identify the elements which are causing performance degradation. For example, file locking, resource contention, and network overload. Use LOAD TEST in conjunction with the new network and machine monitoring tools to create load and measure performance at different points in the system.
Plan a Load Test
This section describes the key points on how to plan a load test.
- Analyze the application thoroughly.
- List down and define the load testing objectives.
- Plan the implementation of the Performance Test Tool say LOAD TEST.
Analyze the Application/System
This section describes the key things on how to go ahead to analyze the application under test as a part of load test planning.
- Identify the application/system components.
- Describe the application/system configuration.
- Define the system/application usage.
- Analyze the workflow and task distribution.
Define the Load Test Objectives
This section describes the key points. Based on those, the user can define the objectives of load tests.
- Finalize the general objectives.
- State the objectives in a measurable term.
- Decision on when to test.
Plan the LOAD TEST Implementation
This section describes the key points, which describes how and why to plan the implementation of LOAD TEST.
- Define the scope of performance measurements.
- Define the virtual user activities.
- Select virtual user.
- Choosing testing hardware/software.
Run – Load Test Scenario
Running Scenarios Overview
The Load Test Plan helps the user in performing Load Testing in the manner to:
- Start of Run: When the user instructs LOAD TEST to begin the scenario run, the Controller checks the scenario configuration information, invokes the applications that were selected to run with the scenario, and then distributes each VUser script to its designated load generator. When the VUsers are ready, they start running their scripts. As the scenario starts, in the Scenario Groups panel, user can watch VUsers gradually start running.
- During Run: During the scenario run, user can see a synopsis of the running scenario in the Scenario Status panel. User can also drill down to see which VUser actions are causing the application problems. The Dashboard UI’s online graphs display performance data collected by the monitors. They can use this information to isolate potential problem areas in the system.
- End of Run: The scenario ends when all the VUsers have completed their scripts, when the duration runs out, or when it is terminated. After the test run, the Scenario Status panel displays the Down status. This indicates that the VUsers have stopped running.
To Run a Scenario
This task describes how to run a scenario.
- Open an existing scenario or create a new one.
- Prepare to run the scenario. Before running a scenario, provide details for the scenario and the other run-time related configurable settings.
- To run the scenario, click the Start button  corresponding to a scenario.
- Once it is clicked, a new window, Start Scenario displays where user has to provide the Test Name and click the Start Scenario
Note: While starting the test from scenario, the test name should start with an Alphabet. Allowed characters are: alpha, numeric, hyphen, full stop, underscore, and angular bracket. If the user tries to enter other special characters except these, an error message is displayed.
Run/Stop Scenario
This section describes the key points on how to plan a load test.
- Analyze the application thoroughly.
- List down and define the load testing objectives.
- Plan the implementation of LOAD TEST.
Starting a Test
- For starting a test, when the user clicks the button, provides the test name, and clicks the Start Scenario button, the user is prompted to provide the activation key.
2. On matching the activation key, the test gets started and Test Initialization window is displayed.