If you agree that modeling brings value to engineering, then model-based testing (MBT) brings similar value to verification. To be clear, MBT doesn't limit itself to the testing of models. Rather, MBT is about using models to capture, manage, and apply test cases to a system, whether or not that system is model-based. In essence, MBT allows you to do the following:
- Define a test architecture, including a test context, test configuration, test components, the System Under Test (SUT), arbiter, and scheduler.
- Define test cases, using sequence diagrams (most commonly), activity diagrams, state machines, and code.
- Define test objectives.
Bringing the power of a model to bear the problems developing test architectures, defining test cases, and then performing the testing is compelling. This is especially true when applying it with a tool like Rhapsody, which provides such strong simulation and execution facilities.
While MBT can be informally...