This extensively classroom-tested text takes an innovative approach to explaining software testing that defines it as the process of applying a few precise, general-purpose criteria to a structure or model of the software. The book incorporates cutting-edge developments, including techniques to test modern types of software such as OO, web applications, and embedded software. This revised second edition significantly expands coverage of the basics, thoroughly discussing test automaton frameworks, and it adds new, improved examples and numerous exercises. The theory of coverage criteria is carefully and cleanly explained to help students understand concepts before delving into practical applications, while extensive use of the JUnit test framework gives students practical experience in a test framework popular in the industry. Exercises, meanwhile, feature specifically tailored tools that allow students to check their own work. The book's website also offers an instructor's manual, PowerPoint slides, testing tools for students, and example software programs in Java.Read more
- Includes five chapters on the foundations of software testing to provide students with a strong background in the subject
- Separates the theory from its application during software development for each family of coverage criteria, making it easier for students to grasp the underlying concepts
- Presents the JUnit test framework for both ordinary tests and advanced JUnit features, demonstrating the rationale for different ways of writing tests
Reviews & endorsements
Review of the first edition: 'I think this is a great testing book, both from academic and industrial perspectives. I believe Ammann and Offutt's book will become the testing textbook of choice. 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, Washington State UniversitySee more reviews
Review of the first edition: '… well written, logically organized, and provides excellent examples as well as useful course materials (such as homework assignments and quizzes) … greatly facilitates the teaching and learning process. I plan to … use the Ammann and Offutt text [again] … students … complimented the book in their student evaluations (a very rare occurrence) … [it] 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) [and] syntax-based testing … 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, University of Kentucky
Review of the first edition: '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, North Carolina State University
Review of the first edition: '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 … for people who work in or [are] prepar[ing] to enter the software testing field, this book is definitely what you need in your hand.' Ling Liu, ETH Zurich
Review of the first edition: 'Where has this book been all these years? [It] 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, University of Texas, Arlington
Review of the first edition: 'These two leading researchers provide an excellent exposition of the recent advancement of software testing in a manner that is suitable for classroom use. Theoretical concepts are covered rigorously and in practical contexts allowing students to build a solid foundation while being well-connected to the real applications. The abundant examples and exercises make both teaching and learning a more tangible task. In addition to classroom use, the balanced coverage of theory and application also makes the book a valuable addition to the practitioner's bookshelf.' Jeff Lei, University of Texas, Arlington
Review of the first edition: 'The authors logically break down the discussion into four key coverage criteria: graph-based, logic-based, syntax-based, and partition-based testing. They provide a solid theoretical presentation of software testing and test coverage criteria … A concise but brief introduction to software testing.' R. S. Stansbury, Choice
Advance praise: 'My favorite text book on software testing just became even better! I particularly like the new chapters on model-driven testing, JUnit, test plans and test oracles. As before it covers testing concepts and techniques that are important for students and practitioners alike. The new edition is still compact, the writing insightful and easily understandable. A must for any software engineering library.' Anneliese Amschler Andrews, University of Denver
Advance praise: 'Software testing is one of the most important activities currently undertaken by our species, underpinning international security, social interaction, healthcare, transport, and economic well-being. No economic sector nor human activity remains untouched by software testing, yet it remains poorly understood, inefficient and often insufficiently effective, thereby requiring textbooks just such as this. This is an excellent introduction to software testing, covering principles, foundations, techniques and test management. It will be an invaluable book for practitioners, students and researchers alike. The authors, Paul Amman and Jeff Offutt, are both highly accomplished authors, and outstanding internationally-leading scholars, who have significantly advanced the field of software testing themselves, and are, therefore, well-placed to provide an introduction to this is critical field of science and engineering.' Mark Harman, Head of Software Systems Engineering, University College London
Advance praise: 'This book manages to capture - in a concise, clear, and precise form - the most important concepts pertaining to software testing. This is the best introduction to the topic that is available, as it includes many theoretical and practical insights that will provide the readers with a solid foundation in the subject matter.' Lionel Briand, University of Luxembourg
Advance praise: '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! The 2nd edition includes valuable new contents to allow readers to learn these software testing techniques in common settings in industrial practices.' Tao Xie, University of Illinois, Urbana-Champaign
Not yet reviewed
Be the first to review
Review was not posted due to profanity×
- Edition: 2nd Edition
- Date Published: December 2016
- format: Hardback
- isbn: 9781107172012
- length: 364 pages
- dimensions: 260 x 184 x 50 mm
- weight: 0.95kg
- contains: 79 b/w illus.
Table of Contents
Part I. Foundations:
1. Why do we test software?
2. Model-driven test design
3. Test automation
4. Putting testing first
5. Criteria-based test design
Part II. Coverage Criteria:
6. Input space partitioning
7. Graph coverage
8. Logic coverage
9. Syntax-based testing
Part III. Testing in Practice:
10. Managing the test process
11. Writing test plans
12. Test implementation
13. Regression testing for evolving software
14. Writing effective test oracles
List of criteria.
Welcome to the resources site
Here you will find free-of-charge online materials to accompany this book. The range of materials we provide across our academic and higher education titles are an integral part of the book package whether you are a student, instructor, researcher or professional.
Find resources associated with this titleYour search for '' returned .
Type Name Unlocked * Format Size
*This title has one or more locked files and access is given only to lecturers adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.
These resources are provided free of charge by Cambridge University Press with permission of the author of the corresponding work, but are subject to copyright. You are permitted to view, print and download these resources for your own personal use only, provided any copyright lines on the resources are not removed or altered in any way. Any other use, including but not limited to distribution of the resources in modified form, or via electronic or other media, is strictly prohibited unless you have permission from the author of the corresponding work and provided you give appropriate acknowledgement of the source.
If you are having problems accessing these resources please email email@example.com
Sorry, this resource is locked
Please register or sign in to request access. If you are having problems accessing these resources please email firstname.lastname@example.orgRegister Sign in
You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner www.ebooks.com. Please see the permission section of the www.ebooks.com catalogue page for details of the print & copy limits on our eBooks.Continue ×