It goes without saying that in order to carry out successful tests and prevent bugs from creeping into software products, testers should be experienced and well educated. As tools and techniques evolve, testers should stay on top of things by continuously educating themselves. But unfortunately not everyone has the time or the budget to take a course or go to a conference. Well, these days it’s not that big of a problem since you can find a lot of useful information on the Internet, watch a video or two or do some form of online training. You can’t complain about the lack of supply.
When asked about great books on software testing, our test engineers came up with this list. Some of these books are older, some newer, but they all are very well written and informative.
- Lessons learned in software testing by Cem Kaner, James Bach, Bret Pettichord (John Wiley & Sons) – Lots of practical advice and use cases. Covers not only the software testing part, but also time management and all those questions and struggles that both a young or experienced tester might be too shy to ask. It’s not a book about testing – it’s a book about the testing experience from a tester’s point of view. Authors of this book say that decades of software testing experience is condensed into the most important lessons learned and I couldn’t agree more.
- Advanced Software Testing – Vol. 2, 2nd Edition: Guide to the ISTQB Advanced Certification as an Advanced Test Manager by Rex Black (Rocky Nook) – If you have chosen your career path as Test Manager and certification is one of your goals, then this book won’t just prepare you for the ISTQB Advanced Test Manager certification, it will also give you a detailed overview about what is expected from a Test Manager. Besides different practices suggested in this book, the author also provides real life examples, which make this book easy to read and understand.
- Agile Testing: A Practical Guide for Testers and Agile Teams by Janet Gregory, Lisa Crispin (Addison-Wesley Professional) – In this book, both authors explain what Agile really means to testers, how tester need to transform their mindset and not just work in an agile environment, but also help the team to understand it and own it. Both authors also use real life examples, which make this book easy to read. On a side note, the 2nd edition of this book is released, but I suggest reading this one first, because the second one will probably have references to this one.
- A Practitioner’s Guide to Software Test Design by Lee Copeland (Artech House) – This book goes through the main test principles and ways how to design tests to achieve the goals of the tests. Quite a readable and understandable format, not very heavy reading material. This book not only presents all the important test design techniques, but also is filled with numerous case studies and examples of software testing techniques. It can really help to fully understand the practical applications of these techniques.
- Scaling lean and agile development by Craig Larman, Bas Vodde (Addison-Wesley Professional) – Not so much a precise book on testing, but this kind of book allows the reader to understand the importance of testing early and breaking tasks into smaller ones so that teams/projects can be scaled up to any size.
While compiling this list, I came up with some additional books that our engineers recognized as worth reading.
- How Google Tests Software by James A. Whittaker, Jason Arbon, Jeff Carollo
- Testing Computer Software by Cem Kaner, Jack Falk, Hung Q. Nguyen
- Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing by Elisabeth Hendrickson
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Working Effectively with Legacy Code by Michael Feathers
I just can’t finish this post without mentioning Safari Books Online. It’s the biggest technology education resource in the world. Our engineers love it not only because of the broad selection of books, videos and other materials, but their mobile apps are great and allow engineers to take their libraries with them and read whenever they have the time and opportunity.
What books on software testing can you recommend?