测试过程分析的15个常用度量元 |
序号 |
优先级 |
度量对象 |
度量元 |
度量单位 |
采集周期 |
采集/计算方法 |
分析方法 |
作用 |
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 |
系统测试 |
测试用例的有效性 |
% |
系统测试阶段 |
依据测试用例发现的缺陷个数/所有的缺陷个数 |
和项目目标对比 |
评价测试用例的有效性,判断是否需要提高测试用例的设计技术 |