Practical Model-Based Testing: A Tools Approach

by Mark Utting and Bruno Legeard, Morgan-Kaufmann 2007.

This web page contains model-based testing resources and examples for our book, Practical Model-Based Testing: A Tools Approach by Mark Utting and Bruno Legeard, Morgan-Kaufmann, 2007.

This web page provides downloads of some sample models for test generation, some free tools such as ModelJUnit and a list of commercial model-based testing tools. Here is an errata list of a few minor errors found in the book, and a selection of some of the figures and models used in the book (these are available for use in teaching courses from the book).

The MBT tools illustrated in the book include a Chinese Postman Algorithm by Harold Thimbleby, the ModelJUnit Java library by me, the LTG/UML and LTG/B tools from Smartesting, the Qtronic tool from Conformiq Software and the Spec Explorer prototype tool from Microsoft Research.

The book contains these chapters:

  1. The Challenge; (What is MBT. An example.)
  2. The Pain and the Gain; (MBT compared to classic testing processes; experience reports, benefits, limitations)
  3. A Model of your System; (How to write good test models)
  4. Selecting your Tests; (Test selection criteria)
  5. Testing from Finite State Machines; (FSM and EFSM models)
  6. Testing from Pre/Post Models; (B and Spec# models)
  7. Testing from UML Models; (UML class diagram and state machine models)
  8. Making Tests Executable; (Adaptation versus Transformation)
  9. The GSM 11.11 Case Study; (A data-oriented model in B)
  10. The ATM Case Study; (A control-oriented model in UML)
  11. Putting it into Practice; (Prerequisites, selecting an approach, people, roles, training, MBT and agile methodologies, MBT and the Unified Process)

Here is an updated list of commercial model-based testing tools from Appendix C. If you know of other commercial MBT tools that may fit into one of our definitions of model-based testing (see Section 1.2 of the book), please send us the details so that we can consider them for inclusion in this list.

Here is the Excel spreadsheet for the simple hypothetical simulation of the cost of testing discussed in Section 2.5 of the book. It compares the cost (in hours) of using various different testing processes to test ten releases of a software product.

Here is a link to the Chinese Postman Algorithm by Harold Thimbleby. It contains his paper about the Chinese Postman algorithm plus the downloadable Java implementation that was used in Chapter 5 of the book to generate all-transition tours of the Qui-Donc model. (To apply this to your own FSM model, you must modify the main() method to define your own FSM graph.)

Here is a beta-release of the ModelJUnit testing tool (see Sections 5.2 and 5.3 of the book). This is a Java library that allows you to write simple FSM or EFSM models as Java classes, then generate tests from those models and measure various model coverage metrics. It requires Java 1.5 or higher.

Lecture Slides

Here are a few PowerPoint slides that I have used while teaching material from this book. You are welcome to use and modify these slides for teaching purposes, so long as you acknowledge their source.

Last modified: Mon Nov 29 19:12:33 NZDT 2010