Pursuing the ideal of perfect code
- By John K. Waters
(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
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."
John K. Waters is a freelance writer based in Silicon Valley. He can be reached