Outsourcing Testing
Anyone who has been in the business of software development knows that one of the hardest tasks to get accomplished in the systems development life cycle is testing. And yet without the testing cycle, there is really no way to know for sure that the quality of what you are producing will be sufficient for your software to ever survive in the hands of users in the real world.
Part of the problem is that testing is often under funded. You can convince management to invest in the requirements definition, the preparation of specifications and the development. But for some reason executive management seems to feel that our programmers produce perfect code day one and to try to fund a lengthy testing cycle can be difficult.
Add to this problem the simple fact that software developers hate to test. It is tedious and does not appeal the creative side of what makes a developer tick. It is also not really a good testing approach to have the developers perform the testing as they will not throw the unexpected at the application. So while it sometimes seems like there is nobody else available to do the testing on an important software development application, this does not diminish that testing is a crucial part of the development process and no application should be allowed to go toward completion without sign off by a qualified testing team.
All of these factors that cause testing to be skipped or done poorly make a good case for outsourcing the testing phase to contractors who specialize in testing new applications and who are completely removed from the development process so their testing is both thorough, it is brutal. Far better to have an independent agency “beat up” your new application than for those bugs to be discovered by your customers or users of the new application.
When looking for an outside agency to outsource your testing to, be sure it is a contractor who is well versed in the protocols of testing. The agency will need to become thoroughly familiar with the application before beginning to test. If the application is complex or focused on a niche audience with a niche need (such as investing, calculating loan interest or scientific applications), if the testing agent doesn’t understand what the application is supposed to do, they cannot report if the new software is working or not.
The good thing about outsourcing testing from the rest of the project development steps is that you can do so without compromising the security of the application or of the source code. If the testing of the application is via an internet connection or a remote GUI, the testing contractors can perform the tests from anywhere in the world and deliver the results back to the developers via email. At no time should the contractors applying for the job of testing need to see the code or even the technical specifications. They should test the application as users and the only knowledge they need should be in the form of what the application is supposed to do when in use by customers or internal users.
You will have to work with the testing contractors to develop test scripts and to outline the phases of testing to be conducted. The test company that is being outsourced to should be prepared to create structured test plans for all of the phase of testing from requirements tests through usability tests, stress tests, environment tests and regressing testing as well. And if there is an internet site associated with the application, link testing as well as security check lists should be completed to assure the internet site is workable and ready to roll out with the application.
