In a traditional, waterfall approach, up to 80 percent of the test project time can be spent planning the test effort and defining test cases (but not actually conducting any testing at all). Then toward the end of the lifecycle, 20 percent of the effort is typically spent running and debugging tests. Often an additional 20 percent (yes, we are now over budget!) is then required to fix anything in the product that did not pass the tests. The test philosophy in the RUP takes a different approach and can be summarized as a small set of principles:
MissionThe concept of an evaluation mission, as used in the RUP approach, has been derived from the work of James Bach in identifying different missions commonly adopted by software test teams . Bach advocates using a simple heuristic model for test planning. This model recognizes that different missions govern the activities and deliverables of the testing effort, and that selecting an appropriate mission is a key aspect of test planning. [4]
The evaluation mission identifies a simple statement the test team can remember in order to stay focused on their overall goal and appropriate deliverables for a given iteration. This is especially important in situations where the team is faced with a number of possibly conflicting missions. A test team without an evaluation mission often describes their goal with statements such as "We test everything" or "We just do testing." They're concerned with simply performing the test activities and overlook how those activities should be adjusted to suit the current project context or iteration context to achieve an appropriate goal. Mission statements shouldn't be too complex or incorporate too many conflicting goals. The best mission statements are simple, short, succinct ”and achievable. Here are some ideas for mission statements you might adopt for a given iteration:
Test CyclesA test cycle is a period of independent test activity that includes, among other things, the execution and evaluation of tests. Each iteration can contain multiple test cycles ”the majority of iterations contain at least one. Each test cycle starts with the assessment of a software build's stability before it's accepted by the test team for more thorough and detailed testing. The RUP recommends that each build be regarded as potentially requiring a cycle of testing (that is, a test cycle), but there is no strong coupling between build and test cycle. If each build may be "smoke- tested " to verify the build process, a test cycle may be longer than the build. Typically, Inception iterations of new projects don't produce builds, but iterations in all other phases do. Although each build is a potential candidate for a cycle of testing, there are various reasons why you might not decide to test every software build. Sometimes it will be appropriate to distribute the work effort to test a single software build across multiple test cycles. |