Model based testing is a testing technique that creates abstract functional models of system under tests, and derive test cases based on the create models.

Automated tools are commonly used when generating models. Models describe functions of the system under test and interactions among different modules.

Tests can be derived from studying the generated models manually or tests can be generated automatically with specialized tools.

Model based testing wikipedia link