Jonathan JackyCambridge University Press, 1/31/2008EAN 9780521687614, ISBN10: 0521687616Paperback, 366 pages, 23.4 x 17.5 x 1.5 cmLanguage: EnglishOriginally published in EnglishThis book teaches model-based analysis and model-based testing, with important new ways to write and analyze software specifications and designs, generate test cases, and check the results of test runs. These methods increase the automation in each of these steps, making them more timely, more thorough, and more effective. Using a familiar programming language, testers and analysts will learn to write models that describe how a program is supposed to behave. The authors work through several realistic case studies in depth and detail, using a toolkit built on the C# language and the .NET framework. Readers can also apply the methods in analyzing and testing systems in many other languages and frameworks. Intended for professional software developers including testers, and for university students, this book is suitable for courses on software engineering, testing, specification, or applications of formal methods.Part I. Overview1. Describe, analyze, test2. Why we need model-based testing3. Why we need model-based analysis4. Further readingPart II. Systems with Finite Models5. Model programs6. Exploring and analyzing finite models7. Structuring model programs with features and composition8. Testing closed systems9. Further readingPart III. Systems with Complex States10. Modeling systems with structured state11. Analyzing systems with complex state12. Testing systems with complex state13. Further readingPart IV. Advanced Topics14. Compositional modeling15. Modeling objects16. Reactive systems17. Further readingPart V. AppendicesA. Modeling library referenceB. Command referenceC. GlossaryD. Index.