HOME TESTING TELECOMS RESOURCES CLIENTS CONTACT
 
 
Intro Models Documentation Design Scripting Tools Execution Defects Reporting  
 

Designing Test Cases

Equivalence Class Partitioning

Equivalence Class Partitioning is a process whereby a complex and relatively unstructured set of domain inputs is organised into a set of well structured groups. Consider the following mobile phone billing feature: The customer is only able to make a call from his prepay phone if his balance is equal to or greater than the minimum call balance which is one minutes airtime. The only exclusion to this are emergency calls which can be made at any time regardless of balance.

The classes I identify from this requirement are the customer's balance and the type of call they attempt. The equivalence classes for the type of call are landline calls, calls to mobiles on the same network, calls to other networks and emergency calls. Similarly the equivalence classes for the customers balance are zero, less than the minimum balance for that call, equal to the minumum balance and greater than the minimum balance required for that call. Partitioning a class in this particular way is known as Boundary Value Analysis. Identifying equivalence classes requires good domain knowledge and an understanding of valid class combinations.

Test Coverage Matrix

The next step in the test case design process is to construct a test coverage matrix from the Equivalence Classes identified. You now have a powerful tool at your disposal, you can now identify test cases where combinations of these equivalence classes intersect and can plan an effective set of tests giving a good test coverage of the scenarios likely to be encountered when the system is in production.

The table below shows the Test Coverage Matrix for the testing of the feature mentioned in the previous section. You can see that by just performing 8 tests we have effectively covered a good range of conditions. In reality we would test all emergency call test cases.

Test Coverage Matrix showing equivalence class partitioning

Once we have constructed the coverage matrix we can now compose a set of high level test descriptions.

Test Descriptions

Once the the test coverage has been determined the next step in test development is to compose a set of test descriptions, these are sometimes known as scenarios or test cases. Using the example above we might have:

Test IdentifierTest Description
TC01Called party is a landline number, calling party has a zero balance
TC02Called party is an on-network customer, calling party has a balance less than the minimum call charge
TC03Called party is an off-network customer, calling party has a balance equal to the minimum call charge
TC04Called party is Emergency Services, calling party has a balance greater than the minimum call charge
TC05Called party is a landline number, calling party hasa balance greater than the minimum call charge
TC06Called party is an on-network customer, calling party has a balance equal to the minimum call charge
TC07Called party is an off-network customer, calling party has a balance less than the minimum call charge
TC08Called party is Emergency Services, calling party has a zero balance

We now have a set of high level test cases that describe the scenarios we wish to test, these are quite often included in the test plan. Once our test scenarios have been identified and recorded we can begin the test scripting process.

Author:

     
Home      |      Testing      |      Telecoms      |      Resources      |      Clients      |      Contact     |     Care Database
 Copyright © 2016 Chic Computer Consultants. All rights reserved