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 ...

Get Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.