Model-Based Testing allows to produce test cases from a model. It is a variation of the model engineering solutions applied to the test. The objective is to avoid the tester writing each test case manually in order to concentrate on tasks with higher added value.
Thus, the tester first builds a model that describes how his application works. It then defines its test strategy by choosing a path algorithm, then the application automatically generates all the test cases.
The graphical representation necessary to represent the usage model is based on simple concepts but sufficient to express all possible cases: states & transitions. The states represent fixed points of the tested system (the arrival on a web page for example) and the transitions represent the actions to be performed to move from one state to another.
From the early stages of model design, the tester can integrate functional requirements into the model. The latter are associated with the different elements of the model, and these associations make it very easy to calculate the actual coverage. Relevant metrics can thus be used to control the generated test suites. We thus move from an empirical approach to an approach driven by the coverage of requirements.
To go further, once the test cases have been executed, a comparison can be made between the actual behaviour of the system under test and the expected behaviour described in the model. This comparison allows you to assign a test verdict.
Some videos to understand
An approach, a tool !
The Model-Based Testing approach appeared in the 2000s and MaTeLo is the pioneering tool. MaTeLo was first deployed in 2004.
The MaTeLo tool, Model-BasedTesting leading tool, integrates an ergonomic graphical editor to design the behavior of your applications, using simple concepts, states, transitions and conditions that will represent the interweaving of functional paths to generate complete and representative test cases.
MaTeLo is suitable for all types of systems: Web platform, large systems applications, industrial control systems, embedded systems, etc. An On-line mode was added to the tool in 2018. It allows you to control in real time from MaTeLo the execution of your test cases in your PLC.
MaTeLo carries out the campaign by orchestrating the tests on different platforms such as web browsers, heavy clients, web services, consoles, mobiles, 3D simulators, etc. and allows it to calculate the campaign’s verdict.