Consuming an average book thoroughly from beginning to end requires significant time and effort. Therefore, I’m very cautious when I’m picking a book to read. To make that process a bit easier for all people interested in test automation (and software development in general), I assembled a list of 6 books that will improve your understanding of software development and testing 📚
1️⃣ Continuous Delivery – Jez Humble & David Farley
This absolute must-read will introduce its readers to basic principles of Continuous Delivery: data and configuration management, continuous integration, version control, building and deploying, and finally – testing and test automation. While a lot of tools mentioned in this book are slightly outdated, its main principles are staying strong reminding us what is the bigger picture and the context of the test automation.
2️⃣ Explore It! – Elisabeth Hendrickson
Explore It! totally changed my understanding and approach to software testing. This book will make you look at your software under test from a completely different perspective by analyzing different issue sources, exploring, observing, and modeling. The book has a lot of real-world examples and a test heuristics cheat sheet that can significantly improve your test design capabilities 📈
3️⃣ Clean Code – Robert C. Martin
I doubt you don’t know about this one already, but I decided to mention it anyhow. Test automation code needs to have the same quality standards as the production code, and Clean Code is one of the books that are here to help. In a clean and concise manner, this book is dealing with some foundational coding principles and practices like naming conventions, formatting, comments, object-oriented principles, data structures, etc.
4️⃣ Eloquent JavaScript – Marijn Haverbeke
You can love JS, you can hate JS, but you can’t run away from JS. At least not in web development. Even if your test automation is written in some other language there are certain JavaScript tools, concepts, and APIs that will significantly help the testing and test automation of web apps. The book Eloquent JavaScript consists 3 parts: language, browser, and node. While there are a ton of good books about JavaScript, this one will provide you with just enough content to get started with JS without feeling confused and overwhelmed.
5️⃣ Automate the Boring Stuff with Python – Al Sweigart
If someone is talking about the general concept of automation in the software industry, the first thing on my mind is the Python programming language. It’s crazy to see what a few lines of Python can do and how they can help with some repetitive routines. The Automate the Boring Stuff with Python book is a cookbook of Python scripts that can be used to automate everyday tasks. The value of this book is not only in these examples but in the fact that it can change the way you perceive automation and trigger out-of-the-box thinking 💪
6️⃣ Linux Administration Cookbook – Adam K. Dean
Don’t panic, you won’t become a Linux administrator after reading this book, although 900 pages Linux book can be a bit scary at first. From my professional experience, a lack of understanding of Linux (CLI, package management, permissions, services…), GIT, SSH, containers, databases, and web servers sooner or later becomes a major issue and a blocker in the test automation area. I strongly advise getting familiar with these concepts as soon as possible, and this book definitely gets you covered with all topics mentioned above.
Conclusion
There are a few more books that deserve to be on this list, but I decided to keep it short and simple and to mention only the essential ones. Test automation is a multi-layered discipline that requires a broad knowledge of a variety of engineering principles and practices. This is why I prefer books that are dedicated to a concrete principle/tool/topic, instead of general, one-size-fits-all books ✅