When talking with potential customers about outsourcing a portion or all of their quality assurance functions, the most common push back I hear is, your testers do not understand my application and business process as well as my team. I would argue that not having in depth knowledge is both a pro and a con.
Many large companies have subject matter experts acting as testers. They have worked with an application for a long time, so they document high-level test cases and rely on experience to execute them. What happens when that person leaves? What if they miss a defect because they made an incorrect assumption based on how the application has always worked? Unfamiliar testers cannot make assumptions about how an application should work. They ask many questions, which forces the team to gather detailed requirements and document detailed test cases. While it can be good that the testing team is not an expert in the application or business process, it also means that it takes time from your team to ramp them up and answer their questions. If you use multiple vendors or turn over contract resources quickly, then you are in a constant state of onboarding new testers. So how do you get the benefit of a tester not being an “expert” on your application without spending all your time training the testing team?
An outsourced QA team does not know the ins and outs of your business but, given time, they learn enough about the applications and your business processes to write and execute test cases more efficiently. Since they do not know every detail of the business, they do not make dangerous assumptions about how the application should work. Outsourcing all or a portion of your QA to one vendor with a baseline team and the ability to easily scale gives you the benefit of both worlds. Cross training the baseline team of testers in all or a sub-set of your applications mitigates the risk of one resource having all the knowledge of the application and minimizes the impact of turnover. In addition, cross training maximizes efficiency and reduces cost because the team can swap between applications to eliminate downtime. This model also provides easily accessible scalability where the baseline team trains new team members, which allows you to focus on your real job instead of spending all your time training the new tester.