Deriving the Test Cases for Performance Tests.

The primary input for performance test cases are the Supplementary Specifications, which contain the non-functional requirements. Use the following guidelines while deriving the test cases for performance test:

1. Ensure there is atleast one test case identified for each statement in the supplementary specification, which states performance criteria. Performance criteria are usually expressed as time per transaction, number of transactions / users or percentiles.
2. Ensures there is atleast one test case identified for each critical use case. Critical use cases are those identified in the above statements and / or in the workload analysis document that must be evaluated using performance measures.

As with test cases for functional tests, there will typically be more than one test case per use case / requirement. It is more common that there will be one test case that is below the performance threshold value another at the threshold value, and a third test case above the threshold value.

In addition to the above performance criteria, ensure that you identify the specific conditions that affect response times, including:

3. Size of the database – how many records exists?
4. Workload – number and type of simultaneous end-users, number and type of simultaneous transactions being performed.
5. Environment characteristics (Hardware, Netware, Software configuration).

Capture test cases for performance test in matrices similar to those used for functional test.
 

Below are some examples for the different types of Performance Tests:

For Load Test:

TC ID #------Workload-----Condition-------------------------------------Expected Result
TC_LD_01----10 Users-----Can be able to access the application---Successfully able to access the application.
TC_LD_02----500 Users----Can be able to access the application---Successfully able to access the application.
TC_LD_03----1000 Users---Can be able to access the application---Successfully able to access the application.
 

For Stress Test:

TC ID #------Workload-----Condition-----------------------------------------------Expected Result
TC_ST_01----10 Users-----11 th User logged in------------------------------------Request will be queued
TC_ST_02----500 Users----Server is down------------------------------------------Transaction is queued or times out
TC_ST_03----1000 Users---Communication terminates during transaction---Warning message will be displayed