The number of roles simultaneously existing would depend on the size and scope of the testing activity. In a small organization in which there are a few testing professionals, one individual may assume the roles of both Test Analyst and Tester on a testing project. Similarly one person may assume the responsibilities of the Testing Manager and Test Team Leader if there is only one testing task or project to manage. A single person may also assume different roles on different projects. For example, a Test Analyst on one project may perform the role of Test Team Leader on another.
Test Manager:
This role should be created right from the beginning of the software development project and certainly not later than when the requirements gathering phase is over. The Test Manager has the responsibility to administer the organizational aspects of the testing process on a day-to-day basis and is responsible for ensuring that the individual testing projects produce the required products to the required standards of quality and within the specified constraints of time, resources and budget. He is also responsible for liaison with the development teams to ensure that they follow the Unit Testing and Independent Testing approach documented within the process. Test Manager reports to a senior management or director within the organization such as the Quality Assurance Manager or Information Technology Director. In large organizations and particularly those following a formal project management process, the Test Manager may also report to a Testing Program Board, which is responsible for the overall direction of the project management of the testing program.
Test Team Leader:
In small testing projects the Test Manager himself may play this role. In large projects this role needs to be created separately. This role should be in place after the test plan is ready and test environment is established. Test Team Leader is given the responsibility to carry out the day-to-day testing activities. His or Her responsibilities assigning tasks to one or more testers/test analysts, monitoring their progress against agreed upon plans, setting up and maintaining the testing project and ensuring the generation of the test artifacts. One or more Test Analysts and Testers report to the Test Team Leader who in turn reports to the Test Manager. During Acceptance Testing the Test Team Leader is responsible for coordinating with the User Representative and Operations Representative to obtain one or more users to perform Acceptance Testing, which is the responsibility of the customer.
Test Analyst:
The Test Analyst is responsible for the design and implementation of one or more Test Scripts/Test Cases, which will be used to accomplish the testing of the AUT. If the scope of testing activity is small, the Test Lead might end up doing many of tasks described here. The Test Analyst may also be called upon to assist the Test Team Leader in the generation of the Test Specification Document. During design of test case, the Test Analyst will need to analyze the Requirements Specification for the AUT to identify specific requirements that must be tested. He will need to prioritize the Test Cases to reflect the importance of the feature being validated and the risk of the feature failing during normal use of the AUT. On completion of testing project, the Test Analyst is responsible for the back-up and archival of all testing documentation and materials. He is also responsible for completing a Test Summary Report briefly describing the key points of the testing project.
Tester:
The Tester is primarily responsible for the execution of the Test Scripts/Test Cases created by the Test Analyst and for the interpretation and documentation of the results of the Test Case execution. During the test execution, the Tester is responsible for filling in the Test Results Record Forms to document the observed result of execution each test case and for co-signing the bottom for each form with the Independent Test Observer to confirm that the Test Case was followed correctly and the observed result recorded accurately. The Tester is also responsible for the recovery of the test environment in the event of failure of the system.
Independent Test Observer
The Independent Test Observer is responsible for providing independent verification that correct procedures are followed during the testing of the AUT. The Independent Test Observer is responsible for ensuring that the Tester executes the tests according to the instructions provided in the test cases. In organizations in which there is a formal Quality Assurance Group, Independent Test Observer may be drawn from the ranks of the Quality Assurance Representative. In small organizations where there is no formal Quality Assurance group, Independent Test Observer may be a staff member drawn from another group or project within the organization. The key criterion in selecting a Independent Test Observer is that she or he must be impartial and objective