Allowing a testing specialist or a professional tester to test the application refers to the concept of independent testing of the system. This provided degree of independence prevents author bias and is generally more effective in finding defects and failures within the product or application.

There are several levels of independence testing which are given below in an increasing order of their independence

  • Tests conducted by the person who wrote the code
  • Tests done by another person from the same developing team, like a fellow programmer in the team
  • Tests conducted by a person from a different group, like an independent test team
  • Testing done by a person coming from a different organization or company like an outsourced testing team or a certified external body

When we talk about how independent the testing team really is, we actually mean range of the product and not the conditions. This can be further explained by the following points

  • At one end of the range lies absence of independence, where the programmer performs testing within the programming team
  • Then comes independence, here there is an integrated tester or a group of testers performing testing alongside the programmer, but still within the team and ultimately reporting to the development manager
  • Moving on to further independence, here there might be a team of testers who are working independently and outside the developing team, but ultimately reporting to the project management
  • Finally comes the complete independence, here there can be a separate testing team which is reporting to an organization holding equal power as that of development or project team. In this case, there is a high possibility of finding business domain specialists, technical specialists and testing specialists in a separate test team as a part of a much larger independent test team or maybe as a part of a contract or outsourced test team

Benefits of Independent Testing

For any given testing project, there are a many benefits of having an independent testing team. To explain this better, some of the benefits of independent testing are given below

  • An independent tester has the higher chance of finding more and different defects within the product than a tester who is working within a programming team or a tester who is actually a programmer by profession
  • Like business analysts, marketing staff, designers and programmers have their own assumptions regarding the specifications and implementation of the item put to test, an independent tester too has a completely different set of assumptions to test and review the product being tested, this often helps in finding defects which are generally hidden and can cause a lot of damage in future
  • An independent tester who can report to a senior management can report his results honestly and without any problems, whereas reporting the results to a co-worker or worse the manager, may not be as smooth as expected as they may have written the code themselves
  • An independent testing team often has a separate budget planned for them, which ensures the availability of a proper level of money which can be feasibly spent on tester training, testing tools, test equipment, etc.
  • Moreover, in some organizations, testers working in an independent testing team may find it much easier to have a career path that gives them higher opportunities of getting into senior roles in testing

Risks involved in Independent and Integrated Testing

Like there are benefits of independent testing, there are a few risks involved too. To understand this better, consider the following points

  • There is a high possibility that the testers and the testing team can get isolated. This can turn in the direction of interpersonal isolation from the programmers, designers and the project team itself, or it can also take the form of isolation from a broader view of quality and the business objectives
  • This can further lead to problems in communication, personal feelings of unfriendliness and even hostility
  • Lack of focus, identification and support for the project goals, spontaneous blaming and disrespect and also political backstabbing
  • Even the well-integrated testing teams can suffer problems in an organization. In this case, other project stakeholders might come to see the performance of the independent testing team, maybe rightly or wrongly seeing them as a bottleneck and a source of delay
  • In some cases, having an integrated testing team can make a programmer give up his sense of responsibility for quality thinking that there is a testing team to correct the mistakes so there is no need for the programmer to test his own code