Best software testing books
I’ve been very lucky recently to read quite a few fascinating books ( likeHow to Fail at Almost Everything and Still Win Big,Black Swan or Surely You’re Joking Mr Feynmanto recommend just a few) which reminded me that I haven’t made any software testing books posts yet. I did of course startAwesome Book Reviews blogsome time ago, but it failed to gain popularity so I switched full focus here.
I once read on apolish Software Testing groupthat the majority of candidates during ajob interview fail to answer this simple question: ‘What’s the latest software testing book you have read?’That should never happen. Today I give you my recommendations for continuous improvement.
My framework for choosing IT books
There are tons of IT books available on the market. Here are my simple rules for narrowing down the list:
- Start with recommended books
- Always choose books that are trying to answer ‘why?’ question instead of the ‘how?’
- Read the ‘how?’ books (for example Java for Testers) only when you know ‘why?’
Let’s say you want to delve deep into TestOps. Here is the approach I take:
- Ask my colleagues for recommendations
- Ask Google (here’s great Reddit source by the way)
- Read recommendations
- Only now would I study books focused on tools like DevOps 2.0,Ansible or Docker
Remember that various problems can be solved by various tools. No tool solves every problem, so don’t start your education with them.
Ok, let’s go into books recommended for testers.
How Google Tests Software
Many things in our lives that look complicated at first can be simplified by following one simple rule: ‘Take a look at what’s working for the most successful and do the same’. If you want to have a body like the local gym muscleman you need to train like he does. If you want to increase your employability in the job market you should consider starting a blog. If you want to have an effective testing process then you need to take a look at how it’s done by Google.
It’s often shocking for young testers who have just finished ISTQB Foundation certification to realize that the processes described here are considered obsolete by top tech companies. Well, that’s reality. How Google Tests Softwareby James Whittaker, Jason Arbon, and Jeff Carollo explains why it’s happening.
Lots of quotes from the book can be found in my How to become a software tester post. I’ll add just one here from Patrick Copeland’s foreword.
In all my interactions up to this point, one thing about Google was clear. It respected computer science and coding skill. Ultimately, if testers were to join this club, they would have to have good computer science fundamentals and some coding prowess. First-class citizenship demanded it.
Team Geek - A Software Developer’s Guide to Working Well with Others
I often emphasize the importance of social aspects in software development. Engineers who can communicate only in a boolean language are no longer looked for. They’re often exploited in average positions because they can’t stand up for themselves.Team Geek - A Software Developer’s Guide to Working Well with Othersby Brian W. Fitzpatrick and Ben Collins-Sussman explains how to avoid such situations and productively cooperate with others.
In technical terminology, we can say that Team Geek teaches us how to have an easy-to-use and effective communication API. There are a lot more technical-social analogies in the book which make it very thought-provoking read. You don’t want to miss that one.
Also, it’s short. You can finish it in one trip.
Further reading: Soft Skills: The software developer’s life manual
Thinking Fast & Slow
Absolute classic. Number one of Gurock’s alternative book lists recommended for testers. Thinking Fast and Slow by Daniel Kahneman starts with a description of two thinking modes guiding our behavior: system 1 (fast, automatic, emotional) which often let us down and system 2 ( slow, conscious, logical) which requires a lot effort from our side.
The author nicely explains how we are so often wrong during risk analysis, estimation, and planning. Unfortunately, our brains have a lot of flaws. It’s good for testers to understand the root cause of bugs. Isn’t it?
A book recommended for everyone.
Further reading: Nassim Nicholas Taleb bibliography
The ultimate guide of ‘why?’. Why do we build automated pipelines? Why do we want to release as often as possible? Why frequent releases actually reduce the probability of production bugs? Why do we automate tests? Why do we need fast feedback from tests? Why do we need to monitor production? Why do we need to have a rollback possibility all the time? Continuous Delivery by Jez Humble and David Farley answer all these questions in an easy to understand manner.
Continuous Delivery describes an effective and efficient software delivery approach from start to finish. It’s pretty much what top computer science universities should teach us daily. It describes a professional approach for doing things with simple explanations on why top companies consider them obvious and beneficial for their business.
Agile Testing & More Agile Testing
Last but not least. Agile Testing and More Agile Testingby Lisa Crispin and Janet Gregory are two high-quality books describing the peculiar role of testers in Agile teams. The first part covers the basics (including a description of Agile practices) and the second one describes a lot of real-world examples and uses cases.
What I very much like about those books is the huge emphasis the authors make regarding teamwork. Lisa & Janet are certainly context-driven testers which not only deal with testing scientifically but also want to support the business with frequent and bug-free releases. Very fluent/agile/lean approach which I can fully recommend to others.