Model-Based Testing in Practice

Testing comprises activities that aim at showing that the intended and actual behaviors of a system differ, or at gaining confidence that they do not. The goal of testing is failure detection: observable differences between the behaviors of implementation and specification. Classical estimates relate one half of the overall development effort to testing. Even if Fagan [1] suspects that this percentage includes activities such as finding the causes of failures in the code and removing them, testing is an important and expensive activity in the development process.

[1]  J. K. Buckle Reviews and Inspections , 1982 .

[2]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[3]  John D. Musa,et al.  Software Reliability Engineering , 1998 .

[4]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[5]  Alexander Pretschner,et al.  Methodological Issues in Model-Based Testing , 2004, Model-Based Testing of Reactive Systems.

[6]  Mohammad El-Ramly,et al.  Case Studies , 2004, Model-Based Testing of Reactive Systems.

[7]  John D. Musa,et al.  Software Reliability Engineering: More Reliable Software Faster and Cheaper , 2004 .

[8]  Andrew M. Kuhn,et al.  Code Complete , 2005, Technometrics.

[9]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.