And there's research that supports this pessimistic view. In fact, most forms of testing are not very efficient, and find only about 25% to 40% of the bugs that are actually present[1]. No wonder the experts from the article mentioned above, when asked when testing is done, answered never. But what we're missing here is the investigation of "most forms of testing." What is that? Well it must be what we're doing if we all somehow agree that you can't find all the bugs in a product. The important thing is, that no matter how you attempt to answer this question, it's not something we want to reinforce! The question to ask (and answer) is "What other forms of testing must we do in order to find ALL the bugs in a product?" As it turns out, there are folks that spend time trying to answer that question.
Defect removal efficiency originated in IBM in the early 1970’s as a method for evaluating testing effectiveness. Because this metric provided information that could be used for inspections and static analysis, as well as testing, it has become a general way of measuring the relative effectiveness of all forms of defect removal activity. Recent findings by companies such as IBM, Coverity, and DovĂ©l Technologies show removal efficiency levels that often top 96%.96% removal efficiency? Really? Yes, and there are expectations that defect removal efficiency can approach 99%. Now we're talking quality. How is this being done, i.e. what other forms of testing are being done to achieve this? As it turns out, there's no silver bullet. But there is an engineering process that contributes to this - coverage is expanded through different defect prevention and detection tests types. Here's the list of what those are:[2]
- unit test
- new function test
- regression test
- performance test
- security test
- usability test
- system test
- some form of external test with customers or clients, such as Beta test or acceptance test
If you want to find out more, check out the article Predicting Test Cases and Test Team Size, by Capers Jones, President, Capers Jones & Associates LLC.
[1] Predicting Test Cases and Test Team Size, by Capers Jones
[2] ibid

3 comments. Add Comment.:
Perhaps I need to reread because I think I'm missing something. Unless you know how many defects there are in the first place how can anybody state that 9whatever% have been found and removed?
Tony,
I know what you mean. I had to reread the article to find out how defect removal efficiency was calculated. I found this explanation:
"After unit test is finished, all other defects found by all other tests are recorded, as are defects found by customers in the first 90 days. When all defects have been totaled, then removal efficiency can be calculated."
So it looks like the calculation is after the fact - count all defects through the first 90 days of being in customer's hands and that gives you the total number of defects to compare to how many were found before shipping.
Well that's a convenient way to calculate bug coverage. The dirty little secret those of us who test software know is 80% of the customers will only use 20% of the products functionality. Which still leaves us wondering how many bugs are yet to be discovered.
Post a Comment