Front matter
forewords
preface
acknowledgments
about this book
about the author
about the cover illustration
1 Effective and systematic software testing
1.1 Developers who test vs. developers who do not
1.2 Effective software testing for developers
Effective testing in the development process
Effective testing as an iterative process
Focusing on development and then on testing
The myth of “correctness by design”
The cost of testing
The meaning of effective and systematic
The role of test automation
1.3 Principles of software testing (or, why testing is so difficult)
Exhaustive testing is impossible
Knowing when to stop testing
Variability is important (the pesticide paradox)
Bugs happen in some places more than others