July 3, 2000
|
|
An ASP Model For Testing Code
By Billie Shea
f you ask Dave Jones, president and CEO of Reasoning Inc., at what point companies should start looking for software defects, he'll say as soon as the code is written. Rather than begin testing efforts by looking at how code operates, his position is to focus first on the static code before it's executed. By scrutinizing code and coding structures at this stage, work toward the goal of producing quality software starts at the earliest practical point in the development process.Operating as an application service provider, Reasoning provides code-inspection services on C, C++, Cobol, and Java using the Reasoning5 Code-Base Management System to conduct automated code inspection and analysis. Its goal: to provide software development companies with a source for automated tools and processes, and expertise to inspect code reliability.
Clients send code to Reasoning via the Internet for inspection. Following inspection, Reasoning's code-analysis team produces a software reliability report that includes a list of prioritized coding defects organized by type and criticality. Reasoning's staff works with individual companies to find out what type of defects are most critical for their development processes and what type of corporate or industry coding standards are employed, to check that those standards are followed.
Charles Wells, VP of engineering with Voith Sulzer Paper Technology, chose to use automated code inspection services from Reasoning. Voith Sulzer develops systems for high-end paper manufacturing machines--machines that cost about $500 million each. At such a high capital expense, owners of these machines want the equipment producing paper around-the-clock.
It's Wells' responsibility to make sure the software that runs this sophisticated equipment is as reliable and defect-free as possible, because at $100,000 per hour of downtime, his clients are less than pleased when their machines aren't running.
Prior to selecting Reasoning, Wells used traditional manual methods of code analysis, but realized it wasn't an efficient process. "Our goal was to achieve higher return on our investment by automating the inspection process. Because we're dealing with large amounts of code, the very first run of the automated inspection process fully paid for itself," he says.
In addition to quantifying the return on investment for the service, Wells identified other distinct benefits he's achieved through automating his code-inspection process. The first was providing a level of objectivity. "Even the best developers miss bugs in their code, and automated inspection helps uncover defects on an impartial basis," says Wells.
Wells thinks it's impossible for manual inspection methods to touch all levels and branches of the code. "In the static environment, automated inspection reaches far deeper into the code structure and is able to find bugs that normally would be very difficult to uncover," he says.
Additionally, he says, the lack of documentation from individual programmers and especially with code that has been ported from legacy applications makes it too difficult and time-consuming to manually uncover problems. Using automated code inspection and analysis has allowed Wells to produce high-quality, maintainable code. This reduces the number of future software-related problems he'll have to deal with and, in turn, keeps his customers satisfied.
Using a code inspection service in conjunction with traditional automated testing tools that address application functionality and performance further into the development cycle can prove to be a balanced quality strategy. The combination of automated code inspection with automated application testing and monitoring will offer companies the best opportunity to deploy and maintain applications with the fewest possible defects.
Return to main story, "Software Testing Gets New Respect."
Back to This Week's Issue
Send Us Your Feedback
Top of the Page