Author: Tim Riley & Adam Goucher
Publisher: O'Reilly, 2009
Aimed at: Potentially all programmers
Pros: Some nuggets of interesting information
Cons: Mixed bag of essays without a single focus
This is a collection of essays on the fairly down to earth topic of testing. To apply the adjective "beautiful" to testing perhaps is stretching the idea a bit too far but my guess is that dedicated testers probably wouldn't agree. However, the majority of us do testing as well as general programming and it is something we could all strive to do better. For this reason a set of essays should go down well but I wasn't impressed.
The problem seems to be that if you contact a group of people and tell each of them to write an essay on "Beautiful Testing" what you get is a mixed bag of interpretations with little focus. Sometimes this isn't a bad thing but in this case it does give you the impression that the authors aren't really a single group with a devotion to a single idea.
As a set of one-line blogs these essays would be judged by a different standard - people produce all sorts of rubbish in blog format and we readers are all too well aware that this is self publishing. But these essays have been edited and made it through the publishing process and so are recommended to us by a higher authority and this presents a problem.
The book's profits go to a laudable charity and so it is difficult to get up the courage to criticise it and indeed if you want to buy this book as an act of charity then by all means do so - but as a book on testing it has little to offer. Most of the essays pick fairly specific topics and lack generality or are nothing but anecdotes. For example, the essay on random number generator testing would be more on-topic in a book on statistics. Not many programmers are called on to test a random number generator and the statistical tests needed aren't really part of the accepted subject of software testing.
Many of the essays are vague management waffle concerned with the right psychology and the need for cooperation. Mixed in with all this are the occasional nuggets of information - you can't write a 350 page book without saying something useful.
The best part of the book is the final section which deals with tools. The contains some fairly useful essays - the best of which, for me, was the one by Zeller and Schuler on seeding bugs. This said, the whole section is well under 100 pages of text and doesn't really justify the existence of the book. You can't help but come to the conclusion that most of the essays would indeed be better as informal blogs because it is difficult to see the rationale in collecting them together as if they had some sort of logical unity.
If you are a tester, simple and nothing but a tester, then you might get some pleasure from reading some of the essays but they are a very mixed bag with a very wide interpretation of the subject. For the general reader this is only likely to prove the preconception that testing is conceptually something of a mess.