· software testing · 5 min read

5 Amazing Software Testing Books You have to Read

Testing is a vital part of Software Development. Read these 5 books about Software Testing Practices to write better and safer code.

Testing is a vital part of Software Development. Read these 5 books about Software Testing Practices to write better and safer code.

Books are the perfect gift. For others or for yourself, there is nothing that can bring more value to the people closest to you.

If you have a colleague that always misses writing unit tests (like I sometimes do), what better way to give him feedback than gifting him a book that focuses on Testing Practices?

This article focuses on books about Testing, if you are interested in general Software Tech Books, you can read an article about Tech Books you must read to be a better Software Engineer

Testing Software, as a practice, is still in its infancy even though it has been around forever, and nobody can deny that software with a robust set of tests is not only better but also last longer (is more maintainable and has a better Developer Experience).

Here are my 5 recommendations, I want to go through each of them and highlight what you will learn and what the best parts of the book are.

  • Test-Driven Development by Kent Beck
  • Effective Software Testing by Mauricio Aniche
  • Full Stack Testing: A Practical Guide for Delivering High-Quality Software by Gayathri Mohan
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by Jez Humble and David Farley
  • Testing Javascript Applications by Lucas da Costa
  • Test-Driven Development: By Example

Test Driven Development

Test Driven Development Cover

Not only by advocating for a practice that helps you design better software, but by explaining how to effectively Test your code.

This book is a hands-on experience, and you will write different pieces of software while doing TDD.

It does have the fault of using OOP as a paradigm for designing Software and it can get tricky if you plan on following along using a functional programming language or a language that does not implement OOP at its fullest like Javascript.

Nevertheless, it is practical, it explains amazing concepts from TDD like the Red-Green-Refactor pattern or Triangulation.

If you still have doubts about Unit Testing, give this book a try, it will convenience you of the utility and showcase how TDD can improve your coding abilities and take your design to the next level.

Effective Software Testing

Effective Software Testing Cover

Interested in getting started with Software Testing? Then this book is perfect for you, even if you are already experienced in the art of testing, Mauricio Aniche adds enough new concepts to keep even the most Senior Engineer engaged.

The author, a professor by trade, goes into the gritty detail of creating your test suites as a developer and explains all testing practices with backed-up research and references.

Overall, Effective Software Testing is a useful resource for anyone involved in software testing, including testers, test managers, and developers.

It provides a comprehensive overview of the software testing process and offers practical insights and techniques for improving the effectiveness of your testing efforts.

The only downside is that the author uses Java for all the examples. But we can’t all be perfect and code in Javascript every day right?

Full Stack Testing

Full Stack Testing Cover

Looking for a comprehensive Introduction to Testing? Then this book is for you! It teaches you every strategy and practical implementation you can use either as a developer or a QA engineer.

The best part of this book is its practicality. There are more than 30 tools with examples that you can use as you are reading this book. The book has examples of:

  • Exploratory Testing
  • Test Automation
  • Data Testing
  • Mobile Testing
  • Visual Testing

And more… like integrating everything in CI/CD pipelines.

The downside of this book is that it tries to explain too much, too many subjects, and because of this it does not deep dive into a particular skill.

And while it does have tools and practices that are used NOW, it does not mean it will be factual once new paradigms come out.

Continuous Delivery

Continuous Delivery Cover

Continuous Delivery is not a book about testing per-se but it talks about automation, and in today's software world a ticket is not finished when the development part is done and verified but when it actually reaches production.

CI / CD pipelines are the norm in every Software or Product company, and a big part of the pipeline checks are focused on testings actions.

With this book, you will learn Why Continuous delivery is important and How to implement good testing practices in your CI / CD pipeline.

Overall the book is perfect if you want to understand how CI/CD pipelines work and how testing fits into it.

The one downside I found Continuous Delivery, written in 2010, is a long time in today’s fast-moving industry.

GitHub Actions and companies like Docker have revolutionized the CI/CD market and a lot of the magic that is happening today is not part of this book.

Testing Javascript Applications

Testing Javascript Applications Cover

The author of Testing Javascript Applications is an active maintainer of Chai.js and Sinon.js, both JS testing libraries and a contributor to Jest, so he is highly recommended(?) to write about Testing in Javascript.

Modern Javascript Applications are composed of multiple libraries, components, and utility functions, add to that different ways to handle data orchestration and you have yourself a big bag mix of everything that needs to be tested.

In this book, you have everything you need to know to handle complex Javascript Apps, from mocking, spies, and code examples to TDD best practices and how to implement a culture of quality by writing better tests.

My one issue with this book is that it also focuses on the backend side of Javascript, and quite a lot. As a lowly Frontend Engineer for me, a lot of parts of the book were a waste of time, but I would gladly recommend this book to any friend.

    Back to Blog