Modeling brings to the table two primary advantages: the ability to focus on different aspects of a system (such as
functional, state behavioral, algorithmic, or structural) and to look at those aspects at different levels of
abstraction from simple functions and data structures all the way up to systems of systems. Model-based engineering
brings these benefits to the engineering of systems. Model-based testing (MBT) brings the same benefits to testing.
This practice describes the application of MBT to MBE-developed systems.
A key aspect to MBT is Test-Driven Development (TDD). The fundamental idea behind TDD is to create and apply tests
during the creation of software and system elements rather than at some time in the future. This is typically done in a
very rapid cycle known as the nanocycle that executes within 20-60 minutes. MBT applies TDD to MBE so that as model
elements (classes, states, functions, types, etc) are created, model-based tests are created and applied at the same
time. The benefit is defect avoidance rather than later, much more expensive defect identification and removal.
|