However, asking yourself or one of your programmers to test a project that they have worked on is a bit like asking an architect to tell you where he made a mistake in designing a building. It won’t yield productive results, and it most certainly will be biased.
Various Levels of Independence and Their Effects
For convenience, we’re going to list the levels from the most dependent to the most independent options regarding testing along with their pros (+) and cons (-).
Have a member of the development team test it
(+) If the developer is salaried, no extra money will be spent
(-) If the developer gets paid hourly, testing could get expensive fast
(-) Developer is wasting time testing instead of moving on to the next project
(-) Lack of results: a developer won’t want to show how bad he is at programming by making a report of all the bugs that were initially in the program
Have someone in-house, but outside of the development team, test it
(+) Close working proximity provides most convenient working atmosphere for everyone
(+) Requires no company training, orientation, etc.
(-) May insight problems inside if egos get involved
(-) May be unwilling to report bugs if his/her boss or superior worked on the program
(-) Will take time away from designated work responsibilities, possible hurting the workflow of the company.
While hiring a tester into your company
(+) Can hire ideal candidate with experience, skills and knowledge related to software testing
(+) His/her only focus will be testing and finding bugs in programs
(-) Hiring someone will require company training, benefits and orientation
(-) Having a tester or group of testers in-house can lead to ego problems between developers and the tester(s)
(-) Tester’s abilities will be limited by the budget and constraints of the company
Outsourcing to a testing company
(+) You only pay when you use it; if you have nothing coming down the pipeline you don’t have to waste money on paying someone for doing the bare minimum
(+) No need to invest in testing software or hardware
(+) Don’t need to worry about missing bugs that may be glossed over by in-house employees for convenience
(+) You don’t need to pay for the training or orientation of a new employee
(+) Usually companies are client focused, meaning they want to please you by doing good work to try and build a partnership with your company, which (should) result in high-quality services
(-) Confidential information could leak (but it can be resolved by signing proper legal documents)
(-) Outsourcing could send a bad message to employees and hurt the overall morale of the company
(-) Trusting someone outside of your company with a project is always risky, finding a good reputable company could be difficult
Thinking of Outsourcing? Here’s what to look for…
Assuming you agree that the last option may be the most beneficial in terms of testing, let’s discuss what you should look for when talking with companies who are vying for your hard-earned cash.
- They want to understand your company, project, and goals
- They create open lines of communication
- They have references, case studies and are well-established
- They can test on any device you can think of, and if they don’t have it, they will find it
- At the end they give you a quality report, detailing problems and suggested fixes
Many companies will say they work 24/7 and will accompany your schedule, but when push comes to shove, only the quality companies will follow through on it. This means they will find time to call you (not at 3am) and discuss problems that they have encountered.
If the company you are thinking about working with does not stress the importance of building a relationship, or if they are not sincere about it, don’t work with them.
Quality testing companies have full-time licensed testers and more on stand-by. They will want to understand your vision and will do everything they can to accommodate your needs and build a relationship.
So if your goal is to: cut down time to market, help your development teams focus on developing better software, get unbiased information regarding bugs in your project and enhance your project’s life cycle, then you should seriously consider investing in outsourcing your testing needs.
Want to know more? Contact us at www.testarmy.com