|Approach||Coverage based - Appearance|
|Test Basis||Description of real user profiles|
Load profiles describe the loading under which the system operates in terms of how many users are operating the system at once. The testing of load profiles has the aim of examining whether: “The system works correctly when many transactions are carried out by many users at once”. Load profile are often applied in combination with coverage type Operational profiles.
Load profiles show the degree to which the system resources (CPU, memory, network capacity) are loaded in reality. The loading is usually shown in terms of the number of users or number of times that a transaction is carried out in a particular period. Usually, the loading of a system is not continuously even, but varies over a period of time: there are peaks and valleys within a 24-hour stretch. Often, weekends will show a different loading from weekdays. And during holiday periods and public holidays, the loading of a system may look different again.
For the creation of a load profile, information from the following sources is combined:
- Measuring the loading of the system using specific tools (monitors).
The responsibility for this usually resides with a department for “Technical System Administration”
- Interviewing users
In fact, this amounts to the following questions: “Which transactions do you carry out? How often, and when?”
The testing of load profiles comes under what is often refered to as “performance testing”and is a testing specialism in itself. While it is possible to do manually, tools are usually employed that generate a particular loading of the system. Using the tools, a realistic loading is simulated, such as:
- Creation of virtual users
A virtual user is a small program that simulates a user. On one PC, many such programs can run at once. This avoids the need for the physical presence of a separate PC for each user. This is mainly applied for subjecting the entire system, including the network, to a particular loading
- Offering transactions via the database-management interface
This creates a certain loading of the back-end of the system without overloading the front-end or the network. It facilitates direct measurement of whether the database server has the appropriate dimensions.
There are various types of performance tests that each have a different goal. The most common are:
- Testing with normal or average usage
The aim here is to examine whether the available system resources are adequate for the ‘usual’ circumstances. The idea here is, that it can be commercially advantageous to deploy extra resources for the rare occasions that ‘exceptionally heavy loading’ takes place
- Testing with peak loading
The aim here is to examine whether there are sufficient system resources for even the most demanding circumstances that may arise in practice
- Measuring the breaking point
This is also known as “stress testing”. The aim here is to examine what the maximum load is under which the system will still perform acceptably. With a particular system configuration, the loading is stepped up, while the response time is measured. This can be shown in a graph. At the point when the graph shows a sharp incline, the response time increases disproportionately fast (the response ‘collapses’) and the breaking point has been reached.