当前位置:文档之家› 软件质量度量

软件质量度量


TDCE=发布前缺陷数/(发布前缺陷数+发布后缺陷数)


问题2.2:对以具体软件项目而言,在软件开发的每 个构造阶段引入故障的当前一直遏制有效性如何? 度量2.2:阶段i的阶段遏制有效性(Phase Containment Effectiveness, PCEi)

PCEi=阶段i出错数/(阶段i出错数+阶段i缺陷数)

AOP=本月末仍未解决的发布后问题持续未解决的总时间/ 本月末仍未解决的发布后未解决问题数

问题5.4:本月期间已解决问题的平均寿命是多少? 度量5.4:已解决问题的平均寿命(Age of Closed Problems,ACP)

ACP=本月已解决的发布后问题的持续未解决的总时间/本 月解决的发布后未解决问题数
四、度量程序的例子

1、摩托罗拉 2、IBБайду номын сангаас Rochester
26
火龙果整理
1、摩托罗拉

摩托罗拉的软件开发质量政策(QPSD)

目标

1、改进项目计划制定 2、提高缺陷遏制能力 3、提高软件可靠性 4、降低软件缺陷密度 5、改进顾客服务 6、降低不符合性的费用 7、提高软件生产率
12
火龙果整理
缺陷率度量和顾客问题度量比较
缺陷/KLOC
分子 有据且不同的产品 缺陷数
PUM
所有顾客问题(缺 陷性和非缺陷性, 首次的和重复的)
分母
测量角度 作用范围
产品大小(KLOC) 产品的顾客使用 (用户一月数)
生产者-软件开发机 顾客 构 内在产品质量 内在产品质量加上 其他因素
33
火龙果整理
1、摩托罗拉

目标4:降低软件缺陷密度


问题4.3:交付给顾客软件的当前已知顾客发现的缺 陷量是多少? 度量4.3a:顾客发现缺陷数total(Customer-Found Defects total,CFD total)

CFD total=顾客发现缺陷数/汇编等价总源代码大小
30
火龙果整理
1、摩托罗拉

目标3:提高软件可靠性


问题3.1:软件失效率是多少?怎样随时间 变化? 度量3.1:失效率(Failure Rate, FR)

FR=失效率/执行时间
31
火龙果整理
1、摩托罗拉

目标4:降低软件缺陷密度


问题4.1:过程中故障的规格化数目是多少?它和过 程中缺陷数相比如何? 度量4.1a:过程中故障数(In-process Faults,IPF)
19
火龙果整理
4、缺陷排除有效性



缺陷排除有效性(DRE)定义:DRE=开 发阶段排除的缺陷数/产品中潜伏的缺陷 数 分母估计:在现阶段排出的缺陷数+以后 发现的缺陷数 该度量值越高,开发过程越有效
20
火龙果整理
三、软件维护的度量


度量4.3b:顾客发现缺陷数delta(CFD delta)

CFD delta=有增量式软件开发引起的顾客发现缺陷数/汇 编等价总源代码大小
34
火龙果整理
1、摩托罗拉

目标5:改进顾客服务

问题5.1:本月期间还未解决的新问题数是多少? 度量5.1:新未解决问题数(New Open Problems,NOP)
1、机器测试期间的缺陷密度


正式机器测试(将代码集成到系统库之 后的测试)期间的缺陷率,通常同现场 得到的缺陷率正相关 正相关:在测试中发现的缺陷越多,以 后发现的缺陷也越多
17
2、机器测试期间的缺陷出现模式

火龙果整理

测试期间的总缺陷率是一个简明指示器,而失 效间隔则能给出更多信息。 测试期间缺陷出现模式
1.缺陷密度(率)度量

缺陷率-软件大小

通常千行源代码数(KLOC) 功能点
4
火龙果整理
例子:KLOC


KLOC-物理行计数?指令语句计数?是否 加数据定义?注解?首次发布与更新版 本后 当更新版本后: 更改标记法


LOC重新计数 缺陷跟踪—使用更改标记法(change flagging)
例子:功能点

第一步 Wij是5个成分按复杂性级别的加权因子, Xij是应用程序中每种成分的数目
7
火龙果整理
例子:功能点

14个特征:





数据通信 分布式功能 性能 频繁使用的配置 事务率 联机数据项、 最终用户效率 联机更新 复杂处理 可重用性 易安装性 易操作性 多站点 易更改性
PUM=一个时段内的顾客报告的问题总数/在此期间软 件许可证月总数 许可证月总数=软件的安装许可证数*计算时段中的月 数
11
火龙果整理
2、顾客问题度量

降低PUM措施


改进开发过程,减少产品缺陷 通过改进产品的所有方面(实用性及文档)、 顾客教育和支持减少非缺陷性问题 增加产品销量(安装许可证数)


通常使用第二个度量,某些时候为降低非满意 百分数,也使用第4个度量 也可使用加权指数法
15
火龙果整理
二、过程中质量度量

1、机器测试期间的缺陷密度 2、机器测试期间的缺陷出现模式 3、基于阶段的缺陷排除模式 4、缺陷排除有效性
16
火龙果整理



除测试外,还需跟踪开发周期所有阶段中的缺 陷,包括设计评审、代码审查、测试前的正式 验证 IBM开发项目的缺陷排除模式表明将缺陷排除 的重点放在前期则质量要好 缺陷排除的各个阶段:高层设计评审(I0),底 层设计评审(I1)、代码审查(I2)、单元测试 (UT)、部件测试(CT)、系统测试(ST)

EEA=实际项目工作量/估计项目工作量
29
火龙果整理
1、摩托罗拉

目标2:提高缺陷遏制能力


问题2.1:发布前缺陷检测过程的当前已知有效性如 何? 度量2.1:全部缺陷遏制有效性(Total Defect Containment Effectiveness, TDCE)
5
火龙果整理
例子:功能点

一个应用程序5个主要成分的加权总和



外部输入数(例如,事务类型) 3~6 外部输出数(例如,报告类型) 4~7 逻辑内部文件数 7~15 外部接口文件数 5~10 外部查询数(支持的联机查询种类) 3~6
6
火龙果整理

NOP=本月未解决的新发布后问题总数

问题5.2:本月末未解决的问题总数是多少? 度量5.2:未解决问题总数(Total Open Problems,TOP)

TOP=本月末仍未解决的新发布后问题总数
35
火龙果整理
1、摩托罗拉

目标5:改进顾客服务

问题5.3:本月末未解决问题的平均寿命是多少? 度量5.3:未解决问题的平均寿命(Age of Open Problems,AOP)
24
火龙果整理
4、修补质量



一个修补是有缺陷的:没有修补报告的 问题或者修补了原有问题同时又注入了 新的缺陷 将会严重影响顾客满意度 两种记录方式:发现它的月份或是按交 付修补的月份记录 维护过程的质量目标应当为无逾期的、 零有缺陷修补。
25
火龙果整理

已成为一个关键的生产率测度 主要应用于应用软件而非系统软件
10
火龙果整理
2、顾客问题度量

来自顾客的视角

缺陷性问题(缺陷率度量) 非缺陷性问题(使用性问题、不明确的文档或者信 息、有据缺陷的重复出现)

采用PUM( problems per user month)表示


测试期间按时间间隔出现的缺陷数,原始数据,不 一定有效 有效缺陷出现的模式-当报告的问题得到确定时 缺陷超时累积模式:开发机构不能立即审查和修补 所有报告的问题。若开发周期结束时缺陷累积仍然 大,则需要回归测试才能保证系统稳定性和确保产 品质量等级
18
火龙果整理
3、基于阶段的缺陷排除模式
8
火龙果整理
例子:功能点


第二步 将这些特征分值(从0到5)按下列公式加 起来,形成价值调整因子(value adjustment factor, VAF) 其中Ci是通用系统特征i的分值
9
火龙果整理
例子:功能点

最后,得到了功能点数

FP=FC*VAF
13
火龙果整理
3.顾客满意度度量

5级尺度



非常满意 满意 一般 不满意 非常不满意
14
火龙果整理
3.顾客满意度度量

5级尺度基础上,构造几种度量

完全满意顾客百分数 满意顾客百分数(满意和完全满意) 不满意顾客百分数(不满意和完全不满意) 非满意顾客百分数(一般、不满意和完全不满意)
27
火龙果整理
1、摩托罗拉

摩托罗拉的软件开发质量政策(QPSD)

测量领域

交付缺陷数和按标准大小的交付缺陷数 全过程的总有效性 遵循进度 估计准确性 未解决顾客问题数 问题持续未解决的时间 不符合性的费用 软件可靠性
28
火龙果整理
火龙果整理
软件质量度量

大纲:
相关主题