Paul Ammann, PhD, is an Associate Professor of software engineering at George Mason University. He received an outstanding teaching award in 2007 from the Volgenau School of Information Technology and Engineering. Dr Ammann earned an AB degree in Computer Science from Dartmouth College, and MS and PhD degrees in computer science from the University of Virginia. Jeff Offutt, PhD, is a Professor of software engineering at George Mason University. He is editor-in-chief of the Journal of Software Testing, Verification and Reliability; chair of the steering committee for the IEEE International Conference on Software Testing, Verification, and Validation; and is on the editorial boards for several journals. He received the outstanding teacher award from the Volgenau School of Information Technology & Engineering in 2003. Dr Offutt earned a BS degree in Mathematics and Data Processing from Morehead State University, and MS and PhD degrees in computer science from the Georgia Institute of Technology.
'I read it, used the material in it, and found it very useful, insightful, and precise. Now that it is a real book, I hope to use it as a textbook in the future.' Lionel Briand, Simula Research Laboratory, Oslo, Norway 'This is a great book for learning software testing. The clear terminology definitions and comprehensive examples provide an easy way to master the software testing techniques. After reading this book I get the image: instead of experimental techniques, which you can only get through experience, the term software testing means a set of general scientific methods and criteria that can be applied to individual cases. I think, for people who work in or prepare to enter the software testing field, this book is definitely what you need in your hand.' Ling Liu, Research Professor, ETH Zurich 'There are a lot of testing books out there, some better than others. Most are narrow in the topics they cover and the level of detail they present. In stark contrast, Ammann and Offutt's book has the advantage of presenting concepts and techniques that cover the broad range of languages and platforms used in practice by industry and academia. Theirs is one of the most thorough and practical testing books ever published.' Roger Alexander, Associate Professor, Washington State University 'The book provides an excellent high level as well as detailed presentation of topics that are often difficult for students to master, such as: control flow graph coverage, data flow graph coverage (including all-defs, all-uses, all-du-paths criteria), graph coverage for use cases, logic coverage (predicate coverage, clause coverage), syntax-based testing, etc. In particular, the logic coverage Chapter took very complex concepts and made them understandable for the students. Also, the examples that appear in the book are very useful and are highly representative of what our students run into after they graduate and land jobs as developers and/or testers.' Jane Hayes, Associate Professor, University of Kentucky 'Where has this book been all these years? Your book reminds me why I wanted to study software testing in graduate school: testing touches on all the interesting theoretical/engineering models/representations for software.' Arthur Reyes, Associate Professor, University of Texas at Arlington 'This software testing textbook creatively uses only four models to capture current software testing techniques, helping students, researchers, and practitioners to deeply grasp these techniques from an abstract, systematic perspective. The textbook provides excellent balance between theory and practice!' Tao Xie, Assistant Professor, North Carolina State University