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.
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 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 in NLP For Testers.
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.
The Book of Five Rings
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.
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… what 5 books (not ‘directly’ related to Software Testing) would you recommend to testers? (or just me)