|Bulletproofing Web Applications|
|Author: Adam Kolawa/Wendell Hicken/Cynthia Dunlop|
|Pages: 408||Published: 2001|
|Publisher: Hungry Minds, Inc.||ISBN: 0764548662|
|Click to Buy|
| || |
|Topics: Test & Evaluation|
This book discusses how to integrate error prevention and detection into the development process to ensure that Web applications are robust, scalable, efficient and reliable. The authors explain and demonstrate how to avoid common pitfalls, prevent problems before they occur, and thoroughly test for errors.
|Keywords: Web Site Development / Web/eBusiness Testing|
| ||Review by Thomas E. Burke firstname.lastname@example.org|
Back to Top
This book is intended for people who are familiar with Web applications, from developers to quality assurance testers to managers of Web development projects. This book focuses on preventing defects. The authors clearly understand that the sooner a defect is found in the development lifecycle, the fewer resources will be needed, and the less costly it will be to repair the defect. Bulletproofing is defined as making the application robust, scalable, efficient, and reliable. A number of techniques and best practices are provided for the developers and the QA department. There is a big emphasis on automating procedures whenever possible. It can improve reliability and efficiency. A CD is included with the book, which includes a number of evaluation copies of automated programs from Parasoft as well as freely available development tools. In addition to covering processes and Web technologies, the authors discuss a sample Web application that is developed from the ground up. This application is called the Online Grocer Web application.
The book comprises three parts. Part 1 provides an overview of the development process and introduces the Online Grocer Web application. Fundamental development processes and the development lifecycle are some of the topics covered in Part 1. Part 2 provides detailed information about the challenges and practices relevant to most Web applications. This is where the meat of the book is. This part includes discussions of strategies such as defensive programming, coding standards, unit testing, functionality testing, content verification, and load testing. Part 3 covers bulletproofing practices for certain Web technologies such as databases, XML, SOAP, EJBs, and server-side scripting technologies such as JSP.
The book is a must-read for any developer and QA analyst. One great aspect of this book is that it includes the developer in the defect prevention and detection processes. A number of books focus on detecting defects, but this one emphasizes preventing defects. They embody the Total Quality principle of continuous improvement. Once good processes are in place, they need to be continuously tweaked. With the technical and time challenges of Web development, standing still is not an option. Continuous improvement must be a way of life.
The authors mention a number of best practices for success that should be used in a Web application development shop. These practices emphasize implementing a bug-hostile development process. One such practice is to create a source code repository and version control system to create a configuration management system. Another practice is to automate regular builds. One of the biggest challenges in Web development is moving the code from the development environment to the staging area and then to production. Automating regular builds will help solve this challenge. An additional best practice is to create a defect management system that not only records defects but also enhancements to the product. The book also offers best practice for setting up a proper Web testing environment, and tips on how to test for different browsers. A best practice that a number of Web development projects omit is performance. This book offers a whole chapter dedicated to this subject, which includes performance tools on the CD that comes with the book.
The aspect I liked most about this book is the ability to go to any chapter and pick up the information without having to read every subsequent chapter. A number of up-to-date Web technologies such as XML are covered in detail. The writing style is easy to read and does a good job explaining the newest Web technologies. I would urge any QA professional to read this book and then have their developers read it as well.