Outsource testing can be a great way to get testing tasks accomplished when short on staff or equipment. Outsourcing can also be a great way to complement an existing QA group. However, it can also be a very costly approach towards testing and may not always be the best solution for a project. This paper will address how to define needs, evaluate labs and ways to merge an outsource effort into an existing staff.
Outsource testing tasks are those which are carried out by a third party. These tasks can include test strategy, planning, execution, and or automation. Tasks are typically done offsite but may also be done on site. Additionally there is the option of integrating tasks into a current test process at any point in the project lifecycle.
Managers—Know the Options
As a QA manager it is important to know all resource options. The software world can change quickly; projects can come in and out before you know what hit. Maintaining a top-notch team and or equipment is not always possible. There is a very real shortage of talented test engineers and project managers, so building a relationship with a good third party test vendor can be a lifesaver. Outsource test engineers can also be integrated into an existing QA organization. This integration allows the chance to ramp up the test effort and get the use of additional hardware. Once the project is over, there is an opportunity to scale back the test group and the excess hardware.
Besides using the test lab vendors, test tool manufacturers may be of some help. Some test tool companies provide full service consulting with the purchase of the tool. If ramp-up time is an issue, their engineers are already up to speed with the tool and can get right to your application. Regardless of the outsource option, each effort is going to take time to get budgeted and staffed. It is important for you to allot enough time to evaluate solutions.
Determine Need —Create outsource criteria
When a project starts, ask the following questions. This will determine which areas need attention.
- Are the test personnel available to complete this project?
- What does the delivery schedule look like?
Is there enough time to hire and train staff for the project? If staffing is an issue, a testlab with strong testers can fill in an immediate need.
- Is the hardware correct?
Hardware can be a huge capital expense. In some cases, the bulk of the functional testing can take place in one or two target platforms. If the testplans are well written, then there is an option to outsource hardware configuration testing. This allows access to the latest machines, and additional test resources to test in parallel with the current staff.
- Are there product requirements or specifications?
Requirements are essential for good test planning and strategizing. This is especially true in an outsource effort where vendors have little or no knowledge of the application. Good specifications also allow for better testplans and testcases.
- Is there a test strategy or plan?
A test strategy is a document, which provides the testing approach. It typically is the first document a test group will create and is the basis for other QA deliverables. A good strategy will cover test styles, tools used, summary of test cases and what is in and out of test scope. If possible create this document in-house. If the vendor does it, then control of project shifts to the vendor. Only do this if the entire QA effort is to be outsource.
- Are there any special skill sets needed to complete my project?
- Is there a need for testers with expertise in a product area (e.g., finance etc.)?
Some software applications require explicit subject matter expertise. If the current staff does not have this knowledge, there may be a need to outsource.
- Is there a need to automate?
Automation is still an uncommon skillset, in many organizations. Even if there are experienced automation personnel, they may have time constraints. . If automation is a