Model based testing…
With the changing Era in testing we should focus on strategizing the way we write test cases. And one such way would be the UML language… MODELLING
There are many tools in the market which would do this. One such tool would be IBM’s Rational Rose. This tool takes the input as Business requirement’s or the business processes and coverts them in the form of models/flow diagrams…
These diagrams have a start and an end event connected in between by the service tasks as shown below. These service tasks hold the descriptions, the fields and the actions to be performed. The tool allows us to parameterize the field variables. These variables can be imported / exported from one model to another. Descriptions can be maintained for each task for more granular explanation of what the task actually performs.
Now the model is ready; how to make it an effective live model?
We intend to mostly write the plain vanilla flow of any business process or a requirement in our test case documents. We would also need to fit in all the testing techniques which are rightly suitable for the test cases based on the business need and frame test cases w.r.t it. This is where the product CertifyIT from Smartesting comes into picture… Which is a French company emerging into the Shift lift concept. This product holds the logics of testing techniques like All pairs, equivalent class, boundary value analysis etc., which can be applied to the UML models.
How will it look when these two products (Rational Rose and CertifyIT) are merged??
Yes. Rational Rose and CertifyIT are integrated and all the logics (testing techniques) generated by CertifyIT are applied on the generated UML models. Once modelling is done and the appropriate testing technique combinations are applied on it accordingly, a test suite is build. The byproduct of the test suite would be auto generated test cases and an automation framework.
This test suite is now exported from the RR tool to CertifyIT tool and the test cases and automation framework are published using a few publishers like Junit, QTP, excel etc., which the tool supports.
The test suite holds functional/unit test cases, business process and end-to-end scenarios which are auto generated. These test suites are customizable (wherein you can build your own scenarios). The test case document automatically maps the requirements with the test cases.
The tool provides optimal combinations and all possible combination of scenarios. We can choose them based on the business criticality. For e.g. if it’s an NFT we can chose all possible combinations of negative and positive scenarios and if its regression we can choose only the primary positive scenarios …
The automation framework gives all the key words which have to be implemented from the functional side into whatever automation tool we are using. These keywords are re-usable and would help us not being redundant. Automation tools like Test Partner, QTP, and Selenium are supported by CertifyIT.
We piloted the tool in STC on CRM and HCM areas and below are the findings:
- The tool gives a good approach and strategized way of building test cases. (especially when we are looking into shared services)
- It reduces the test case writing/designing effort by half
- Automation framework provides reusable key words which helps us from redundancy
- Yields Optimal combinations
- The tool is not intelligent enough to pick up the relevant testing techniques or pairs – data has to be fed
- It increases the execution effort if not linked with automation
A sample model for a campaign management scenario is shown below:
Happy modelling 🙂