Load testing
Learn about load testing and the Controller load testing process.
System testing
Modern system architectures are complex. While they provide an unprecedented degree of power and flexibility, these systems are difficult to test. Whereas single-user testing focuses primarily on functionality and the user interface of a system component, load testing focuses on performance and reliability of an entire system.
For example, a typical load testing scenario might depict 1000 users that log in simultaneously to a system on Monday morning. What is the response time of the system? Does the system crash? To be able to answer these questions and more, a complete application performance testing solution must do the following:
-
Test a system that combines a variety of software applications and hardware platforms
-
Determine the suitability of a server for any given application
-
Test the server before the necessary client software has been developed
-
Emulate an environment where multiple clients interact with a single server application
-
Test an application under the load of tens, hundreds, or even thousands of potential users
Controller enables you to create load tests, which emulate the real life behavior of your application.
The load testing solution
Traditional or manual testing methods offer only a partial solution to load testing. For example, you can test an entire system manually by constructing an environment where many users work simultaneously on the system. Each user works at a single machine and submits input to the system. However, this manual testing method has the following drawbacks:
-
It is expensive, requiring large amounts of both personnel and machinery.
-
It is complicated, especially coordinating and synchronizing multiple testers.
-
It involves a high degree of organization, especially to record and analyze results meaningfully.
-
The repeatability of the manual tests is limited.
OpenText Professional Performance Engineering addresses the drawbacks of manual performance testing:
-
Personnel requirements are reduced by replacing human users with virtual users or Vusers. These Vusers emulate the behavior of real users operating real applications.
-
Because numerous Vusers can run on a single computer, the amount of hardware required for testing is reduced.
-
Controller allows you to control all the Vusers from a single point of control.
-
Controller monitors the application performance online, enabling you to fine-tune your system during test execution.
-
Controller automatically records the performance of the application during a test. You can choose from a wide variety of graphs and reports to view the performance data.
-
Checking where performance delays occur: network or client delays, CPU performance, I/O delays, database locking, or other issues at the database server. The monitoring of the network and server resources helps you improve performance.
-
Because the tests are fully automated, you can repeat them as often as you need.
The testing process
The following steps provides a general overview of the testing process.
-
Plan the test
Successful load testing requires that you develop a thorough test plan. A clearly defined test plan ensures that the scenarios that you develop can accomplish your load testing objectives.
For details, see Plan a load test.
-
Create the Vuser scripts
Vusers emulate human users interacting with your web-based application. A Vuser script contains the actions that each Vuser performs during scenario execution.
In each Vuser script, you determine the tasks that are:
-
Performed by each Vuser
-
Performed simultaneously by multiple Vusers
-
Measured as transactions
For details on creating Vuser scripts, see the VuGen Help Center.
-
-
Set up load generators
A load generator is the machine that runs the Vuser script, enabling the Vuser to emulate the actions of a human user. When you run a scenario, Controller distributes each Vuser in the scenario to a load generator.
For details, see Load generators.
-
Design the scenario
A scenario describes the events that occur during a testing session. A scenario includes a list of machines on which Vusers run, a list of scripts that the Vusers run, and a specified number of Vusers or Vuser groups that run during the scenario. When designing the scenario, you set the scenario configuration and scheduling which determines how all the load generators and Vusers behave while the scenario runs.
You design scenarios using Controller. For details, see Design scenarios.
-
Run the scenario
You emulate user load on the server by instructing multiple Vusers to perform tasks simultaneously. While the scenario runs, Controller measures and records the transactions that you defined in each Vuser script. You can set the level of load by increasing and decreasing the number of Vusers that perform tasks at the same time and you can also monitor your system's performance online.
For details, see Run scenarios in Controller.
-
Monitor the scenario
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 OpenText Professional Performance Engineering in conjunction with the network and machine monitoring tools to create load and measure performance at different points in the system.
For details, see Monitor load test scenarios.
-
Analyze test results
During scenario execution, Controller records the performance of the application under different loads. You use the Analysis graphs and reports to analyze the application's performance.
For details, see Introducing Analysis.
See also: