Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Quality code : software testing principles, practices, and patterns
Vance S., Addison-Wesley Professional, Upper Saddle River, NJ, 2014. 256 pp. Type: Book (978-0-321832-98-6)
Date Reviewed: Aug 21 2014

Software development has undergone deep changes in the past few years. Whereas once it was an essentially linear process similar to many other engineering disciplines, the frantic pace of present-day business environments forces software to be developed in a cyclic manner, releasing smaller chunks of code more often. This led to the birth of the various extreme programming (XP), agile, and lean methodologies.

Testing activities have changed accordingly: whereas once test campaigns were run at the end of the development cycle to ensure correctness at unit and global levels, nowadays testing has become a somewhat continuous process. Test-early methodologies, where testing is ideally repeated after each major code change, are rather commonplace. With test-driven methodologies, entire applications are designed from the beginning around tests. In this context, tests can even be written to solve problems during development.

This book covers precisely these methodologies. Its author, Stephen Vance, has been tinkering with code since the age of 12, has developed software in a variety of programming languages for a wealth of business sectors, and is today a recognized lean/agile software development coach in Boston. The book stems naturally from his day-to-day experiences.

Part 1 covers the principles and practices that guide successful testing: chapter 1 puts the approaches in the book into an engineering context, discussing engineering, craftsmanship, and first-time quality in general as well as in a software context; chapter 2 examines the role of intent; chapter 3 outlines a testing approach helping people to focus on relevant issues; chapter 4 discusses the interaction between code design and testability; and chapter 5 presents several testing principles and the best use for each one. Part 2 details the implementation patterns for testing: chapter 6 presents a basic catalog of testing techniques; chapters 7 to 12 elaborate on each of these techniques; and chapter 13 explains how to test code that executes in parallel. Part 3 takes the principles and techniques from previous chapters and provides a narrative for applying them to two real-life examples: a Java application created from scratch (chapter 14) and a legacy, untested, open-source JavaScript jQuery (chapter 15).

Two concepts stand out the most from all these pages: the concept of craftsmanship and the concept of intent. Craftsmanship means that the activity of testing, and of course coding, is luckily not quite standardized and industrialized, requiring frequent changes of view from design to production and back, so individual skills and creativity still play an important role, thankfully lending to testing and coding a somewhat renaissance flavor. Intent, on the other hand, means having in mind from the very beginning the goals the code is supposed to accomplish, at what cost in terms of robustness, usability, resilience, and other qualities, and never straying far from them during the whole development process. So even if the book is intended for a professional audience of software developers familiar with agile programming techniques, its plain and narrative style makes it a very enjoyable read.

More reviews about this item: Amazon

Reviewer:  Andrea Paramithiotti Review #: CR142637 (1411-0914)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Testing And Debugging (D.2.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Testing And Debugging": Date
Software defect removal
Dunn R., McGraw-Hill, Inc., New York, NY, 1984. Type: Book (9789780070183131)
Mar 1 1985
On the optimum checkpoint selection problem
Toueg S., Babaoglu O. SIAM Journal on Computing 13(3): 630-649, 1984. Type: Article
Mar 1 1985
Software testing management
Royer T., Prentice-Hall, Inc., Upper Saddle River, NJ, 1993. Type: Book (9780135329870)
Mar 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy