I was on Amazon yesterday, curious to see if there are any good new books on testing techniques. (There weren’t).
But I did come across a number of my old favourites and thought it could be useful to share some of these with a little commentary why I’ve found these useful.
The needle(s) and the haystack
While doing my search, I noticed there were close to a 1000 titles related to “software testing”. Just think about this - a 1000 titles. The age where anyone can publish anything truly is here. This makes picking good ones harder and harder. It doesn’t help that buying positive Amazon reviews for your own crappy book is as easy as it is…
The List
In no particular order, here we go!
Unit Testing Principles, Practices, and Patterns - an excellent book even if you’re not the one writing unit tests (including QA managers), to understand their importance as well as when and to what extent to use them
Lessons Learned in Software Testing - important for a historic context and everyone should read something from James Bach, even if you don’t agree with him
Software Testing: Techniques, Principles, and Practices - an entry level book, but an excellent one at that, mostly because of its real life examples as well as giving a good explanation of the core concepts
Chaos Engineering: System Resiliency in Practice - the best book out there on how to manage complexity (and with practical examples!). Unless you’re building a weather app, this will be important to you
Test Driven Development: By Example - an oldie but goodie. The definitive book on TDD and why it matters. But be cautious about the “by example” part, some 20 years later, these won’t be as applicable as they were in 2003.
Clean Code: A Handbook of Agile Software Craftsmanship - probably the most definitive book about (agile) software development. Not specifically focusing on testing, but a must read for seeing the bigger picture.
Software Engineering at Google: Lessons Learned from Programming Over Time - not specifically for QA and not everyone will like it, but an interesting insight to the world of how the big boys think about developing a shipping software. A word of caution - don’t read and try to implement something like this in a 1-100 employee company, it won’t work
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation - how to solve quality issues in a devops environment (before it was called devops)
Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices - in most cases the first approaches to automation will be messy and won’t work. This is the best reference book to avoid these issues in automation. Lots of real world (code) examples is a huge bonus and everything is still very much up to date.
What to avoid
In short - the majority. Most of the books in this category are either a waste of your time or even worse, they will put you on the wrong path, written by authors who don’t have real world experience, or the experience is too dated to still be relevant anymore. This also includes books that were good at the time when they came out, but have lost their relevance by now.
One of these examples - Experiences of Test Automation, which i bought at a Star West conference in L.A. back in 2013. The book came out in 2012 and was probably written in 2010-2011. A lot has changed since then. It can still be read as just anecdotes I guess, but you’d probably find better use for your time.
This being said, not all books age terribly, there are plenty of examples above which came out 10+ years ago and are still as relevant as ever.
I would also avoid all the ISTQB books, while some consider these (and the corresponding certificates) essential part of the education of a QA engineer.
That’s it for this week, don’t forget to check out our other articles, leave your own recommendations below as comments and don’t forget to subscribe for more of this!