Common System and Software Testing Pitfalls

In the preface of “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. The book is well organized and structured around the presentation of the 92 software testing pitfalls. I was however a little bit 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.

Common System and Software Testing Pitfalls

The book seems also 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).

This book and the associated web sites can be considered as a valuable resources 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, IBSN 978-0133748550

Web site:

Get more reviews on this book or buy it on
Get more reviews on this book or buy it on


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.