Good books on software testing
This year I read numerous books on software testing. Over thirteen books had the words 'testing' or 'test' in the title. Of all of these, only four of them were really good books:
- Lessons Learned in Software Testing
- Test-Driven Development: By Example
- How to Break Software: A Practical Guide to Testing
- How to Break Software Security: Effective Techniques for Security Testing
Out of all thirteen, these were the only four I would recommend to someone who wanted to know about testing.
Most of the problems I found with the other books related to problems like the one I pointed out in Bad books on software testing. Things like universal statements about what testing is and what it should be. Or authors who list techniques for working in unrealistic project environments. Processes and documentation schemes that would make you cry if you actually implemented ALL of it. Or possibly it's the fact that most authors show little references to where their research comes from (if they have any at all). Finally, in the last few books I read I found an overwhelming amount of time spent with the waterfall development model (and subsequently the v-model).
So where is all the good information on software testing?
Not in books on software testing!
This year, the best books I read on software testing had nothing to do with testing. If you want a good book on the basics of exploratory testing, read Sometimes the Magic Works. If you want a book on performance testing, read To Engineer Is Human: The Role of Failure in Successful Design. Need to know more about usability testing, read The New Brain: How the Modern Age Is Rewiring Your Mind. If you want to become more effective in your role as a tester, read Amplifying Your Effectiveness. And if you want to be better equipped to understand your project environment, corporate culture, and the inner dynamics of your test team, read The True Believer: Thoughts on the Nature of Mass Movements.
I have concluded that most books on software testing are for people new to software testing. Of course this is purely anecdotal and based on the few books I have read (I do not claim to have an excessively large number of books on software testing).
I would however also point to a list of books recommended by Cem Kaner, James Bach, and Brett Pettichord. In Chapter Two of their book Lessons Learned in Software Testing, titled "Thinking Like a Tester", how many books on software testing do you think they recommend?
- Tools of Critical Thinking: Metathoughts for Psychology
- Thinking and Deciding
- The Craft of Research
- Cognition in the Wild
- Theory and Evidence: The Development of Scientific Reasoning
- Proofs and Refutations : The Logic of Mathematical Discovery
- An Introduction to General Systems Thinking
- Discovery of Grounded Theory: Strategies for Qualitative Research
- Basics of Qualitative Research : Techniques and Procedures for Developing Grounded Theory
- Exploratory Data Analysis
- Conjectures and Refutations: The Growth of Scientific Knowledge
- Exploring Requirements: Quality Before Design
- How to Solve It
- Things That Make Us Smart: Defending Human Attributes in the Age of the Machine
- The Social Life of Information
Of all these books, only one of them could be argued to be a book on software testing.
With that in mind, I need some more good books on testing, and for the coming year I think I'm done reading books on testing. Can you recommend a good book? Please feel free to comment below.