ABSTRACT
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.
- R. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison Wesley, 1999. Google ScholarDigital Library
- M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, and A. Pretschner (eds.). Model-Based Testing. LNCS. Springer, 2005. To appear.Google Scholar
- J. Musa. Software Reliability Engineering: More Reliable Software Faster and Cheaper. AuthorHouse, 2004. Google ScholarDigital Library
- G. Myers. The Art of Software Testing. J. Wiley and Sons, 1979. Google ScholarDigital Library
- A. Pretschner, O. Slotosch, A. Aiglstorfer, and S. Kriebel. Model-Based Testing for Real. Software Tools for Technology Transfer, 5(2--3):140--157, 2004. Google ScholarDigital Library
- H. Zhu, P. Hall, and J. May. Software Unit Test Coverage and Adequacy. ACM Computing Surveys, 29(4):366--427, December 1997. Google ScholarDigital Library
Index Terms
- Model-based testing
Recommendations
One evaluation of model-based testing and its automation
ICSE '05: Proceedings of the 27th international conference on Software engineeringModel-based testing relies on behavior models for the generation of model traces: input and expected output---test cases---for an implementation. We use the case study of an automotive network controller to assess different test suites in terms of error ...
Saturation-based testing of concurrent programs
ESEC/FSE '09: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineeringCoverage measures help to determine whether a test suite exercises a program adequately according to a testing criterion. Many existing measures, however, are defined over coverage domains that cannot be precisely calculated, rendering them of limited ...
Interpreting a Successful Testing Process: Risk and Actual Coverage
TASE '09: Proceedings of the 2009 Third IEEE International Symposium on Theoretical Aspects of Software EngineeringTesting is inherently incomplete; no test suite will ever be able to test all possible usage scenarios of a system. It is therefore vital to assess the implication of a system passing a test suite. This paper quantifies that implication by means of two ...
Comments