In his preface of the book “Common System and Software Testing Pitfalls”, Donald G. Firesmith writes “You can think of this book as a catalog and repository of testing antipatterns: the pitfalls to avoid, how to mitigate their negative consequences if you can’t avoid them, and how to escape from them once you’ve fallen in. Like a naturalist’s field guide to wild animals, let this be your guidebook to the dangerous world of testing mistakes and its denizens – the many creative ways people have discovered to botch testing.”
This is an interesting approach that focuses more on “things to avoid” than “how to do things” in software testing. Common System and Software Testing Pitfalls is well organized and structured around the presentation of the 92 software testing pitfalls. I was however somewhat disappointed by the book. Written in a “bullet” style, it remembered me the moments where you browse the slides of the conference presentation: you know what the author is talking about, but you feel like you miss some important information that should be associated with each bullet and was transmitted by the speaker. The book is biased towards software testing in large projects or regulated context that can be understandable with the SEI background of the author. I am not sure that a lot of projects will be able to produce documents discussed in the book such as a Test and Evaluation Master Plan (TEMP), System Test Plan (STP), Test Strategy Document (TSD), System Engineering Management Plan (SEMP) or Software Development Plan (SDP).
Common System and Software Testing Pitfalls is however a valuable resource for software testers that want a structured approach to analyze and improve their software testing process, especially if they work in contexts that requires important software testing efforts or where final products are submitted to official approvals.
Reference: “Common System and Software Testing Pitfalls: How to Prevent and Mitigate Them: Descriptions, Symptoms, Consequences, Causes, and Recommendations”, Donald G. Firesmith, Addison-Wesley, 278 pages
There seem to be some social reasons for why testing is not as sophisticated as it should be. One of these is that not every test team member actually reads any of the books on testing. Another is that tests by certified test personnel who do know how to test well are still outnumbered by amateur testers or developers who may lack training and who may not have read the testing books either.
Wrong Testing Mindset (GEN-SIC-1): Some testers and testing stakeholders have an incorrect testing mindset, such as (1) the purpose of testing is to demonstrate that the system works properly rather than to determine where and how it fails, (2) it is the responsibility of testers to verify or “prove” that the system works, (3) the system is assumed to work, and so there is no reason to show that it doesn’t work, and (4) testing is viewed as a cost center (that is, an expense) rather than as an investment (or something that can minimize future expenses).
Requirements Churn (GEN-REQ-6): Testers waste an excessive amount of time and effort developing and running test cases based on many requirements that are not sufficiently stable and that therefore change one or more times prior to delivery.