Roles in the Testing Process


We have identified several important roles related to testing in a project. Each role is essential to the success of the testing aspect of the project. The test plan should schedule the testing responsibilities of each of these roles.

The people in each of these roles must plan the amount of time and effort that they will expend in testing. They must schedule their time relative to testing and any other obligations they must meet. The development schedule will drive much of the test scheduling. In this environment, testing will often be shortchanged if there is not a clear specification of levels of adequate test coverage and a commitment to quality. Our experience shows that the more active the integration test and system test people are in the total project the more likely it is that testing will be given appropriate resources.

We now describe each of the roles. One or more people can assume each role. One person can assume multiple roles, but you must be careful to keep the roles separate.

Class Tester

A class tester has the responsibility to test individual classes as they are produced. Part of the planning process is to coordinate the efforts of all of these individuals. The development community, through the project test plan, must agree on who will assume this role, the levels of coverage that will be considered adequate, and how these tests will be scheduled. Scheduling is particularly important given the relatively large number of artifacts to be tested and the need for a quick turnaround. If this role is taken by developers, as is often the case, then specific amounts of time must be allocated to the activity. This seems like an obvious statement, but many managers simply ignore this step when scheduling.

Integration Tester

An integration tester is responsible for testing a set of objects that are being brought together from different development sources, such as two development teams. They have the responsibility to test sufficient functionality to be certain that the various components from different development teams and/or outside vendors will work together correctly. This role is particularly important in a project that is using large frameworks that are still immature. People in this role should have both developer and testing skills.

System Tester

A system tester has domain knowledge and is responsible for independently verifying that the completed application satisfies the system requirements. System testers represent a user's perspective on the project. This is a valuable perspective to have even in the early planning phases of the project. One or more system testers should participate in use case modeling efforts and begin test case identification and construction during requirements definition.

Test Manager

A test manager is responsible for managing the test process. This may be a part-time role for one manager, or a role for a number of people who are dedicated to managing just the testing portion of the process. The role of the test manager is similar to that of any manager. The person is responsible for requesting, coordinating, and making effective use of the resources allocated to testing. Often this person will be assigned "matrix" authority over a set of developers. That is, the developers will report to the development manager and to the test manager as well. Developers in this role will assist in the construction of a test infrastructure.



A Practical Guide to Testing Object-Oriented Software
A Practical Guide to Testing Object-Oriented Software
ISBN: 0201325640
EAN: 2147483647
Year: 2005
Pages: 126

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net