Selection of a software testing services vendor - Tips and recommendations
"We might spend much more time on selecting an outsourcing vendor," according to recent surveys, that is an opinion of 7 out of 10 executives whose companies are involved in outsourcing.
The recommendations given below reflect TestFort's 15-year experience in the IT outsourcing market. Of course, they are not a cure for all problems and require adaptation to your situation. Nevertheless, we will be glad if they help you to avoid some mistakes in a vendor selection.
1. Specialization in software testing
A company for which software testing services are the only source of income has to be more effective and more responsible than IT vendors of the "all-in-one" type (e.g., software development services + testing + applications / IT infrastructure maintenance + etc.). Best-of-breed specialized professionals are equipped better, trained better and, as a rule, their results are better.
Another typical mistake is to outsource both software development and its testing to one and the same vendor.
Companies with a proven track record, goodwill in the outsourcing market and personnel seasoned in software testing are preferable. Make sure to pay your attention to company’s portfolio – it should contain testing projects which are relevant to yours. Thus you can be sure that this vendor has experience in your field.
3. Relations with customers
Companies aimed at long-term partnership are the best choice because their goal is to do their best, uphold their reputation and, as a result, add real value to the customer's business rather than get a one-time project at any price. So make sure that there are long-term projects in a vendor's portfolio and they can provide contacts to speak with such customers.
Hint: Partnership-oriented testing company usually implements one-time (single-task) projects as well. In other words, a long-term project isn't a mandatory requirement of service rendering.
4. Business model and contract flexibility
It is a very important aspect in today's fast-paced and dynamically changing business environment. Find out which business models the vendor can offer and if there is at least one model that matches your project requirements. Also learn about possibility of a pilot project, team resizing and technology change.
When choosing a vendor you must be sure that all information will be secured and protected with all the necessary documents. Key areas of your project confidentiality and IP protection must include Non-Disclosure Agreements with you as well as with testers. Vendor’s office with a high level of security also would be advantageous.
6. Communication process and infrastructure
Regular communication is extremely important for the project success especially at the initial stage of cooperation. Find out the ways on how the vendor's specialists can communicate with your team and make sure that there is high-bandwidth Internet, IMs, VoIP and phones. Also feel free to ask about a dedicated manager who will communicate with and support your company.
7. Vertical expertise
Find out about business domains, industries, technologies at which the vendor is mostly proficient and whether this experience meets your testing needs. In some cases this criterion isn't the most crucial one. Nevertheless, usually the deeper the vendor understands the application and environment in which it is used, the better testing results are.
8. Documentation standards
A testing company delivers you a package of documentation: test plan, test cases, test scripts, test reports, test statistics, and recommendations as for software quality improvement. But you should also be aware of documentation templates that are used by the vendor, the testing documentation standards they are based on, tools that can be used for documentation preparation and bug reporting and the ways in which you can have online access to them.
9. Testing infrastructure
Make sure that the vendor has infrastructure necessary and sufficient for comprehensive testing of your software product. It could be necessary software (operating systems, drivers, browsers, e-mail agents, etc.) and hardware (PCs, mobile/wireless devices, network equipment, etc.) as well as testing tools (automated testing tools, bug trackers, metrics tools, and so on).
10. Managerial and production processes adjustability and compatibility
Last but not least: ensure that vendor's management style is compatible with yours. Note: not only formally compatible with ISO or CMMI standards but first of all consistent with YOUR company processes and practice. The aspiration of itself to certification (widespread in countries with process-oriented cultures like India and less spread in result-oriented countries like the USA or Ukraine) is not 100% guarantee of successful cooperation. For example, the vendor is CMMI level 5 certified, your company is not, and, as a result, you speak different managerial languages what can be a crucial point.
In fact, established ISO (CMMI) like style of management, proper commitment to your project, responsibility, technical proficiency, striving to discuss problems timely and resolve them in a frank and mutually acceptable manner, regular communication and reporting usually provide a good basis for the testing project success.
Some more recommendations see in the section Outsourced software testing project - How it can work in practice.