Lessons Learnt in Software Testing by Cem Kaner, James Bach and Brett Pettichord Published by Wiley. Reviewed by Peter Morgan
Paperback; pp 286
Some books are to be read starting at page one, and continuing until the end. Others are used to find out how to use some particular construct in C++, for example. Yet another type is the book that gives factual information, from people and places, to spelling and cross-references (a dictionary, or thesaurus). Into the order of books comes a real gem, one that fits into none of the categories mentioned, and falls outside many other possible sub-divisions.
The authors have a very sensible approach, basically saying: “Here are 293 lessons that we have thought and found to be useful. If YOU (the reader) like some or many of these, then use them. Not every one will suit any particular person, or even an organisation. There are even some apparent contradictory lessons. When a lesson is found to be useful, it will probably not be useful to the same person in the same organisation all the time. Enjoy!” This non-prescriptive approach is the key to the book, and it stems from the authors being part of the Context Driven approach to testing. However, you don’t need to agree with or even understand the philosophy of the approach to gain from the words contained in it. I am not going to justify the approach. The authors can do that themselves, and they can do it with far more fervour than a sceptic like me. It is also important to understand that it is an American book, which comes from the background of less emphasis on the formality and certification elements of the testing process (and less adherence to that paradigm of virtue, the V-model), and where explicit use of Exploratory Testing is much more widespread than in the UK. For me, this book will do you good. What else matters?
Can I give two caveats before going any further? Firstly, this book is not for a novice tester in isolation. It is NOT the kind of book that you give someone on their first day as a tester, and leave them to read it: it is not a “how to do it” book. This is more the type of book for someone that has a foundation in some of the testing basics (some and only some of the commonly recognised “basics” are presented within the pages, especially concerning test techniques). The second caveat concerns the reading of the whole substance. When you “read” this book, first read the preface in full. This gives some of the raison d’être of the book, why it is necessary, and how to use it. Only after the preface is finished can the real “lessons” be taken. Then dip into it, on any page, in any section, and see what you find. There are lots of real common sense points, with no mincing of words. Take lesson 107, in the Test Automation chapter: ‘Don’t automate a mess – if you have bad testing, automation can help you do bad testing faster’. Someone should write that on the forehead of every test tool company sales person. Then perhaps we would have less shelf-ware.
Each and every test department should have several copies available; for reference, for inspiration, and even to encourage testers to think what valuable lessons they could pass on to others. Some from the anorak brigade would even willingly dip into the book in their own free time (and I would probably count myself in this category – isn’t it funny how it is always other people who are “anoraks”?)
It is obvious from the text that there have been some fairly lively discussions in the writing of the book – illustrated in passages like “One of us, Bach, once witnessed ?..”. There are places where there is a hint of tension between the authors. In some places I found this style irritating, but this is a minor criticism in comparison to the value of lessons that I can draw upon. Each of the lessons is placed in a chapter of similar lessons. I have already mentioned “Test Automation”; “Testing Techniques”, “Managing the Testing Project” and “Bug Advocacy” (excuse the American terminology) are three of the other chapter headings. There is a brief, very brief introduction to each chapter, but each lesson, from anywhere, is freestanding. So get copies for your test department, read the preface, and then a lesson. Any lesson will do. Be prepared to be inspired, or at the very least to have your ideas challenged, by some seemingly outrageous ideas. In the spirit of the authors – “Enjoy!”
Published in ‘The Professional Tester’
Reviewed by Peter Morgan, Principal Consultant