OutSource Software Testing
The trend nowadays is to outsource software testing. Offsite software testing companies
are everywhere; they’re headquartered in the United States and in technology-rich
countries such as India, Singapore and Japan. Company literature boasts the tremendous
time and money saving features of outsourcing software testing while stressing high
quality work you can count on. But is it really beneficial to outsource software testing?
There’s no standard answer to this potentially expensive proposition.
How can you decide if it makes sense to outsource software testing? You’ve got to begin
by carefully analyzing your needs as they relate to this critical phase of software
development. Software testing means many things to many people. The main objective of
software testing is to ensure the software functions as specified before going into
production. But it also means making sure the software is intuitive and easy to use. Let’s
face it – no matter how great the software product is, if it’s too cumbersome to use, its
usefulness will be short-lived.
Before you make the decision to outsource software testing, it’s important to clarify what
you want from the outsourcing company. As their popularity grows, so do the services
these companies provide. Many also provide software design services. Or, they will plan,
but not implement a software testing process for your organization. And they will even
send individuals to your site to take care of integrating the software testing tools you
purchase with your hardware. In general, regardless of your exact software testing needs,
if you’ve got the money to pay for it, you’ll find an outsourcing company willing to do it.
One reason companies decide to outsource software testing is to eliminate the learning
curve. Software testing companies not only know about the different software testing
tools, their employees already know how to use these tools. If you work in software
development, you know how tight production schedules are. Anything that saves time
helps keep projects on schedule. Software delays are costly so when weighing the costs
vs. benefits of outsourcing software testing, determine how project delays affect your
bottom line.
Oftentimes software development houses cannot afford to hire and maintain a full-time
development team and an in-house software testing team. For these companies, the
decision to outsource software testing is an easy one.
The decision to outsource software testing makes sense for many companies. If you do
decide to outsource, get your expectations and your costs in writing before work
commences. Agree on a method of reporting bugs back to you to ensure that the
information you receive back is useful. Also discuss such topics as regression testing,
script maintenance, and load tests beforehand.
When you outsource software testing, it’s important to build a solid relationship with the
company for this current project as well as for future projects. If possible, speak with
clients who have given their software testing work to the outsource company. As
tempting as it may be don’t let cost be the deciding factor. Remember, cheaper isn’t
always better.
Software Testing Procedures
Don’t be fooled into thinking that software testing procedures are a waste of time and
effort. Documented procedures for testing software must be in place before testing
begins. Lack of software testing procedures or using procedures that are not clearly and
completely defined often results in time delays and cost overruns; two things software
marketers cannot afford, especially when staying ahead of the competition is crucial.
To be useful, software testing procedures must encompass all aspects of the software
testing process. It’s vitally important that the procedures define the people who will be
involved in the testing process, the skill set of each team member, and their availability
for the duration of the testing cycle. For the software cycle to remain on track, the
software testing procedure must also delineate a carved-in-stone testing schedule
including dates of important milestones.
To be effective and useful, software testing procedures require much more information.
Procedures must define guidelines for creating test cases. Include in this section the
processes for running these test cases, and the creation, testing and maintenance of testing
scripts. Also include here a thorough explanation of all other approaches that will be used
during the software testing phase. It addition to a discussion of the specific processes for
software testing, be sure to define the specific parts of the software to be tested during the
stated timeframe.
Software testing procedures must also define the hardware and software resources that
are needed to keep the testing process on track and the length of time each will be
needed. If the resources are not available, it won’t be possible to meet project deadlines.
One aspect of software testing procedures that can be difficult to agree on is a definition
of acceptable testing results. It’s imperative, however that a firm decision be made here.
No software testing procedure should ever begin without a clear understanding of what
results are and are not acceptable.
Finally, there needs to be a process for reporting the results of the software testing phase,
including the reporting of bugs. Software testers are not responsible for fixing software
problems; only reporting them. However, they are responsible for verifying that
previously reported bugs have been fixed. It’s imperative that this process also be detailed
in software testing procedures. Equally important is discussion of and procedures for
regression testing. Software testers need to ensure that new fixes, and any software
changes and enhancements do not adversely affected previously tested parts of the
software.
Software testing is a critical component of the software development cycle. And software
testing procedures are critical to the success of the testing phase. Software remains in a
perpetual state of change which is why software testing, whether manual or automated, is
so vital to a software product’s success. Typically, 30 – 40% of the software engineers
employed at larger software development companies work on software testing and each
of these individuals needs to understand his or her role in this ongoing process. Software
testing procedures help ensure that they do
Pages: 1 2
