Find your template, checklist or other download to help you in you tasks.
Find your way to be trained or even get certified in TMAP.
Start typing keywords to search the site. Press enter to submit.
With this coverage type, it is not the intention to test the system behaviour in separate situations, but to simulate the use of the system in a statistically responsible way. In order to test whether the system is proof against the realistic operation of it, that realistic operation needs to be specified one way or another. Such specifications are often called “profiles”. The 2 best-known are:
Both profiles are further explained below.
An operational profile describes in quantitative terms how the system is used by a particular type of user. This concept was introduced by John Musa; you are referred to his work [Musa, 1998]] for a more comprehensive discussion of operational profiles. Below is a brief explanation.
An operational profile describes the realistic usage by answering the question: “When the system is in this condition, how great is the chance that this action will be carried out by the user?” In the literature, instead of condition and action, reference is usually made to history class and event. An operational profile provides a statistical average of how ‘the user’ handles the system. If various types of users are distinguishable who display significantly varied static average behaviour, it is advisable to create a separate operational profile per user type.
For example, for a system on “Internet banking” the following types of users could be distinguished:
For the creation of an operational profile, the following steps are gone through:
This covers, in principle, all the actions and events with which the system functionality is activated. These are usually the functions that are carried out by users or connected systems. If various functions have been defined that have a lot to do with each other and which also have the same likelihood of being executed, it is advisable to group these functions. This keeps the operational profile clear.
A history class describes the condition in which the system finds itself. It says something about what has happened (the history) with the system. The occurrence of an event (execution of a function) usually results in the system arriving in a different history class.
For example, for a media-device the history classes defined are “Standby”, “Record”, “Play”, “Fast Forward”, and “Fast Rewind”. If, in the history class of “Play” the user presses the “Forward” button (an event), the system moves into the history class of “Fast Forward”. However, if the user presses this button in the history class of “Record”, this has no effect and the system remains in the same history class.
In general, it is advisable to nominate a new history class if the probability distribution in respect of the occurrence of the subsequent event changes significantly. It is usual for the first history class to select the initial condition of the system.
In other words: how great are the chances that this event will be executed if the system is in this history class. In every history class, the sum of all the probabilities should come out as 1 (or 100%).
The result of these steps can be reproduced in the form of a matrix, as illustrated in below figure. In this, for example, the term P2,1 means “the chances that event 1 will be executed by the user in history class 2”.
There are various ways of obtaining the information required for an operational profile, for example:
It is important here to realise that this does not concern ‘100% accurate measurements’, but estimates that provide a realistic impression of the average use of the system.
A test case consists in this instance of a chain of events that are carried out by the user. The length of a test case is up to the tester, but typically is in the order of some tens of events in sequence. The test case starts in the initial condition (history class 1). Subsequently, the system will move into other history classes, depending on the events that are carried out. For the creation of each test case, the following steps are performed:
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. In below figure, an example is shown of a load profile over the course of 24 hours.
Example of a load profile, showing the number of transactions per hour over a full 24-hour period.
For the creation of a load profile, information from the following sources is combined:
The testing of load profiles comes under the category of “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:
There are various types of performance tests that each have a different goal. The most common are:
Example of the measurement of the breaking point: the maximum load at which the system still performs at an acceptable level.Copy and paste text and images from tmap.net. You can select the whole left column and paste it in here.
Coverage groups:
Process
Conditions
Data
Appearance