Currently, specification for software tests is written mainly by hand. This is a time-consuming chore where test designers often have to use or compare multiple sources of information to derive information on the system's input and expected output.

With model based testing on the other hand, a large number of tests are generated from few easy-to-understand and clearly arranged diagrams. This facilitates a formal inspection of the tests. Functional modifications as well as changes to the testing technique can be implemented quickly and easily in the test model. Last but not least, the generation of test cases from the model is fully reproducible and comprehensible. The bottom line is that particularly for complex tests, a more systematic and more complete test coverage for system or integration level tests is reached by model based testing.

By automatically generating tests from a handful of system-level models, model based testing thus offers an opportunity to noticeably increase testing efficiency.

The imbus TestBench Model Based Testing Plugin

The imbus TestBench Model Based Testing Plugin generates tests based on activity or sequence diagrams. For the diagrams, a reduced subset of UML is used. This guarantees a smooth learning curve and makes the models readable to any person with basic UML knowledge. The acceptance of test modeling by software testers is furthered even more by the fact that the models in many aspects follow standard test methods like equivalence partitioning and boundary value analysis.

In UML activity diagrams, interaction parameters can be attached to interactions using pins. At branches, conditions are added that are be used by the generator for path reduction based on decision tables:


UML activity diagram (click to enlarge)

Data types are designed in UML class diagrams. The mapping of UML objects to imbus TestBench data types is controlled by the UML stereotypes employed, like <<MBT data type>>:


UML class diagram (click to enlarge)

In the object diagram, the instantiation determines which values are actually employed for test case generation:


UML object diagram (click to enlarge)

To keep the number of generated test case sets and test cases low, the number of paths followed and parameter combinations used is reduced by rule sets like decision tables. Depending on the actual test generator, the user can choose between different test coverage options like all-activities for path coverage and pair wise testing for data variation coverage.

For test execution, the expected results are inserted manually. That way, the possibility of a defective automated test oracle is avoided, and the test cases are subjected to a technical review.

If you are interested in using model based testing, imbus on request offers a workshop "model based testing with imbus TestBench".

 
More Details
 
 
The imbus TestBench interaction method
More Details
 
 
iTORX – the integrated test execution assistant