27.07.2013 Views

2 Why We Need Model-Based Testing

2 Why We Need Model-Based Testing

2 Why We Need Model-Based Testing

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

150<br />

9 Further Reading<br />

There are many modeling languages based on guarded update rules (or something<br />

similar), including Alloy (Jackson, 2006), ASMs (Gurevich, 1995; Börger<br />

and Stärk, 2003), B (Abrial, 1996), Promela (Holzmann, 2004), TLA (Lamport,<br />

2002), Unity (Chandy and Misra, 1988), VDM (Fitzgerald and Larsen, 1998), and<br />

Z(Woodcock and Loomes, 1989; Spivey, 1992; Davies and Woodcock, 1996; Jacky,<br />

1997). Case studies in these languages show how different kinds of systems can be<br />

described in modeling styles similar to ours.<br />

The immediate predecessors of the modeling library and tools described in this<br />

book are the AsmL language and the AsmL-T tool (Barnett et al., 2003), and more<br />

recently, the Spec# language and the Spec Explorer tool (Veanes et al., in press;<br />

Campbell et al., 2005a). Development on Spec Explorer continues.<br />

Peled (2001) presents an exhaustive exploration algorithm similar to ours.<br />

Grieskamp et al. (2002) describe a more complex exploration algorithm.<br />

Exploration has some similarities to model checking, which also generates and<br />

explores a finite state machine (FSM), but usually emphasizes verifying (or providing<br />

counterexamples to) properties expressed as formulas in temporal logic. This is<br />

similar to our checking of temporal properties, but we express them with FSMs<br />

instead of formulas. <strong>Model</strong> checking was originally described by Clarke et al. (1986)<br />

in a classic paper and later described in a survey article (Clarke et al., 1994) and a<br />

book (Clarke et al., 1999). Some other model checkers are described in the books<br />

by Peled (2001) and Holzmann (2004).<br />

Composition of model programs is a generalization of the construction of finite<br />

automata for the intersection of regular languages. For example, see the discussion<br />

following Theorem 3.3 on pp. 59–60 of Hopcroft and Ullman (1979).<br />

The classic books on testing are by Myers (1979) Myers et al. (2004), and<br />

Beizer (1984, 1990, 1995). Poston (1996) surveys and collects some early papers on<br />

what we now call model-based testing. Binder (1999) adds special consideration for<br />

object-oriented programs. Kaner et al. (1993) emphasize the pragmatics of testing<br />

desktop applications, including business considerations. Peled (2001) also discusses<br />

more free ebooks download links at:<br />

http://www.ebook-x.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!