Paul Ammann, Jeff OffuttCambridge University PressEdition: 2, 12/13/2016EAN 9781107172012, ISBN10: 1107172012Hardcover, 364 pages, 25.9 x 18.3 x 5.1 cmLanguage: EnglishThis 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.PrefacePart I. Foundations1. Why do we test software?2. Model-driven test design3. Test automation4. Putting testing first5. Criteria-based test designPart II. Coverage Criteria6. Input space partitioning7. Graph coverage8. Logic coverage9. Syntax-based testingPart III. Testing in Practice10. Managing the test process11. Writing test plans12. Test implementation13. Regression testing for evolving software14. Writing effective test oraclesList of criteria.