This is a guest posting by Simon Knight. Simon Knight works with teams of all shapes and sizes as a test lead, manager & facilitator, helping to deliver great software.
Not everyone has time to go on a course or to a conference. Or the budget for that matter. But we all want to develop ourselves professionally, right? So if you’re time or cash constrained, what’s the best way to further your career? Well, these days of course, you can easily turn to the interweb and watch a video, or do some other form of online training. There’s plenty of both kinds of resources out there and we’ll cover some of them in future posts.
I don’t know about you though, but I like nothing better than an awesome book to read in order to get my brain juices going. And of course, if you have a tablet or phone, it has become very easy to carry a multitude of books around with you wherever you go, and switch between them in your ebook reader of choice. If you’re anything like me, you probably have three or four on the go right now!
If you were to scour the internet for some software testing books to read, you would very likely discover a list of usual suspects. In fact, if you work in software development or testing – you probably should have read all of these by now.
- How Google Tests Software, James A. Whittaker, Jason Arbon, Jeff Carollo
- Lessons Learned in Software Testing, Cem Kaner, James Marcus Bach, Bret Pettichord
- Agile Testing: A Practical Guide for Testers and Agile Teams, Lisa Crispin, Janet Gregory
- Leading Professionals Reveal How They Improve Software, Tim Riley, Adam Goucher
- Testing Computer Software, Cem Kaner, Jack Falk, Hung Q. Nguyen
- Reduce Risk and Increase Confidence with Exploratory Testing, Elisabeth Hendrickson
- Perfect Software–And Other Illusions about Testing, Gerald M. Weinberg
- Software Testing: A Craftsman’s Approach, Paul C. Jorgensen
- Specification by Example, Gojko Adzic
There’s a lot of value to be had by straying from the beaten path though. If you’ve already read all of the books above, or feel like trying something a little different, here are some recommendations for books you may not have realised were about (or at least, closely related to the craft of) software testing.
1. Thinking: Fast and Slow (Daniel Khaneman)
I have to confess, I didn’t actually read this one. I listened to the audiobook while travelling to and from various gigs. Irrespective though, it had a profound effect upon how I approached my software testing work as Khaneman popularised the concept of having two modes of thinking: fast and slow. Specific takeaways being an understanding of how flawed my brain actually is when it comes to framing risks, understanding statistics and having a multitude of biases in more or less every situation I find myself.
Since listening to the book, I’ve built upon my understanding of these biases by reading and listening to David McRaney’s You Are Not So Smart book and podcast, covering much the same ground but focusing on specific cognitive biases in a more easily digestible format.
2. Tacit and Explicit Knowledge (Harry Collins)
Championed by Michael Bolton and other members of the testing community, Harry Collins is all about the intersection of technology and sociology. In Tacit and Explicit Knowledge he takes a deep dive into the mechanisms that underpin the transfer of knowledge, helping to bridge the gap into how communications take place and how information can be more effectively transferred between disciplines – testing and development for example.
Complement this book with The Golem, also by Harry Collins, to better understand how scientists think, behave, socialise and conduct their experiments. You’ll never look at your test environment the same way again!
3. Secrets of a Buccaneer Scholar (James Bach)
I read this book at a point in my career when I had already decided it was time to take charge of my own learning. I had become pretty good at “learning on purpose while also creating opportunities to learn by accident” and James’s writing helped me to better frame my efforts and to some extent, further radicalise my thoughts about and approach to learning.
Once again, if you’re inspired by the topic, you can follow this book up with Andy Hunt’s Pragmatic Thinking and Learning: Refactor Your Wetware for further thoughts on managing your career by hacking your approach to self development.
4. Secrets of Consulting (Gerald Weinberg)
Although I have a number of Weinberg’s books on my shelf at home, this is one I return to time and again since, for me, it seems to encapsulate his philosophy and approach to working with clients and teams in a way that I’ve found particularly helpful over the course of time. Neatly and humorously summarising important lessons like “it’s always a people problem” and “the trick of earning trust is to avoid all tricks”, it’s crammed with insights and an absolute must read in my opinion for knowledge workers and engineers everywhere.
It’s also a great introduction to Jerry’s work. Follow it up with Becoming a Technical Leader, Exploring Requirements or the aforementioned Perfect Software–And Other Illusions about Testing for further illuminations.
5. Lateral Thinking: Creativity Step by Step (Edward De Bono)
Software testing is all about thinking. The abilities not only to focus hard and drill down into a problem, but also being able to defocus and switch to thinking of all of the different ways the problem could be framed instead, are core activities for most testers – whether they realise it or not.
De Bono’s work teaches us that you can use logic to dig deep, but you have to think laterally to decide where to put the hole. Lateral Thinking is arguably De Bono’s most famous work, along with Six Thinking Hats, but he’s written plenty of other books too. Over 60 in fact!
If you don’t like his style though, why not try Michael Michalko’s Thinkertoys: A Handbook of Creative-Thinking Techniques instead?
6. Humble Inquiry: The Gentle Art of Asking (Edgar H Schein)
I discovered this book when it was cited by Dorothy Graham during her peer conference talk: Criticism and Communication.
Referred to by some as the Columbo approach to problem solving, the basic premise of the book is that you can achieve great things by learning to be a bit more vulnerable about the areas in which perhaps you don’t know so much.
Being able to discuss sometimes sensitive problems with team members in an effective way is such a critical part of being an effective software tester. Read Humble Enquiry alongside number 7 below, for maximum benefit.
7. Giving and Receiving Criticism (Patti Hathaway)
During the course of your testing, if you don’t have to provide the occasional piece of bad news or unpleasant information, you’re not doing it right! Learning how to feedback problems and issues in an effective way is absolutely crucial.
Though it’s kind of a rare book, if you do manage to get hold of a copy you’ll find it very easy to read. You can probably finish it in less than an hour!
If you can’t find a copy of this specific book, consider replacing it with the Gerald M. Weinberg equivalent – What Did You Say? The Art of Giving and Receiving Feedback, and learn how to process other people’s feedback more effectively at the same time.
8. Influence: The Psychology of Persuasion (Robert Cialdini)
Sticking with the communication theme for a while. Probably if you’ve been in the testing game for any length of time, you’ve found yourself in the position of needing to sell either yourself or your testing efforts to the business so that you can be sure of getting the necessary support and resources you need in order to do your work.
The ability to persuade people of the benefits of testing is an underrated skill and one that every tester should pay some attention to in my opinion.
If you want to learn about persuasion tactics, there’s no better book than this one. Follow it up with some NeuroLinguistic Programming (NLP) reading for more advanced conversational Jiu-Jitsu – there’s plenty of great examples out there.
9. The Design of Everyday Things (Donald Norman)
More than any other, Norman’s book can probably be credited with starting the User Experience (UX) movement. As testers we often find ourselves in the position of customer advocate, arguing for changes to processes and functions to help optimise the end-user experience of our systems under test.
Reading this book can help you deepen your understanding of the factors that influence whether a human computer interaction is a pleasurable one, and what you can do to change things if not.
If your work mostly revolves around web development, Steve Krug’s book Don’t Make Me Think: A Common Sense Approach to Web Usability might be more up your street. Particularly since he released a revised edition only last year.
10. Steal like an artist (Austin Kleon)
Like many other misunderstood professions, testing is many things to many people. To some (e.g Myers, Sandler, Badgett) it’s an art-form. To others it’s a craft (Marick). To still others (Bach, Hodder) it’s a performance. What’s the commonality across all of these concepts? Creativity. The ability to think creatively and manifest creativity in your testing is probably one of the greatest keys to a lengthy and successful software testing career. In his book, Kleon will teach you that all “art is theft” (Pablo Picasso) and where to look for the best ideas. Steal Like an Artist is a great place to start your hunt.
It took me much longer than I originally expected to come up with this list of books since I basically had to eliminate a huge number of other possibilities that I found much more difficult to map directly to testing. The large number of fiction books that I’ve read over the course of time for example that have inspired me to think about technology, computer science or the human condition in a new way. Or the various business and self-help books from which I’ve taken lessons about how to better manage my career or stay motivated in the face of project adversity.
Of course, both lists of books above are entirely subjective! You may have completely different lists of books from which you draw inspiration for your software testing. And if you do, please tell me about them. Seriously – I want to know so that I can add them to my “to-read” list. It’s already pretty huge, but there’s plenty of room for more. So please do let us know in the comments section whether you agree or not with the lists above and what books you think I’ve missed out.
PS: Have you found this article useful? We publish a new relevant testing & QA related article every few weeks, including on topics such as building a great testing team, improving your testing career, leveling up your testing skills & boosting your team’s testing efforts. Make sure to subscribe below via email and follow-us on Twitter! You might also enjoy the following articles:
- Consider “Reasonable” UI Test Automation
- Session-Based Test Management Software with TestRail
- How Leading Teams Integrate Test Automation with TestRail Test Management
- What Continuous Delivery Means for Testers, QA Teams and Software Quality