Tuesday, 22 April 2008

5 books I recommend to software testers that most testers have probablynever 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

The Art of War by Sun Tzu

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)


  1. The very general:


    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.

  2. 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


    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.

  3. 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)


    Thanks for the list Nick. I wrote a review of The Design Of Everyday Things over on CompendiumDev.co.uk.

  4. 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):-



    Thanks for the reminder of James' list.

  5. 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.


    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.

  6. 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.

    /Carsten :-)

    Thanks Carsten,

    I like, and have followed, that advice too.