Common Testing Problems: Pitfalls to Prevent and Mitigate
July 2013 • Podcast
Donald Firesmith Interviewer Suzanne Miller
Don Firesmith discusses problems that occur during testing as well as a framework that lists potential symptoms by which each can be recognized, potential negative consequences, and potential causes, and makes recommendations for preventing them.
Software Engineering Institute
Testing by itself just isn't going to get the job done. Testing typically only finds 50 percent of the problems in the code. Since a lot of the problems are introduced during requirements engineering and architecting, it really makes sense to try to both prevent those problems up front and to find the problems then instead of during the typical test cycle when they're much, much more expensive to fix.
The National Institute of Standards & Technology (NIST) reports that inadequate testing methods and tools annually cost the U.S. economy between $22.2 billion and $59.5 billion, with roughly half of these costs borne by software developers in the form of extra testing and half by software users in the form of failure avoidance and mitigation efforts. The same study notes that between 25 percent and 90 percent of software development budgets are often spent on testing. In this episode, SEI researcher Don Firesmith discusses problems that commonly occur during testing as well as his development of a framework that lists potential symptoms by which each can be recognized, potential negative consequences, and potential causes, and makes recommendations for preventing them or mitigating their effects.
About the Speaker
Donald Firesmith, a senior researcher at the SEI, supports the U.S. Navy and other government program offices in the acquisition of software-intensive systems by providing practical guidance with regard to requirements engineering and system/software architectures. The author of several books and journal articles, Firesmith also develops and maintains new technologies such as methods for engineering safety and security requirements as well as assessing the quality of system requirements and architectures.