11.2. Where Testing Fits into the Life Cycle
Another part of understanding project context is thinking about where the testing to be done fits into the overall system life cycle, the various phases, constituent activities, and dependencies among those activities. This is important because strategies, plans, and activities for test system development and test execution that would be ideal for one life cycle can be less helpful or even counterproductive for others. Since there are so many different life-cycle models defined, it's beyond the scope of this book to try to discuss each in detail. However, in the following subsections, I'll outline some of the major varieties I have encountered or that attendees at my test management seminars most often mention.
11.2.1. Common Life-Cycle Themes
Regardless of the specific life cycle chosen, the most successful projects I've worked on have some common themes in this area. One is that the testing is divided into phases (also referred to as "levels") as discussed in Chapter 1. Ideally, each phase should find all the bugs it can, leaving only those bugs specific to the subsequent phase to be found. For example, logic errors in specific functions or objects should be found during component testing, leaving data flow errors between functions or objects to be found during integration testing, which in turn leaves system performance problems to be found during system testing. The degree of formality and the number of phases tend to vary, but ...