Model-based testing

Research output: Contribution to conferencePaperpeer-review

10 Scopus citations


Model-based testing has become increasingly popular in recent years. Major reasons include (1) the need for quality assurance for increasingly complex systems, (2) the emerging model-centric development paradigm (e.g., UML and MDA) with its seemingly direct connection to testing, and (3) the advent of test-centered development methodologies. Model-based testing relies on execution traces of behavior models. They are used as test cases for an implementation: input and expected output. This complements the ideas of model-driven testing. The latter uses static models to derive test drivers to automate test execution. This assumes the existence of test cases, and is, like the particular intricacies of OO testing, not in the focus of this tutorial. We cover major methodological and technological issues: the business case of model-based testing within model-based development, the need for abstraction and inverse concretization, test selection, and test case generation. We (1) discuss different scenarios of model-based testing, (2) present common abstractions when building models, and their consequences for testing, (3) explain how to use functional, structural, and stochastic test selection criteria, and (4) describe today's test generation technology. We provide both practical guidance and a discussion of the state-of-the-art. Potentials of model-based testing in practical applications and future research are highlighted.

Original languageEnglish
Number of pages2
StatePublished - 2005
Externally publishedYes
Event27th International Conference on Software Engineering, ICSE05 - St. Louis, MO, United States
Duration: 15 May 200521 May 2005


Conference27th International Conference on Software Engineering, ICSE05
Country/TerritoryUnited States
CitySt. Louis, MO


  • Coverage
  • Development processes
  • Model-based development


Dive into the research topics of 'Model-based testing'. Together they form a unique fingerprint.

Cite this