序号 | 优先级 | 度量对象 | 度量元 | 度量单位 | 采集周期 | 采集/计算方法 | 分析方法 | 作用 |
1 | 1 | 用户发现的各类型的缺陷 | 缺陷个数 | 个 | 交付阶段 | 直接统计 | 80-20分析:对缺陷类型按缺陷个数排序,找出客户发现的最多的20%的缺陷类型 | 分析客户的关注点是什么?为什么客户能发现这些类型的缺陷,为什么我们没有测试出来?定义改进措施 |
维护阶段 | ||||||||
2 | 1 | 软件模块 | 缺陷密度 | 个/KLOC | 系统测试阶段 | 缺陷个数/代码规模 | 80-20分析:对所有模块的缺陷密度进行排序比较,找出缺陷密度最大的20%模块 | 找出质量最差的模块,采取改进措施 |
3 | 1 | 遗留的缺陷 | 缺陷个数 | 个 | 系统测试阶段 | 上阶段遗留的缺陷个数+本阶段发现的缺陷个数-本阶段解决的缺陷个数 | 和阶段出口准则对比 | 里程碑评审决策的依据 |
4 | 1 | 各级别严重程度的缺陷 | 缺陷个数 | 个 | 系统测试阶段 | 直接统计 | 和项目目标对比 | 判断是否达到测试结束与产品发布准则 |
5 | 1 | 回归测试活动 | 缺陷个数 | 个 | 系统测试阶段 | 直接统计 | 趋势线分析:横坐标为某次回归测试,纵坐标为缺陷个数,建立拟合曲线,判断收敛性 | 针对每次回归测试活动,进行收敛分析,作为发布决策的依据 |
6 | 2 | 代码走查 | 代码走查的效率 | 个/小时 | 编码阶段 | 代码走查发现的缺陷个数/代码走查的工作量 | 和项目目标对比 | 比较评审与测试的效率,以确定二者投入工作量的比例 |
7 | 2 | 单元测试 | 测试效率 | 个/小时 | 编码阶段 | 单元测试发现的缺陷个数/单元测试的工作量 | 和项目目标对比 | 建立单元测试的性能基线,预测单元测试投入的工作量 |
8 | 2 | 系统测试 | 测试效率 | 个/小时 | 系统测试阶段 | 缺陷个数/测试工作量 | 和项目目标对比 | 建立测试活动的投入产出模型,用以估计为了达到项目的质量目标而需要的测试工作量 |
9 | 2 | 系统测试 | 系统测试用例相对逻辑规模的密度 | 个/功能点 | 系统测试阶段 | 系统测试用例个数/需求的规模 | 和项目目标对比 | 判断系统测试的充分性 |
10 | 2 | 系统测试 | 系统测试用例相对物理规模的密度 | 个/KLOC | 系统测试阶段 | 系统测试用例个数/代码规模 | 和项目目标对比 | 判断系统测试的充分性 |
11 | 3 | 测试发现各类型的缺陷 | 缺陷个数 | 个 | 编码阶段 | 直接统计 | 80-20分析:对缺陷类型按缺陷个数排序,找出最多的20%的缺陷类型 | 根据类型的分布,查找错误的原因,定义编码或设计的改进措施 |
系统测试阶段 | ||||||||
12 | 3 | 单元测试 | 缺陷密度 | 个/KLOC | 编码阶段 | 单元测试发现的缺陷个数/代码规模 | 和项目目标对比 | 建立单元测试的性能基线,用以制定项目的质量目标 |
13 | 3 | 单元测试 | 单元测试用例相对物理规模的密度 | 个/KLOC | 编码阶段 | 单元测试用例个数(或断言的个数)/KLOC | 和项目目标对比 | 判断单元测试的充分性 |
14 | 3 | 集成测试 | 集成测试用例相对物理规模的密度 | 个/KLOC | 集成阶段 | 集成测试用例个数/KLOC | 和项目目标对比 | 判断集成测试的充分性 |
15 | 3 | 系统测试 | 测试用例的有效性 | % | 系统测试阶段 | 依据测试用例发现的缺陷个数/所有的缺陷个数 | 和项目目标对比 | 评价测试用例的有效性,判断是否需要提高测试用例的设计技术 |