缺陷群集效应的定义
看到了好多种不同的说法,均有差别,大概有以下几个门派
- 如果系统中有很多小缺陷,那么这些小缺陷可能会联合起来导致一个大缺陷,以至于出现了系统崩溃等严重后果
- 八十二十原则。80%的缺陷会集中在20%的模块里
- 如果在一个模块里出现了缺陷,则会有更多类似的相关缺陷
当然每句话单独看起来都对,但是表达的意思都不一样。为了严谨起见,调研了外文网站的解释
- 缺陷在软件系统中不是均匀统一分布的,而是集中在一些特定模块里
Defect clustering in software testing refers to a non-uniform distribution of defects throughout the application. It is instead concentrated in a few select areas of the application.(https://www.browserstack.com/)
- 一些特定的小错误聚集在一起,会导致一个系统中出现占比很大的系统失败(原理是缺陷具有互相依从性,一个缺陷导致另一个缺陷)
Defect clustering is a common phenomenon in software testing, and it refers to the tendency of a small number of defects or errors to cause a large percentage of system failures(https://yogeshdhole.medium.com/defect-clustering-in-software-testing-bec1c5186c77)
对系统质量管理的意义
基于缺陷群集效应,对软件开发人员和测试人员的意义在于:
- 将更多的资源和精力,集中在群集的区域,能够得到更高的回报
- 当识别并解决了一个缺陷集群,可以直接使得大量相关的缺陷被解决,快速改善系统质量
如何识别缺陷的群集效应
- 分析项目或者类似项目的历史缺陷数据
- 进行风险分析
- 针对已有缺陷,进行根因分析
- 进行基于经验的探索性测试