News

Pursuing the ideal of perfect code

(May 6, 2002) Everyone knows (or should know by now) that there is no such thing as bug-free software. But according to testing guru Adam Kolawa, founder and CEO of Parasoft Corp., the pursuit of perfect code must carry on -- especially in the emerging Internet-centric world of Web services.

Organizations expecting to communicate effectively using Web services must make certain they deploy error-free business processes, he said. Moreover, a company using Web services to interact with potential customers and other businesses simply cannot afford a decrease in response rates due to glitches in the system.

In a new book, Bulletproofing Web Applications (M&T Books, 2002), authors Kolawa, Wendell Hicken and Cynthia Dunlop (all from Parasoft) argue that developers can minimize the number of bugs that go live by controlling errors at every step in the development process. The book presents a development methodology that employs an iterative process, emphasizing defensive programming principles, coding standards and code reviews, as well as unit, module and application testing.

As much as possible, the authors write, each step in this process should be automated; and they are not shy about recommending Parasoft's tools. But the 545-page book is much more than a promotional vehicle. It takes readers through the process of designing, prototyping, building, testing and implementing an online grocery site, which the authors implement with Java servlets running in Apache Web server and Tomcat on a Windows 2000 host. Through this example, they provide a real roadmap for preventing, detecting and fixing Web app errors.

The book is another manifestation of Kolawa's ongoing crusade to improve the process of software development. "What we are talking about [in the book] are fundamental principles that apply to any industry and production process," he said. "No one other industry would produce products nowadays the way we produce software."

Kolawa was in San Jose last month for the 2002 Software Development Conference and Expo, promoting the launch of his firm's new Web services testing tool, Soaptest, a tool for creating a virtual workbench to test the link between the modules of an enterprise system. The tool can perform functionality, load and regression testing, he said.

Kolawa argues that, given the growing need for comprehensive software testing, it is simply not cost effective for developers to write proprietary scripts. And yet, he noted, most companies are building entire systems just to test single applications. "It's like trying to test chips by installing them in your TV to see if they work. You change channels and look at the screen, but you miss a lot this way."

About the Author

John K. Waters is a freelance writer based in Silicon Valley. He can be reached at [email protected].