5 books I recommend to software testers that most testers have probably never read
"What testing books should I read?" such a hard question to answer in a land where a testing book that has value at one point in your career ceases to have value later on.
I do have some books that I recommend to testers, entirely ignoring their context - ha... see... Eeeevil...
So... 5 books, not about testing, that could change the way you think about testing (or my taste in books). Certainly they all changed the way that I approach testing.
I have presented these books in the order that they occurred to me, this may demonstrate their 'favourite' position, or it may not, I haven't analysed it in that way.
Each book has influenced my testing in different ways so I'll mention a little of how the book has helped (or at least changed) my approach to testing.
Provocative Therapy
Provocative Therapy by Frank Farrelly and Jeff Brandsma
After reading Frank Farrelly I adopted a different attitude to testing. Somehow it suddenly seemed alright to provoke with good intent. To push 'something' beyond its normal tolerance and have a smile on your face at the same time. If I try and summarise provocative therapy then it involves pushing 'situations' or 'reasons' to outrageous (and possibly tenuously logical extremes) to 'provoke' a defence of the positive and to laugh at the unreasonable. For a longer definition and summary of the 'behaviours' triggered visit What is provocative therapy ?
The Structure of Magic
The Structure of Magic by Richard Bandler and John Grinder
I started to apply the techniques presented in The Structure of Magic to help me identify and question ambiguity. I subsequently applied the techniques around presupposition to 'see' things in a product to help me test. I've explained much of this already over on Compendium Developments.
Other people will have developed approaches for helping them analyse ambiguity but I initially refined my approach very quickly and effectively by using techniques from this book.
The Art of War
If you read a commentary free translation then you get a very short text which provides enormous freedom to support your contemplation and subsequent application outside of its 'war' context.
When I read it after I became a tester I found it useful to consider 'Software Testing' as 'war' in the sense that Software Testers attack software, so some of the chapters in the book apply directly to what we do. 'The use of spies', on first reading, obviously refers to monitoring and analysis tools. 'The attack by fire', again on first reading, obviously refers to stress and performance testing. Later readings reveal other testing applications of the chapters.
An essential manual for the 'management' aspects of software testing.
Lionel Giles' translated the first version that I read. Long since out of copyright so available on the web. I enjoyed the recent Sonshi translation which you can find (without commentary) on the Sonshi Website. I have a soft spot for
The Sonshi website conveniently has a web page dedicated to other translations.
You may also find Bruce F. Webster's The Art of 'Ware interesting
The Book of Five Rings
The Book of Five Rings by Miyamoto Musashi
Where Sun Tzu examines a team based approach to warfare, Miyamoto Musashi examines the individual's approach to contextual analysis and improvement.
From this I changed my approach to learning testing and spent more time 'outside the office environment' practicing and thinking about my testing to experiment with 'other' approaches or to learn new tools or environments.
I found a translation at the bookoffiverings.com.
Quantum Psychology
Quantum Psychology by Robert Anton Wilson
I had the hardest time picking this last book, since I limited myself to 5 books. But since I have recently read a lot of General Semantics and have dabbled in the use of e-prime to change the way that I write testing documentation, defect reports, emails - even this blog.
I really had no choice but to recommend it. Other books covering e-prime do exist, but I first read about e-prime in Quantum Psychology the first time I read it, years ago, and only recently have I started to use it and the summary of e-prime here and the entire discussion of 'certainty' I found very useful.
Probably also one of the easier books to introduce yourself to Robert Anton Wilson's work.
And Now...
And now... what 5 books (not 'directly' related to Software Testing) would you recommend to testers? (or just me)


The very general:
http://www.librarything.com/catalog/MichaelBolton
The somewhat less general:
Read Weinberg! Read Weinberg!
The even less general:
Watch for Jerry’s new book, Perfect Software and Other Testing Myths, which will be launched at the CAST Conference in Toronto, July 14-16, 2008. See http://www.cast2008.org.
—Michael B.
Thanks for the lists Michael. I second the recommendation for Jerry Weinberg. I didn’t include him on the list because I knew recommendations for him would come from other testers, and given his popularity among testers, I would have had to caveat my title even further “books that some testers probably haven’t read but many will have heard of” which I didn’t think was punchy enough.
The normally recommended Weinberg reading list seems to include “Quality software Management” and “An Introduction to General Systems Thinking” so to this I’ll add some of his other books that I got a lot of value from: “Secrets of consulting”, “More Secrets of consulting”, “Becoming A Technical Leader”, “Psychology of Computer Programming” and “Rethinking Systems Analysis & Design”. You can’t really go wrong by picking up a Weinberg book to study.
Three books -
1. How doctors think – Jerome Groopman – Incidently, Michael B introduced this book as being useful to testers (in software-testing – yahoo group)
2. Conjectures and Refutations – Karl Poper
3. How to solve it – George Poyla
Shrini
Thanks Shrini, I have not managed to get around to reading Karl Poper yet, but “How to Solve It” made it to my re-read list as I want to generalise it a little.
I also want to dedicate time to study Polya’s “Mathematics and Plausible Reasoning” because I think that if I can get my head around those 2 volumes then I’ll advance my thinking.
I’d recommend these two books –
The Design of Everyday Things – Donald A. Norman (a good refresher in usability vs aesthetics)
Getting Past No – William Ury (useful when negotiating with developers, management, and other members of the team)
-Nick
Thanks for the list Nick. I wrote a review of The Design Of Everyday Things over on CompendiumDev.co.uk.
There’s also an excellent list of books James and Michael compiled which James has listed in his workshop course notes (although it needs updating – Last revised January 4, 2007):-
http://www.satisfice.com/rst-appendices.pdf
:)
Thanks for the reminder of James’ list.
I’ll second something on Michael’s (huge) list, and that is Blink by Malcolm Gladwell. I’d also add ‘The Art of Team Coaching’ by Jim Hickson for anyone who is in a leadership role.
-adam
Michael did provide a huge list, so thanks for narrowing it down for me. Blink references out to some interesting research and I found it a short, enjoyable read. I have not heard of “The Art of Team coaching” so thanks for supplying that reference.
I can’t remember how I thought about anything earlier today, let alone before some seismic shift, so I’ve no idea what might have changed the way I think about testing.
However, plenty of sources have changed the way I, personally, have done things that are important to the way I test. Some of those have been books. For the sake of fun, and to put some distance between a book of methods and the approaches I use, I’m going to exclude systems thinking / engineering books from my list. I’m going to exclude, too, those books that have been recommended to me by others, and those that I remember recommending elsewhere.
I suggest:
- _An Urchin in the Storm_; Stephen J Gould’s courteous, witty and stern de-bunking of ideas held by other serious minds. Disguised as a collection of book reviews, it is a masterclass in how to marshal information and muster emotion to attack a non-trivial position. I think of Gould when I’ve got particularly unwelcome news.
- _101 Experiments in the Philosophy of Everyday Life_; Roger-Pol Droit’s collection of exercises will help engineer (temporary) perspective shifts in your world-view. I find a shift in perspective can appear shortly before finding a collection of bugs – familiarising yourself with shifting your general perspective makes it simpler to achieve the same with testing.
- _Error and the Growth of Experimental Knowledge_; ideas from Deborah Mayo’s recent work around the idea of *methodology as avoidance of error* creeps into my construction of test strategies and infects my conversation with testers.
- _Principles of Experimentation and Measurement_ is out of print, but I believe that Gordon Bragg’s thin volume has been important to Physics education for years. I have no idea what the modern substitute is, but this cuts to the heart of our (ahem) profession. Reading it allowed me to return to the rigour and investigation of experimentation, and reminded me why I enjoy testing.
- _Flow_ by Mihaly Cskiszentmihalyi describes a state of mind that has played a part in what I feel is some of my better work. His book has allowed me to recognise – and sometimes arrive at – that state of mind. With a bit of luck, then, I am able to use it for my more important bits of testing work.
Apologies for the lack of amazon links.
Cheers – James
Thanks James, Great to see select subset of influential books. And don’t worry about the Amazon links… they don’t call me “Mr Affiliate Links” for nothing – oh wait, they don’t call me “Mr Affiliate Links” at all, but if they did then this would be why, lo… affiliate links.
I really like the intent behind flow and although I haven’t blogged about ‘states’ yet on EvilTester I think I talked a little about states as a process in Lewt – so I shall add that to my ‘to blog’ list..
Hi Alan,
one of the books that influenced me most is, unfortunately, written in danish; it’s called – in translation – ‘The Book of Excuses’, written by Torbjørn Jørgensen. Besides listing 100 excuses each for a number of occasions, one of them being ‘Introducing new IT systems in an organisation’ (scarily, I’ve actually used some of the excuses myself.. erhmm..), it also emphasises one of the best learning sentences I’ve ever known: ‘if what you do doesn’t work, you need to do something else’..
Ahh – the sweetness of simple logic! In many stressful times this one has saved my day.
Cheers,
/Carsten :-)
Thanks Carsten,
I like, and have followed, that advice too.