You know, I was so excited to get these bookshelf posts up before someone else posted a book list…but while catching up on a colleagues blog, I saw that he created a book post. Worse yet, we like the same damn books.
However, I can’t stop something I’ve started, so I’m going to post my list even if it’s mostly the same. The “value add” (as they say in the business) from my post will be my comments - ymmv.
If you know a little about testing, and want to get a good overview of an armful of effective test techniques, Lee Copeland’s Practitioners Guide is where you want to start. In addition to covering equivalence classing, combinatoric testing and even state-transition (model based) testing, Lee gives an objective view of exploratory testing that explains the benefits and drawbacks, and doesn’t fall back on the epistemology/saving the future of testing mumbo-jumbo that tends to drive discussion of ET. (oops didn’t mean to go there…).
Another good overview of testing is Glenford Myers Art of Software Testing. This used to be my favorite until I got a chance to read Lee’s book. However, don’t think that you only should read one or the other. In my opinion, these two books work as great companions to each other. Neither book is suitable for someone who hasn’t done much with software testing, but both books should be required reading for anyone attempting to make a career as a tester.
If you want to dig deeply into structural testing techniques, you can’t find a better reference than Boris Beizer’s Software Testing Techniques. This book focuses entirely on white box techniques, including path testing, control flow, and logic based testing – so much so that I’d also highly recommend it for any developer who is serious about creating effective unit tests.
Finally, I’d like to recommend Testing OO Software by Bob Binder. Despite the title, this book isn’t really just for OO software. Binder’s patterns of software test are as important for testers to know as design patterns are for developers. Binder also covers a lot of the theory behind model based testing. The drawback with this book is the size. Although I’ve read every page in the book at least 2 or 3 times, I’ve never managed to work my way straight through from cover to cover (I’m too tired to lift my copy off of the shelf, but I think it’s around 1100 (eleven-hundred) pages).
Any others you would recommend? I’ve left a few off on purpose, but I would be happy to discuss why.