1 – Testing Computer Software, by Cem Kaner, Hung Q. Nguyen, Jack Falk
This book is a real classic that should be read by specialists, starting at the junior level. It differs from other books for QA engineers primarily in its attachment to the conditions of the real world, using the example of well-known Silicon Valley development companies
The authors thoroughly consider a wide range of issues, from the organization of the quality assurance process to the actual testing of documentation, code, projects, etc. If you are new to software testing or have some experience but no formal training, this book will provide you with the right tools to approach software testing and will also give you insights that could take you years to learn on your own.
This book does not discuss the testing techniques used in agile development approaches. Also, it may be difficult to focus on what the writers are attempting to express without being sidetracked or shut down by outmoded examples. But, putting that aside, it’s an excellent book for QA engineers.
2 – Testing Computer Software, by Lee Copeland
One of the greatest books for QA engineers that can be very useful for specialist at various levels. It only covers design of tests and does not consider issues of planning and organization of the testing processes. However, in this book for QA engineers you can find both new methods and in-depth description of already known ones. For example, Testing Computer Software describes sevend approaches to testing using the “black box” method and several “white box” methods. There is nothing superfluous here, only useful and practical examples with tables and diagrams, a clear description of techniques and additional tips. At the end of the book there´s a section with conclusions and list of other author´s works on the topic that can also useful. I recommend it if you want to prepare to obtain a professional certification.
In my opinion, this book gives the best account of pairwise testing that I have found, with or without using orthogonal arrays. Besides being detailed, it includes examples to make it clear. The test coverage that can be achieved with well-chosen pairwise test cases seems too good to be true. According to the author, some tester prudence should be used to supplement the technique if necessary.
3 – How Google Tests Software, by James Whittaker, Jason Arbon, Jeff Carollo
Oriented more toward senior engineers, this book will show how the best of the best QA specialists conduct their testing. The book gives an overview of the approach Google takes to testing software, followed by chapters dedicated to the two test engineering roles at Google, which are the Software Engineer in Test (SET) and Test Engineer (TE) roles. Throughout the book, there are sections and interviews with many other Google employees, with the final chapter being dedicated to some of the thoughts on the direction of testing at Google.
Note that just because something works well at Google doesn’t necessarily mean that it will work well at some other company making some other type of product. Even Google could have made some different choices for some of their testing solutions and been equally successful.
4 – Lessons Learned in Software Testing, by Cem Kaner, James Bach, Bret Pettichord
This is one of my favorite books for QA engineers. It’s a fabulous collection of tips, hints, and techniques for both the new and the experienced person working in a software test department. It covers obvious areas like testing techniques, automated testing (the material about what automated testing can’t do is very high-grade), documenting testing, and managing a test project.
The book starts with the role of a tester. The next chapter relates to how to think as a tester and provides interesting references in completely different knowledge areas that may help testers improve. Another chapter covers different testing techniques, bugs in the writing, and test automation. There are also chapters that relate to working with others.
5 – Agile Testing: A Practical Guide for Testers and Agile Teams, by Lisa Crispin and Janet Gregory
This book talks about using Agile testing quadrants to figure out what testing is required, who can perform the testing, and what tools can aid in it. Here are some key insights you could learn from this book for QA engineers:
How to get testers engaged in agile development
Where testers and QA managers fit on an agile team
What to look for when hiring an agile tester
How to transition from a traditional cycle to agile development
How to complete testing activities in short iterations
How to use tests to successfully guide development
How to overcome barriers to test automation