问题来源于一些同僚的问题。
“Vincent,老板让我发一份软件质量报告,你有模板吗?”
“是测试报告吗?”
“No,No,应该不是测试报告,是质量报告。”
测试报告大家都大概知道怎么做,但是质量报告呢,说起来他到底与测试报告有什么不同?
仔细思考,其实这两种报告之间的差异还是比较直观的。
测试报告,更多是以测试为出发点,关注测试工作的背景、过程、完成度和结果。当然,测试的报告也能反应出一个产品的质量,但是他的衡量一般不够直观(比如缺陷数量这种数据,由于软件规模不一样,是不能用来对软件质量进行客观评价的)。
而质量报告,则以产品质量为出发点,核心关注内容就是产品质量。测试工作量及相关问题,则不是他关注的重心。
如果说测试报告是向直接领导汇报工作,那么质量报告则是向利益干系人报告产品情况。可以说二者的差异在于出发点和关注点的不同,当然也有功能重叠的部分。
1. 质量报告内容
那么软件质量报告怎么报告?思路上,笔者认为可以从以下六方面去考虑:
- 软件计划的特性完成了多少?(产品完成情况)
- 已完成的功能特性好不好用?(产品有没有什么问题)
- 工作完成情况?(测试没有完成的部分可能存在风险)
- 我们的研发过程质量如何?(过程质量也是质量,实际上我们认为产品质量根源于过程质量而非测试)
- 我们的产品研发计划是否存在偏离?(如果计划出现偏离,则需引起重视并施加措施)
- 产品的质量呈现怎样的趋势?(产品质量走势分析,可以帮助对项目接下来的走向做出预测和问题防范)
接下来的问题就是如何用数据去度量以上这些指标,我们来做一个罗列:
产品完成情况度量:
- 需求通过率
- 功能点通过率
- 风险规避情况
产品质量度量:
- 测试通过率
- 缺陷密度
- 缺陷严重级别分布
- 缺陷类型分布
- 缺陷模块分布
- 缺陷修复率
测试完成度:
- 用例覆盖率
- 测试执行率
- 测试通过率
研发质量度量:
- 缺陷生存周期
- 测试用例命中率
- 二次故障率
- 缺陷有效率
- 缺陷探测率
- 缺陷移除率
- 测试依据稳定性
计划偏离度量:
- 工作量偏离度
- 工作进度偏离
- 预算使用比例
- 问题等待时间
产品质量趋势:
- 缺陷到达率
- 缺陷收敛度
- 缺陷引入率
注意:1. 以上指标并非所有可能用到的指标,一些比较复杂而缺乏实际效用的指标没有包括;2. 指标在6个模块中可能存在多处适用的情况,不需要过多纠结。
2. 度量指标详解
接下来的问题是,这些指标如何收集和计算,我们用表格来展示。
几点补充说明:
1. 取决于项目成熟度和组织形式,这26个指标的可采集度是不同的。我们可以结合项目特性,进行采集,舍弃掉无法或者不便于采集的数据。
2. 可以调整信息采集能力来实现一些比较有价值数据的统计。比如通过增加缺陷的发生和解决阶段的记录(在每个缺陷信息中),来统计缺陷移除率。
3. 指标不可生搬硬套,可以结合项目情况进行调整、细化和转化。比如需求通过率经常被转化成“测试通过率”;工作进度偏离则理当被细化为每项工作的进度偏离。
3. 示例
以某项目质量月报为例。
测试完成度:结合测试执行率与通过率进行统计。
产品完成度:采用功能点通过率做为统计。
产品质量:统计缺陷密度、严重级别分布、类型分布。
研发过程质量:统计缺陷生存周期、二次故障率、依据稳定性。
计划偏离度:着重统计进度偏离。
质量趋势:结合缺陷到达率和遗留率进行统计。
以上就是选取了一些便于采集的数据(并非所有),制作的质量度量报告,规模并不算大,适宜做为月或者周报告。
如果是总体报告,那么可以考虑采集更多数据,丰富报告的内容。
再者,质量报告以报告产品质量为目的,不同于测试总结报告。因此并未包含人员安排、问题罗列、风险预估和未来计划等内容,如果需要综合汇报可以添加整合进去。
示例模板在这里 提取码 q9vv。