Q&A: Testing is moving away from IT
Sukant Srivastava is vice president of global services for Keane in Boston,
where he directs a team that develops global application outsourcing products.
In this interview with ADT, he examines the differences between traditional
and outsourced testing and why outsourced testing services are a better fit
for most companies.
Q: Are traditional testing approaches fundamentally flawed? Are companies
doing anything wrong? If so, why?
A: Some companies may consider application testing to be just an IT issue,
but it’s also a business issue. A company’s testing approach can
either be a revenue enabler or a revenue disabler, a compliance enabler or a
compliance disabler.
Traditional testing focuses on defect detection at the end of the development
process. To prevent defects from occurring in the first place, testing must
begin at the start of the development process and become an integral activity
as development progresses.
Testing takes between 25 to 50 percent of total development costs, and the
costs of fixing problems after applications go live can run up to 30 times higher
than early detection and fixing. The high costs of testing combined with IT
budget cutbacks over the last few years have limited the testing capacity of
many organizations. The best practice companies should embrace measures activities
at checkpoints at all phases of the lifecycle. This will identify any gaps early
on in the development lifecycle.
Q: Some companies believe their testing and assurance programs function
well, but they might not know of potential flaws. Why do companies have these
blind spots?
A: There are two reasons. First, companies...treat testing as an activity at
the end of a development cycle and put equal cost and energy in all areas. Second,
a large number of companies use application development staff for testing. Software
developers typically are not testing experts and would prefer to avoid it whenever
possible.
Testing requires a special competency to address today’s highly complex
and integrated software environments. Effective testing calls for trained specialists,
automated tools and a readiness to respond to release-driven development cycles.
Increasingly, IT organizations are turning to outsourcing providers to address
their testing imperative.
Q: What kind of role is outsourcing playing in application testing?
A: Leveraging the quality processes, methodologies and best practices of an
outsourcer enable companies to implement a total quality approach that integrates
and executes testing throughout the development lifecycle to deliver significant
benefits. Companies can benefit from outsourcing testing by gaining instant
access to world-class products and testing processes, delivering a new capability
that can become mainstream throughout the IT organization and achieving cost
reductions and time-to-market advantages.
By partnering with a proven outsourcer, companies decrease the need to internally
train and maintain a wide array of testing skills required to handle diverse
technologies and applications. It also creates an independent ally to champion
the strategic importance of testing. There are also tactical advantages to outsourcing-it
decreases cost and provides a time zone advantage. Application development could
be done in the U.S., and testing could be done in India or at another offshore
site during the evening [North American time]. This continues the software cycle
during a 24-hour timeframe and compresses overall development cycle time.
Q: What is the total quality approach? What impact does it have on
integrating and testing throughout the development lifecycle?
A: The cost and business impact of having a flawed application go live is significant.
Test early and often to prevent and mitigate these expensive failure costs.
Testing and quality assurance processes drive improvements upstream to quality
of service. The total quality approach takes bugs, and through analysis, finds
the root cause and fixes it upstream so it won’t happen again. It includes
integration across functional testing, performance testing and user acceptance
testing. One key to executing each of these testing deliverables effectively
is having a program management office that provides complete oversight for delivery.
Q: What is the program management office and what role does it play
in testing delivery?
A: The program management office does more than just catch defects; it’s
about increasing the amount of testing done upstream in the application lifecycle.
The program management office ensures every aspect of the testing program-functional
testing, performance testing and user acceptance testing-is kept on track. It
also helps create dashboard views of the program and drives real improvements.