Independent Software Testing
What is independent testing?
Software testing can be done by people who are specialized and specific to the testing such as QA, QE, SDET, or people in another role such as customers, users, etc. But Independent testing corresponds to an independent team, which engages in investigations other than the developer to prevent author bias, and is often more efficient at finding flaws and failures. Because of the differences between the cognitive basis of the author and the examiner, some level of independent investigation makes it more efficient for investigators to find shortcomings.
Levels of independent testing
Below are the degrees of independence testing from low level to high level,
- No independent testers: As an example developers testing their own code.
- Independent developers or testers within the development teams or the project team: as example developers testing their colleagues’ products.
- Independent test team or group within the organization, reporting to project management or executive management.
- Independent testers from the business organization or user community, or with specializations in specific test types such as usability, security, performance, regulatory or compliance, or portability.
- Independent testers external to the organization, either working on-site or off-site.
Depending on the software development lifecycle model, testing independence is implemented in different ways. In Agile development, for example, testers may be part of the development team. These testers may also be considered part of a broader independent test team in some Agile organizations. Furthermore, product owners in such organizations may do acceptance testing to confirm user stories at the end of each iteration.
Benefits and Risks
Benefits of the Independent testing,
- Because of their various backgrounds, technological viewpoints, and prejudices, independent testers are more likely to notice distinct types of problems than developers.
- During the specification and implementation of the system, an independent tester can verify, dispute, or reject assumptions made by stakeholders.
- Without the (political) pressure of the organization that hired them, independent testers of a vendor can report on the system under test in an honest and objective manner.
Risks of Independent testing,
- Isolation from the development team might result in a lack of engagement, delays in delivering input, or a hostile relationship with the development team.
- Developers may lose their sense of quality control.
- Independent testers may be viewed as a stumbling block.
- Some critical information may be missing from independent testers (e.g.: about the test object).