软件测试缺陷密度的计算方法
一、缺陷密度
基本的缺陷测量是以每千行代码的缺陷数(Defects/KLOC)来测量的。称为缺陷密度(Dd),其测量单位是defects/KLOC。缺陷密度=缺陷数量/代码行或功能点的数量。
二、计算方法
可按照以下步骤来计算一个程序的缺陷密度:
1. 累计开发过程中每个阶段发现的缺陷总数(D)。
2. 统计程序中新开发的和修改的代码行数(N)。
3. 计算每千行的缺陷数Dd=1000*D/N。例如,一个29.6万行的源程序总共有145个缺陷,则缺陷密度是: Dd=1000*145/296000=0.49 defects/KLOC。
在缺陷密度度量中存在的两个主要困难是:
1. 缺陷权值如何计算:是否将严重程度较轻的缺陷和较重的缺陷同等对待。
2. 代码行怎么统计:代码行的数量可能会因编程人员的技术水平和所使用的语言不同而不同。
3. 对于黑盒测试人员,可能不太容易获取到代码行数。
为了解决以上问题,缺陷密度计算方法可以改为:
D/C 即缺陷总权值 除以 功能总权值
缺陷总权值计算方法 = Sum(缺陷数x该缺陷等级的权值)
权值可以根据自己项目的实际情况,进行拟定。
功能权值计算方法跟缺陷权值计算方法类似,项目经理根据各个功能模块的复杂度拟出每一个模块权值,为了对不同项目缺陷密度的可比性,不同项目的功能权值要求要基本大致相同。
例如:
三、 具体实例
从度量库《数据收集表》中提取数据分析。
说明:系统测试阶段的缺陷严重等级分为四级(提示、一般、严重、致命),按照严重等级为一般做为标准单位换算,4个轻微=1个一般,1个严重=2个一般,1个致命=3个一般;
缺陷严重性定义: 致命--系统崩溃,丢失数据或内存溢出等严重错误 ; 严重--主要功能或业务无效 ;一般--系统功能部分无效 ;提示--琐碎-拼写错误,文本未对齐,数据长度格式校验等
系统测试发现缺陷密度:
序号 | 项目简称 | 项目有效代码行数(KLOC) | 系统测试发现的缺陷数(个) | 缺陷密度 | 数据说明 | |||
轻微 | 一般 | 严重 | 致命 | |||||
1 | XXXXXXXX结算分析系统 | 139.06 | 8 | 44 | 91 | 39 | 2.481 | Dd(千行代码测试缺陷密度)=[39*3+91*2+44*1+8*(1/4)]/139.06=2.481 |
2 | xxxx财务分析系统 | 139.06 | 94 | 118 | 55 | 12 | 2.067 | 同上 |
3 | ||||||||
4 |
计算出缺陷密度值,用该值与以前的项目的缺陷密度值进行比较,如果在此范围,则可作为一个测试充分的参考依据 ,上表计算出的的Dd=2.481,2.481都已经小于此表中对应值的下限5了,从一定角度上来说该项目测试还不充分!
质量目标 |
下限 |
中值 |
上限 |
优先级 |
备注 |
测试密度(测试用例/KL) |
25 |
35 |
60 |
高 |
若实际值与质量目标有偏差,请说明。 |
软件测试计划评审缺陷发现密度(个/页) |
0.16 |
0.2 |
0.24 |
中 |
|
系统测试用例评审缺陷发现密度(个/KLOC) |
0 |
0 |
3 |
高 |
|
系统测试缺陷发现密度(个/KLOC) |
5 |
10 |
15 |
高 |
|
测试缺陷发现密度(个/KLOC) |
0 |
0 |
0 |
中 |
|
发布后缺陷发现密度(个/KLOC) |
0 |
0 |
1.5 |
低 |
|