Practical Software Testing: A Process-Oriented Approach

Various classes of software defects have been described in previous chapters. This knowledge is important to us as testers. We use our understanding of defect classes to develop defect hypotheses. We also use our understanding of both static and dynamic testing techniques to develop test cases based on these hypotheses for defect detection. In addition to our work in defect detection, we as testers have an additional set of defect-related goals. These goals are to:
analyze defects to find their root causes;
take actions and make changes
in our overall development processes;
in our testing process;
prevent defects from reoccurring.
The TMM maturity goals support us with these objectives. When we do the work to achieve the maturity goals at TMM levels 2 5 we acquire the necessary policies, tools, plans, training, and techniques that allow us to prevent defects from reoccurring in our software deliverables, both internal and external. Internal deliverables include, for example, design documents and test-related items such as test plans, test cases, and test procedures. External deliverables include the code, system, and user manuals that are delivered to the client.
Defect analysis and defect prevention are activities that are of increasing importance as the software we develop becomes more complex and has greater and greater impact on our safely, health, and financial well-being. We as testers need to be involved in defect prevention activities since we have expertise and motivation to carry out the necessary tasks. We want to apply these activities to...