Effective Software Testing explores fifty critically important best practices, pitfalls, and solutions. Gleaned from the author's extensive practical experience, these concrete items will enable quality assurance professionals and test managers to immediately enhance their understanding and skills, avoid costly mistakes, and implement a state-of-the-art testing program.
This book places special emphasis on the integration of testing into all phases of the software development life cycle--from requirements definition to design and final coding. The fifty lessons provided here focus on the key aspects of software testing: test planning, design, documentation, execution, managing the testing team, unit testing, automated testing, nonfunctional testing, and more.
You will learn to:
Base testing efforts on a prioritized feature schedule
Estimate test preparation and execution
Define the testing team roles and responsibilities
Design test procedures as soon as requirements are available
Derive effective test cases from requirements
Avoid constraints and detailed data elements in test procedures
Make unit-test execution part of the build process
Use logging to increase system testability
Test automated test tools on an application prototype
Automate regression tests whenever possible
Avoid sole reliance on capture/playback
Conduct performance testing with production-sized databases
Tailor usability tests to the intended audience
Isolate the test environment from the development environment
Implement a defect tracking life cycle
Throughout the book, numerous real-world case studies and concrete examples illustrate the successful application of these important principles and techniques.
Effective Software Testing provides ready access to the expertise and advice of one of the world's foremost software quality and testing authorities.