Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Beautiful Testing: Leading Professionals Reveal How They Improve SoftwareOctober 2009
Publisher:
  • O'Reilly Media, Inc.
ISBN:978-0-596-15981-8
Published:30 October 2009
Pages:
350
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. But testing is not a routine process, it's a constant exploration of methods and an evolution of good ideas. Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you'll learn how each of these professionals developed beautiful ways of testing a wide range of products -- valuable knowledge that you can apply to your own projects. Here's a sample of what you'll find inside: Microsoft's Alan Page knows a lot about large-scale test automation, and shares some of his secrets on how to make it beautiful Scott Barber explains why performance testing needs to be a collaborative process, rather than simply an exercise in measuring speed Karen Johnson describes how her professional experience intersected her personal life while testing medical software Rex Black reveals how satisfying stakeholders for 25 years is a beautiful thing Mathematician John D. Cook applies a classic definition of beauty, based on complexity and unity, to testing random number generatorsAll author royalties will be donated to the Nothing But Nets campaign to save lives by preventing malaria, a disease that kills millions of children in Africa each year. This book includes contributions from: Adam Goucher Linda Wilkinson Rex Black Martin Schrder Clint Talbert Scott Barber Kamran Khan Emily Chen Brian Nitz Remko Tronon Alan Page Neal Norwitz Michelle Levesque Jeffrey Yasskin John D. Cook Murali Nandigama Karen N. Johnson Chris McMahon Jennitta Andrea Lisa Crispin Matt Heusser Andreas Zeller David Schuler Tomasz Kojm Adam Christian Tim Riley Isaac Clerencia

Contributors

Reviews

Jeffrey B. Putnam

Programming would be easy if the program didn't have to work. But we all know that programming is tough, because programs do have to work. We also know that it can be difficult to determine what a program (or a component of a program) actually needs to do. It is just as difficult, often even more difficult, to ensure that the program actually does what is needed. Ensuring that programs do what we want them to do (or what we think we want them to do) is the domain of testing. Testing can be something of an art and requires specialized skills and tools. Performing testing well is at least as demanding as building the software in the first place. This book consists of 23 chapters-essentially, essays by experts in the field on the general topic of testing. They talk about not only why testing is essential and why it is hard, but also how they manage to do it and why they find it rewarding. Many of the essays are anecdotal, telling us how the author has solved this problem or that; some are more descriptive, talking about specific kinds of problems or testing frameworks. While most are quite readable and interesting, a couple of them do not quite work, and at least one reads like a thinly veiled advertisement. This is not the book to read to learn about how to use any particular test framework. The coverage is broad and aimed at software developers (and managers) interested in the value of testing as a discipline. As such, it covers everything from fault injection to fuzzing to unit testing, in enough detail to interest the reader; it also provides uniform resource locators (URLs) or other references that point to more information. Thus, the book provides a nice overview of the field, with enough information to convince readers that testing is difficult and a deeper problem than usually thought, but also that it is not out of the reach of most development teams. It also shows-with a generous helping of pointers to test both commercial and open-source products-that the right kind of information and software is available to help development teams work on improving their testing methodologies. The book should also prove useful to managers who are either managing test teams or are otherwise interested in software quality and would like to know about other ways to test and how others have solved related problems. This would be an excellent supplemental text for a course in software engineering, as several of the chapters present testing not just as a dry and dull process, but as an interesting and potentially exciting activity that could be well worth looking into as a career choice. The only major problem with the book is the large number of URLs presented in the text. Their presentation is inconsistent, sometimes in the form of footnotes and sometimes inline, in the text. In either case, they are not available in an easy-to-use format and there is no Web page with the URLs from the book presented chapter by chapter. This would be a nice supplement. Another-minor-problem is that many of the authors took the title to heart and seem intent on using the phrase "beautiful testing," telling the reader why their methods are indeed "beautiful." Perhaps they are, but, on about the fourth repetition, it feels just a bit forced. While it may not be considered a proper testing methodology, coverage of the methods used in the design by contract approach would be a nice addition, as-when done well-they complement testing methods in ways that span the design, implementation, testing, and even release stages of software, quite nicely. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations