Testing is an important part of any software project. One or two testers are not sufficient to perform testing, especially if the project is too complex and large. Therefore, many testers are required at various levels. Below figure shows the different types of testers in a hierarchy.
A test manager occupies the top level in the hierarchy and has the following responsibilities:
(i) He/She is the key person in the testing group, who will interact with project management, quality assurance, and marketing staff.
(ii) Takes responsibility for making test strategies with detailed master planning and schedule.
(iii) Interacts with customers regarding quality issues
(iv) Acquires all the testing resources including tools
(v) Monitors the progress of testing and controls the events,
(vi) Participates in all static verification meetings
(vii) Hires, fires, and evaluates the test team members
The next tester in the hierarchy is the test leader who assists the test manager in meeting testing and quality goals. The prime responsibility of a test leader is to lead a team of test engineers. The following are his/her responsibilities:
(i) Planning the testing tasks given by the test manager
(ii) Assigning testing tasks to test engineers who are working under him/her
(iii) Supervising test engineers.
(iv) Helping the test engineers in test case design, execution, and reporting
(v) Providing tool training, if required
(vi) Interacting with customers
Test engineers are highly experienced testers. They work under the leadership of the test leader. They are responsible for the following tasks:
(i) Designing test cases
(ii) Developing test harness
(iii) Setting-up test laboratories and environment
(iv) Maintaining the test and defect repositories
Junior Test Engineers
Junior test engineers are newly hired testers. They usually are trained about the test strategy, test process, and testing tools. They participate in test design and execution with experienced test engineers.