Distributed testing = test effort occurs at multiple locations
Outsourced testing = test effort is carried out at one or more locations by people who are not employees of the company and who are not co-located with the project team
In-sourced testing = test effort is carried out by people who are co-located with the project team but who are not fellow employees
Common across all such software test efforts is the need for clear channels of communication and well-defined expectations for missions, tasks, and deliverable:
- Project team must rely less on informal channels such as hallway conversations and colleagues spending social time together
- Important to have defined ways in which communication should occur, including topics as:
- escalation of problems
- types of information to be communicated
- methods of communication
- Everyone, on all sides of the team relationships, must have a clear understanding of their roles and responsibilities as well as the other parties’ roles
- Location, time zone, cultural and language differences make communication and expectation issues even more likely to arise
Common across all such test efforts is the need for alignment of methodologies:
- miss-alignment of methodologies is more likely to arise in situations where the work is distributed and/or performed by outside entities
- Significant problems, especially during test execution can occur if different testing groups use different methodologies, but also if different methodologies are used across development and testing.
For distributed testing, the division of the test work across the multiple locations must be explicit and intelligently decided:
- Without such guidance, the most competent group may not do the work for which they are qualified
- If each team doesn’t know what they are responsible for, they may not do what they are supposed to do
- Expectations for each of the teams must be clearly communicated
- Without careful management, the test work as a whole may suffer from gaps and overlap
For all such test efforts, it is critical that the entire project team develop and maintain trust that all of the test team(s) will carry out their roles properly in spite of organizational, cultural, language, and geographical boundaries.
Lack of trust leads to inefficiencies and delays associated with verifying activities, assigning blame and playing organizational politics. If a client is using Agile development, while the testing services provider has a predefined software testing methodology that assumes a sequential software testing life cycle, the timing and nature of delivery of test items to the testing services provider will be a point of contention.
This article is based on the ISTQB Advanced Syllabus version 2012 and it also references the ISTQB Foundation Syllabus version 2018. It uses terminology definitions from the ISTQB Glossary version 3.2.