Think of software testing as a system that comprises of processes, people and technology as components. Its essential for a test manager to understand the system and the variations associated to its components. Each system has a level of complexity and emit unique behaviours. When it comes to testing phase, a test manager becomes effective if he understands the variations in the processes so that he can measure, monitor and control the processes to achieve the goal.
Some of the example variations of a typical test phase are,
- What is the ideal defect fix turn around time to be assumed while planning daily run plan? (experience of Dev team, how much they are loaded on other activities are some variations)
- What is the testers effectiveness in finding valid defects? (tester's knowledge of the product under test, how the defect rejection rate looks like in previous cycles are variations)
- What is the expected defect leak level across test cycles? (initial cycles may have high leaks as the team is in the process of gaining knowledge)
- What is ability of test bed to behave like a real solution? (level of stubs, downsized servers, license restrictions - are variations)
- What is the testers daily productivity? (reliability on automation, tester experience, working in night shifts? - are variations)
- What is the psychology of the people? (people morale is a variation, there could be degraded quality of fix or test in last cycles of very large projects due to over stretched teams. On doubt of a defect, a tester may 'Pass' and the other may 'Fail' a test - largely depends on personality)
Without understanding the variations, the goals set on test metrics may accomplish nothing. A goal outside the control limit cannot be accomplished without changing the system. Project management has to be mindful of what the system can produce and set the realistic goals considering variations.
No comments:
Post a Comment