Model-based testing or MBT is a general term that signifies an approach that bases common testing tasks such as test case generation and test result evaluation on a model of the application under test.
Microsoft illustrates MBT as:
Model-based testing involves developing and using a data mode to generate tests. The model is essentially a specification of the inputs to the software. The suite includes inputs, expected outputs and necessary infrastructure to run the tests automatically. Testers using MBT approach concentrate on a data model and generating infrastructure instead of hand crafting individual tests.
It is essentially meant for functional testing and is a black box testing technique. MBT is based on the premise that the reliability of the test process that can ensure the high quality of software demands that the test cases be derived form functional specifications. The test cases should guarantee that the functionality called out in specifications is completely covered and that the application can be fully exercised through execution of test cases.
If testers can indeed develop such test cases directly from functional specifications, the at least functional specifications can not be faulted for corresponding deficiency in the application and it can be reasonably hoped that the desired functionality may have been successfully translated into the delivered application. MBT models tests based on the specifications.
MBT separates the testing logic from the actual test implementation. This allows the developer to focus on developing good tests specific to the application while relying on the automation tool’s test execution environment to solve problems related to test execution.
MBT has as its roots applications in hardware testing, most notably telephone switched and recently has spread to a wide variety of software domains.
MBT is directly applicable for supporting mission critical applications, in fact MBT becomes imperative. NASA and the Europe space agency have already implemented model based testing.
There is promising future for MBT as software becomes even more ubiquitous and quality becomes the only distinguishing factor between brands. Modeling in general seems to be gaining favor particularly in domains where quality is essential and less than adequate software is not an option.
MBT is a natural choice for testers concerned about completeness, effectiveness and efficiency.