Practice: Model-Based Testing
Main Description

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.

Relationships