Index Up Site Map Latest News Working Practices Discussion & Review Glossary Module Testing Non-Func. Testing Links Test Papers Feedback Administration

Memory Management - Database

Example System – Telephone Number Re-direction

This example is for a real-time database system.

Requirement

This system automatically re-directs telephone numbers.  It takes the number originally ‘dialled’ by the ‘phone user, translates it to that of the number ‘owner’, and then forwards the call to the new number, in a manner similar to Freephone numbers.  To do this it uses a look-up table that contains the correspondence between the two numbers.  The system must be able to cope with varying levels of demand, and peaks of usage are not uncommon, for instance when a number for translation is advertised on peak time television.

The system shall be able to hold 10,000 pairs of numbers for re-direction. The system shall be able to cope with up to 2,000 concurrent translation requests, and if this level is exceeded further requests shall be ignored, but the system shall not ‘crash’.  The system shall be able to operate for periods of up to 24 hours at a time, without a system re-boot.

Analysis of the Requirement

The look-up table is held in RAM for speed of access, and each message being re-directed also takes up a finite amount of memory in the system RAM.  Thus there are two variables competing for system RAM.  All pairs of numbers used for re-direction use the same amount of memory in the look-up table.  Each message being re-directed uses up the same amount of RAM during the re-direction.

Because of  the implementation language used for this system, or the implementation itself, it is known that some level of memory leakage may occur in the system under test.  This could manifest itself by the RAM allocated to messages not all necessarily being returned after the message has been dealt with.  This could mean that over a period of time the number of calls that may be re-directed simultaneously may be reduced.

From the analysis of the requirement, the following memory management requirements were derived:

R1               The system shall be able to hold 10,000 pairs of numbers for re-direction.

R2               The system shall be able to cope with up to 2,000 concurrent translation requests.

R3               The system shall be able to operate for periods of up to 24 hours at a time, without a system reboot.

 

Test Environment

The system under test shall be set up within a test environment that allows variable numbers of ‘phone numbers for re-direction to be passed to the system under test and their successful re-direction to be monitored.

 

Test Case 1

This test case shall determine whether the system has sufficient RAM to cope when the maximum number of ‘phone numbers for re-direction are held, and the maximum number of concurrent requests are received.

Test Inputs

The system under test’s look-up table shall be initialised to re-direct 10,000 numbers.  The test environment shall be set up, to simultaneously pass the system under test 2,000 ‘phone numbers for re-direction, that is the message buffers shall be fully utilised during the period of the test.

Expected Result

The system under test shall successfully re-direct all 2,000 ‘phone numbers.

Exercised Memory Requirement

The system shall be able to hold 10,000 pairs of numbers for re-direction (R1) and it shall be able to cope with up to 2,000 concurrent translation requests (R2).

 

Test Case 2

This test case shall determine whether the system has sufficient RAM to cope with any memory leakage that could  occur.  The maximum rate of memory leakage will occur when the maximum number of concurrent requests are being re-directed.  The system must have enough RAM to cope with this maximum rate of memory leakage occurring over the maximum time the system must run without a re-boot (when all memory will be reset), and while the maximum number of ‘phone numbers for re-direction are held.

Test Inputs

The system under test’s look-up table shall be initialised to re-direct 10,000 numbers.  The test environment shall be set up to continuously pass the system under test peak loads for re-direction for a period of 24 hours, that is maintain the throughput at 2,000 concurrent messages.

Expected Result

The system under test shall successfully re-direct all ‘phone numbers for the duration of the test.

Exercised Memory Requirement

The system shall be able to operate for periods of up to 24 hours at a time, without a system reboot (R3).