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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4 Further Reading<br />

The concepts presented in this book are based on ideas from mathematics and<br />

theoretical computer science. Readers certainly do not need to understand these<br />

theoretical aspects in order to use the techniques we present. However, some may<br />

be interested in pursuing these topics in further detail, and for these readers we can<br />

point to the following sources of information.<br />

The central idea of a model program that we present throughout the book is<br />

based on the theory of abstract state machines (ASMs) conceived by Yuri Gurevich<br />

in 1980s. An ASM is a formal way to describe the steps of an algorithm. It gives a<br />

mathematical view of program state (including the state of object-oriented systems<br />

and systems with complex structure). There is a well-developed body of scientific<br />

literature on the topic. Readers interested in ASMs may wish to see the ASM <strong>We</strong>b<br />

page maintained at the University of Michigan (ASM, 2006). Of particular interest<br />

is the “Lipari guide” (Gurevich, 1995).<br />

<strong>We</strong> also use ideas taken from finite automata, mathematical logic, and set theory.<br />

The composition of automata for language intersection is a core concept.<br />

A classic text that describes finite automata and their properties is Hopcroft and<br />

Ullman (1979). A useful and practical introduction to logic and set theory is found<br />

in Lipschutz (1998).<br />

A mathematically rigorous survey of assurance methods including modeling,<br />

testing, and static analysis appears in the book by Peled (2001).<br />

The ideas in this book were developed and made practical at Microsoft Research<br />

from 1999 through 2006 in the Foundations of Software Engineering group (FSE,<br />

2006).<br />

Other views of model-based testing appear in the books by Utting and Legeard<br />

(2006) and by Broy et al. (2005). This is an active research area where new methods<br />

and tools appear frequently. For a sample, see the papers by Tretmans (1999) and<br />

Hartman and Nagin (2004), and the references cited therein.<br />

Other work on particular aspects of modeling, testing, and analysis is discussed<br />

and cited in the later Further reading chapters (Chapters 9, 13, and 17).<br />

more free ebooks download links at:<br />

http://www.ebook-x.com<br />

53

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

Saved successfully!

Ooh no, something went wrong!