Model based testing is the test approach which uses models for testing. The whole idea behind model based testing approach is to design a model which represents the desired behavior of system under test. Once the model is ready then the model based testing tools like specexplorer can be used to automatically generate the test cases from the model.

The test cases generated from the model based testing tools are abstract test cases i.e. the test cases will have abstract operations and input/output values associated with that model, the abstract test cases then need to be concretized in executable scripts which can be done by model based testing tool.

The final concrete test cases can be in the form of any programming language like JUnit tests in Java, Python etc. The final tests can then be executed against actual system under test.