Model-Based Test Generation
TechniqueModel-based test generation is an automated test-generation technique in which a model or input-format specification guides the creation of test cases or processor-level stimuli. Evidence from processor-verification literature identifies model-based approaches as a notable direction that relies on constraint-based specifications to guide generation, with optimizations such as cross-instruction constraint propagation, and notes the significant effort required to provide an input-format specification, motivating alternative model-free techniques such as coverage-guided fuzzing. Other public work applies model-based generation to domain-specific test modeling and web-app regression testing.
WIKI
Overview
Model-based test generation is an automated test-generation technique in which a model, input-format specification, or constraint-based description guides the creation of test cases or processor-level stimuli. In the processor-verification literature, model-based test generation is identified as a notable direction that relies on a constraint-based specification to guide the test generation process, in contrast with classical randomized instruction-stream generation. [Model-based definition and motivation]
The technique is also discussed more broadly in software-engineering contexts as a way to support automated test generation with domain-specific concepts. Public SE work describes a framework in which a language expert builds test models using a full (Java) programming language augmented with simple but powerful modeling elements; based on these models, the toolset automatically forms a domain-specific modeling language that domain experts can use to constrain and guide test generation, generate large test sets, target constrained parts of a model, or manually define specific test cases on top of the model. [Domain-specific model guidance]