Model based approach
The recommended approach to model-based testing is given below:
1) Product Definitions: As a first step, we can derive the conditions for Positive and Negative tests pertaining to the product setup. The important elements with respect to the Product, the business rules and validations operating upon them etc are first collected and sign-off is obtained from the client with respect to its coverage and completeness.
2) Product Maintenances: Next, we look at the allowed and disallowed changes at the product set up level. Rules relating to product level changes are gathered and conditions pertaining to them are developed and a client sign-off is obtained on them.
3) Transaction Definitions: Subsequently, we come down to the transaction level and derive the conditions for Positive and Negative tests pertaining to the transactions. Here again, the conditions are developed based on the important attributes considered for each transaction and the various rules and validations operating upon them. It is necessary to obtain client sign-off on this before we move to the next stage of test design.
4) Scenario Creation: Once we have all the conditions in place, it is necessary to stitch them together to form meaningful business scenarios. This stitching can take place at two levels –
a) Linking of the Transactions to the Product.
b) Linking of multiple transactions together.
The rules pertaining to the sequencing need to be taken into consideration before scenario creation can be attempted.
5) Data Completion: The final step in the Test design process is to ensure that the test data required for execution is complete in all respects. Here we need to ensure all information relating to parameter values and have been collected and correctly incorporated in the test conditions.
The following could be the key benefits derived from this approach:
1) Optimization of Test conditions
2) Elimination of duplication
3) Enables to crash Test design and Execution timelines
4) Enables automation of mechanical and repetitive tasks, thereby ensuring quality time being spent by project teams on determining what needs to be tested
5) Helps to minimize the chance of human errors during Test design by having the necessary validations in place.
To conclude, a structured method goes a long way in deciding the success of any UAT engagements.
(The author is director and co-founder, Maveric Systems Ltd)