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.