Software Testing Outsourcing – Best Practices

We have been working in the software testing outsourcing industry for over 6 years now. Our end goal is to work with our clients to test their software and ultimately raise it’s quality. Over the years in working with our clients, we’ve developed some best practices that our clients expect and that we’d like to share:

  • Clarify requirements: Outsourcing testing demands an unambiguous work scope. If your client doesn’t provide them, then you must clarify the requirements and write them down. Don’t wait; make it easy for the client to work with you. Both sides should review the scope frequently to check whether there are any conflicts or ambiguities.
  • Create a sense of team with the customer: Become a part of the client’s team, not a distant add-on. Know who the players are, what their habits are, and their development schedule so that you can fit yourself into their processes. Harmonize with the development team, keep in step with their rhythm, adopt their vision.
  • Use different time zones as an advantage: For example, let’s assume that the developers work in the US and the testers work in Europe. After developers in America accomplish their work for the day, they can release their build to testers in Europe for testing whose day begins hours later. Use the time intersection to communicate while using your clients’ down time to get lots of work done and show them the results when they come in the next day.
  • Expedite communication: Timely communication is required when outsourcing testing to avoid information asymmetry. Many tools can be used like instant messaging (Google Talk, MSN), email or SMS, shared documents and dashboards, issue tracking systems, configuration management tools, screen sharing, etc. Both sides should agree on the communication channels before the project starts.
  • Emphasize good written language skills: English is the international language of business. Many times, English is the second language for both the customer and the outsourcing team. This can be a challenge when communicating over email frequently. Smooth and effective communication between the client and the outsourced QA team is one of the most important factors for project success. Make sure your communication is concise, complete, and accurate.
  • Be flexible and adaptable: Companies have their own workflow and processes. As an outsourcing company, we follow our clients’ QA processes, so it requires flexible teams to provide service for them. The outsourced testing team should have the ability to learn new workflows and processes very quickly, and be able to adapt to a new work style when working with a new client.
  • Be the expert: Be the expert in the area that the client expects you to be the experts – QA and testing. Be or become a domain expert, e.g. financial software. Emphasize your knowledge and ability to apply that knowledge to thoroughly test your client’s product. And last but not least, become an expert in the client’s specific application.
  • Understand the cost structure of your customer: Your client is outsourcing to you because you can provide a service in a more cost effective way than if they did it themselves. Or maybe you are providing expertise that is too costly to hire and bring in-house. Understanding the particular situation for each of your clients will provide a guide for you to know if you are pricing yourself out of a job, or if there is a wider scope of services for you to provide.
  • Prioritize communication: Although this is implied in most of the items on this list, it can’t be over emphasized. Communicate with a purpose. Don’t just inundate your customer with information. Communication must be selective. Make sure the right information and analysis goes to the right person. A developer may appreciate lots of technical detail whereas the development manager wants schedule information.
  • Be visible: Not enough visibility with key managers in your client’s company can be disastrous because you want your value seen throughout the client. As only part of the testing team, it may be difficult to attain greater visibility. First, you need to identify key managers and then give them periodic updates, statuses and results (especially if they are good!). Visit the client and make it a point to see and talk to those key managers, even if it is only for a few minutes.

The software testing outsourcing services that XBOSoft provides gives our clients greater budget flexibility and control while enabling them to pay for only the services they need, when they need them, rather than having a full time QA staff. It also brings in fresh engineering expertise, domain experience outside their application, and an independent eye. The best practices listed above are just the tip of the iceberg in how we have built our business and why our clients keep raving about us!