Book description
This updated and reorganized fourth edition of Software Testing: A Craftsman's Approach applies the strong mathematics content of previous editions to a coherent treatment of Model-Based Testing for both code-based (structural) and specification-based (functional) testing. These techniques are extended from the usual unit testing discussions to full coverage of less understood levels integration and system testing.
The Fourth Edition:
- Emphasizes technical inspections and is supplemented by an appendix with a full package of documents required for a sample Use Case technical inspection
- Introduces an innovative approach that merges the Event-Driven Petri Nets from the earlier editions with the "Swim Lane" concept from the Unified Modeling Language (UML) that permits model-based testing for four levels of interaction among constituents in a System of Systems
- Introduces model-based development and provides an explanation of how to conduct testing within model-based development environments
- Presents a new section on methods for testing software in an Agile programming environment
- Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing
Thoroughly revised and updated, Software Testing: A Craftsman’s Approach, Fourth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing. Carrying on the tradition of previous editions, it will continue to serve as a valuable reference for software testers, developers, and engineers.
Table of contents
- Cover Page
- Title Page
- Copyright Page
- Preface to the Fourth Edition
- Preface to the Third Edition
- Preface to the Second Edition
- Preface to the First Edition
- Author
- Abstract
-
Part I: A Mathematical Context
- Chapter 1: A Perspective on Testing
- Chapter 2: Examples
- Chapter 3: Discrete Math for Testers
- Chapter 4: Graph Theory for Testers
-
Part II: Unit Testing
- Chapter 5: Boundary Value Testing
-
Chapter 6: Equivalence Class Testing
- 6.1 Equivalence Classes
- 6.2 Traditional Equivalence Class Testing
- 6.3 Improved Equivalence Class Testing
- 6.4 Equivalence Class Test Cases for the Triangle Problem
- 6.5 Equivalence Class Test Cases for the NextDate Function
- 6.6 Equivalence Class Test Cases for the Commission Problem
- 6.7 Edge Testing
- 6.8 Guidelines and Observations
- References
- Chapter 7: Decision Table–Based Testing
- Chapter 8: Path Testing
- Chapter 9: Data Flow Testing
- Chapter 10: Retrospective on Unit Testing
-
Part III: Beyond Unit Testing
- Chapter 11: Life Cycle–Based Testing
- Chapter 12: Model-Based Testing
- Chapter 13: Integration Testing
-
Chapter 14: System Testing
- 14.1 Threads
- 14.2 Basis Concepts for Requirements Specification
- 14.3 Model-Based Threads
- 14.4 Use Case–Based Threads
- 14.5 Long versus Short Use Cases
- 14.6 How Many Use Cases?
- 14.7 Coverage Metrics for System Testing
- 14.8 Supplemental Approaches to System Testing
- 14.9 Nonfunctional System Testing
- 14.10 Atomic System Function Testing Example
- References
-
Chapter 15: Object-Oriented Testing
- 15.1 Issues in Testing Object-Oriented Software
- 15.2 Example: ooNextDate
- 15.3 Object-Oriented Unit Testing
- 15.4 Object-Oriented Integration Testing
- 15.5 Object-Oriented System Testing
- References
- Chapter 16: Software Complexity
-
Chapter 17: Model-Based Testing for Systems of Systems
- 17.1 Characteristics of Systems of Systems
- 17.2 Sample Systems of Systems
- 17.3 Software Engineering for Systems of Systems
- 17.4 Communication Primitives for Systems of Systems
- 17.5 Effect of Systems of Systems Levels on Prompts
- References
- Chapter 18: Exploratory Testing
- Chapter 19: Test-Driven Development
- Chapter 20: A Closer Look at All Pairs Testing
- Chapter 21: Evaluating Test Cases
- Chapter 22: Software Technical Reviews
-
Chapter 23: Epilogue: Software Testing Excellence
- 23.1 Craftsmanship
- 23.2 Best Practices of Software Testing
-
23.3 My Top 10 Best Practices for Software Testing Excellence
- 23.3.1 Model-Driven Agile Development
- 23.3.2 Careful Definition and Identification of Levels of Testing
- 23.3.3 System-Level Model-Based Testing
- 23.3.4 System Testing Extensions
- 23.3.5 Incidence Matrices to Guide Regression Testing
- 23.3.6 Use of MM-Paths for Integration Testing
- 23.3.7 Intelligent Combination of Specification-Based and Code-Based Unit-Level Testing
- 23.3.8 Code Coverage Metrics Based on the Nature of Individual Units
- 23.3.9 Exploratory Testing during Maintenance
- 23.3.10 Test-Driven Development
- 23.4 Mapping Best Practices to Diverse Projects
- References
- Software Engineering & Systems Development
Product information
- Title: Software Testing, 4th Edition
- Author(s):
- Release date: October 2013
- Publisher(s): Auerbach Publications
- ISBN: 9781466560697
You might also like
book
Software Testing, 4th Edition
This practical guide provides insight into software testing, explaining the basics of the testing process and …
book
Software Testing, Second Edition
Software Testing, Second Edition provides practical insight into the world of software testing and quality assurance. …
book
The Art of Software Testing, Second Edition
This long-awaited revision of a bestseller provides a practical discussion of the nature and aims of …
book
Software Testing Foundations, 4th Edition, 4th Edition
Software Testing Foundations, 4th Edition provides the information necessary to pass the Certified Tester-Foundations Level exam, …