Testing even a simple system is a potentially infinite task. With tight budgets and schedules, testers need practical techniques, hands-on experience and the right strategies to effectively and efficiently test software.
This book puts those things right in the palm of your hands, literally. Through a sequence of thorough, practical, and, I hope, well-explained chapters, you’ll learn the following skills that are critical to software testing:
How to analyze the risks to system quality and allocate your testing effort appropriately based on the level of risk.
Different testing strategies and how to choose the right strategies every time, including effective strategies for handling regression testing.
How to design tests based on a system’s expected behavior (black box), including boundary values, equivalence partitioning, decision tables, use cases, state diagrams and tables, all-pairs tables, orthogonal arrays, and domain analysis
How to design tests based on a system’s internal structure (white box), including levels of code coverage, data-flow coverage, and basis-path coverage
How to plan and perform integration testing
How to use your intuition, experience, and knowledge to explore and attack the system
How to make all your hard work serve the needs of the project
Because testing is a hands-on activity, this book includes 11 complete chapters of realistic, life-sized exercises illustrating all the major test techniques, with detailed solutions.
If you’ve never read a book on test ...