Testing can fit into the structure of an organization in different ways. While everyone involved with software development is responsible for product quality, a testing team is capable of making important contributions to the overall product quality. A Test Manager must know how to manage the testing team and its deliverables at different levels of independence.
The level of independence of the testing team can vary significantly from one organization to another, depending on the organization.
The different levels of independence of the testing team are listed below from the least independent to the most:
- No independent testers, same developer codes and tests
- Testing is done by the same programmer who wrote the code
- If given the required time, the developer checks if the code runs as intended, this may not match the requirements that were actually given
- The defects can be fixed quickly by the developer
- A developer performs the tests on code written by some other developer
- Very little or no independence for the developer tester from developer coder (the person who wrote the code)
- The tester might be not so keen on reporting defects in code written by a fellow developer
- Developers usually focus on test cases which are positive
- Testing team or tester is a subset of development team
- Testing team or individual tester reports to development / project manager
- Focus is on testing requirements adherence
- Development responsibilities might be added on to testing responsibilities for the tester
- Test manager could perhaps be motivated to meet project schedules rather than goals for test quality
- Development could perhaps be awarded higher status than the testing activity
- Testers or the test team may not have sufficient powers to impact quality goals or ensure adherence to them
- Testing is performed by test experts from user groups, business teams and other technical departments not involved in development
- Testing results are reported accurately to stakeholders
- Chief focus of this group is on product quality
- Training and skill development are performed based on testing requirements
- Testing is considered as the career path
- No fixed management for ensuring quality focus of the testing team
- Testing on particular types of tests are performed by external test experts
- Expert tests are performed for product areas where general testing may not be sufficient
- Some of the test types include security testing, performance testing, usability testing or any other areas where expertise is essential in testing it
- Each team member focuses on quality but in his or her area of expertise
- For example – An application may achieve good performance but functional defects may not be detected by an expert in performance testing
- Testing is performed by external company which is outside the organizations
- The independence between developer and software testing team is maximum in this model
- Transfer of knowledge may perhaps not be adequate, resulting in ineffective testing by the tester
- A pre-defined communication protocol and unambiguous requirements are essential
- Periodic auditing of the external testing organization’s quality is necessary
The list given here is derived from the points on which individuals usually focus. However, it may not apply to organizations. The title and role of a person may not decide the focus of a person. So, apart from Test Managers even Development Managers may focus on quality.
If independent Test Managers have a management chain that focuses on schedule, the test manager may become schedule focused too rather than quality. Test Managers need to understand organizational goals to determine their team’s position within it.
Testing and development teams work under varying levels of independence. A trade-off may be involved if there is more independence resulting in higher degree of isolation and lower levels of knowledge transfer.
If there is more dependence between the two organizations, there may be more exchange of information but it may result in goal conflict too. The model used for software development also determines how independent the testing team is.
In case of Agile development, testers are usually embedded in the developing team as an integral part.
An organization may perform testing in any independence levels discussed above and also a combination of two or more levels. So, the testing done by internal teams may further be certified by external specialists or organizations.
Whatever the testing style adopted, it is essential to understand responsibilities associated with every testing phase, as also specify the requirements for maximizing product quality while adhering to development schedule and project budgets.
In the next topic we find out how Test Managers can motivate software testing teams.
Other popular articles:
- What is independent testing? It’s benefits and risks
- What is the Psychology of testing?
- What are organizational options for independent testing in Agile development?
- What is the Role and Skills of a Tester in Agile Methodology?
- How to manage hiring & team dynamics as a Test Manager?
Leave a Reply