Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional

Book Description

A hands-on guide to testing techniques that deliver reliable
software and systems

Testing even a simple system can quickly turn into a potentially
infinite task. Faced with tight costs and schedules, testers need
to have a toolkit of practical techniques combined with hands-on
experience and the right strategies in order to complete a
successful project. World-renowned testing expert Rex Black
provides you with the proven methods and concepts that test
professionals must know. He presents you with the fundamental
techniques for testing and clearly shows you how to select and
apply successful strategies to test a system with budget and time
constraints.

Black begins by discussing the goals and tactics of effective and
efficient testing. Next, he lays the foundation of his technique
for risk-based testing, explaining how to analyze, prioritize, and
document risks to the quality of the system using both informal and
formal techniques. He then clearly describes how to design,
develop, and, ultimately, document various kinds of tests. Because
this is a hands-on activity, Black includes realistic, life-sized
exercises that illustrate all of the major test techniques with
detailed solutions.

By the end of this book, you'll know more about the nuts and bolts
of testing than most testers learn in an entire career, and you'll
be ready to put those ideas into action on your next test
project.

With the help of real-world examples integrated throughout the
chapters, you'll discover how to:
* Analyze the risks to system quality
* Allocate your testing effort appropriately based on the level of
risk
* Choose the right testing strategies every time
* Design tests based on a system's expected behavior (black box) or
internal structure (white box)
* Plan and perform integration testing
* Explore and attack the system
* Focus your hard work to serve the needs of the project

The author's companion Web site provides exercises, tips, and
techniques that can be used to gain valuable experience and
effectively test software and systems.