3.1.3 潜在缺陷和缺陷起源

直到现在,关于潜在缺陷的讨论一直围绕着整个应用程序。但是,缺陷来自多种起源点,并且对于不同的缺陷来源,并不是每个缺陷预防方法都有同等的效率。

表3-3按照起源展示了拥有1000个功能点的应用程序的潜在缺陷。这个表还展示了与每个起源点相关的缺陷预防方法。注意,不是所有的缺陷预防方法都同时被使用。表3-3给出了针对缺陷起源点被证明成功的所有缺陷预防方法。

表3-3仅仅指出大致的结果。缺陷预防有效性的范围根据团队的经验和使用方法的严格度可以并且事实上也在变化。

表3-3中,缺陷预防方法在每个缺陷起源点下按照英文字母排序。换句话说,这里的顺序并不反映预防方法的有效性。

尽管表3-3有较大的误差范围,但这些主题中确实有一部分拥有相当好的支持证据。例如,对需求、设计和编码的正式审查的使用已经超过40年,并且从数百个项目中得到了一些非常好的数据。很多相似的应用程序可以用来对使用了审查和没有使用审查的情况进行比较。静态分析是一种较新的技术,但是也有很多相似的应用程序,有些使用了现代的静态分析工具,有些没有使用。