How to choose QA company for your product testing?
When you want to run tests for your product, how do you choose the company to run them? what are your criteria for selecting the right one?
I would suggest choosing a company that writes thorough test scripts based on the requirements. Choose a company that asks lots of questions about the business solution... and not just questions about the straight line path of how the software is supposed to work - rather questions about the exceptions. Any decent developer can code a product for use strictly as intended. A valuable testing firm will uncover flaws in the code when customers don't use the product as the developer intended. Outsourcing QA can be a great best practice because an outside firm can be more objective and perhaps less emotional about the code. You want them to try and break your software to help you produce a better product.
I find it's always better to involve a test lead in the requirements discussions from the very beginning. As requirements and features are being defined, someone should be responsible for making sure it's testable and defining how it's going to be tested. Write the test script when the requirements are written. When possible, write test harnesses and leverage automated testing. It's more work up front, but will pay off big time down the road when releasing enhancements or newer versions. Personally I recommend SLI Global as the best testing company I've worked with.
To be honest I've never thought outsourcing QA to be a good idea. However if you want to do that then you still need a QA on your site to oversee it all.
Your criteria would be the same as any outsourcing contract: skill, experience, methodology, tools, rates, references. Plus I like to factor in language skills and time zone. They need to be located in a time zone that allows for real time conversation without anyone having to work too far outside normal hours (for them) to facilitate that. For example, countries like Vietnam are not in a good time zone for the USA.
The trouble without sourcing is you are usually outsourcing to a company and not a specific team or individual and in my experience assigned resources can switch mid-project or even mid-test phase due to unannounced, let alone approved by me, vacations. When that happens there is no possibility of knowledge transfer and as a result testing can become ineffective as the overall big picture is lost. Hence why you need a QA on your end.
That being said I have found outsourcing to Eastern Europe such as Ukraine more successful than outsourcing to China or India.
And with any outsourcing watch for the "bait and switch" where your first project is quoted low as a loss leader to get your business and after that the rates go up.
I have done this in the past. I could successfully find one such based in India and I am very happy so far.
When I tried to search one such through linkedin I received an overwhelming response. I shortlisted number of such companies. Then I ran a small competition. I provided them with the product details and asked them to come up with the test plan. I also gave them to test an application which had lot of bugs. I did evaluate their results and this helped me to check who came up with good bugs. Of course I did check on other things like rate, references, location, skill, methodology, experience.
Ron - When you decide to outsource, think of two main things. One, outsourcing requires disciplined approach to delivery management. So if your house is not in order, please do not outsource. A car can not drive with two aligned and two mis-aligned wheels. Outsourcing is about using a partner to mitigate risks which you o'wise can not manage internally. It means you need to manage your process of development and ensure you follow the process to the letter about documentation, traceability, defect management, release management, build management and if you are going to provide the environments, apply proper config management disciplines.
To select a partner, conduct a well defined RFP and validate their credentials against technology knowledge requirements, test strategy, skill mix in the team and most important, investments they promise on skill development and maintenance. There is a lot to look into. Ultimately, it is building and nurturing a partnership and will require transparency, openness and proactive management of issues.
If you need help, I can surely provide further guidance.
I would, through talking with the staff, find out if they have a similar value system to your customers. So that they will test it the same way it will be used, and not just test it based on criteria.
Use utest.com or usertesting.com depending what kind of testing you need; if it is for testing web or mobile app; exploratory functional testing is good enough with no test scripts...if you develop games apps and repetitive actions type apps; you then need them to create detailed test scripts...
To evaluate the outsourced team (which I recommend as it may be needed at certain stages of development)- get them to give you a quick free trial; to test your product and come up with test scripts, bugs and suggestions.
The company should help you define requirements for the deliverable. They should help define what are passing and failing criteria. Does the company provide a report?
I would suggest that first you come up with the exact requirements that you would like to get done from the QA company.
Then contact the QA company and discuss the process and strategy that would be used by them to get your requirements full-filled.
Ask them for test plan and process that would be used to communicate the project status so that you are aware of the project status anytime.
Let me know if you require additional information.
We do provide complete end to end testing using Agile approach.
Contact me @ skype: brijesh.bhalodia for additional information.