软件测试报告里的缺陷统计,很多人以为就是“列个表、数个数”的事。但实际上,缺陷统计的核心不是“数数”,而是“翻译”,把一堆原始数据翻译成评审专家能看懂的风险判断。
评审专家一天要看很多份报告,他们没时间帮你找亮点。一份“列了100个bug”的报告和一份“标注了核心模块缺陷已清零、剩余3个问题均不影响上线”的报告,后者给评审专家的安全感完全不一样。

这是西基本的层,缺陷不是平等的。一个致命缺陷和十个轻微缺陷,前者对验收的杀伤力大得多。报告里至少要把缺陷按等级分出来,致命、严重、一般、轻微,每个等级多少、修了多少、还剩多少。如果一个系统里还有致命或严重缺陷没修完,评审专家基本不会同意验收。
缺陷集中在哪里,问题就在哪里,告诉专家“哪里最脆弱”。如果一个模块的缺陷数占了总量的一半以上,说明那个模块要么设计复杂、要么质量堪忧。评审专家看到这种分布,能迅速判断出后续维护的重点区域。
缺陷是功能错误、界面问题、性能问题还是兼容性问题?挖出根本原因,类型分布能反映出开发过程的薄弱环节,比如性能问题多,说明上线前没做充分的性能测试;兼容性问题多,说明测试环境覆盖不够。
这是最能说服人的数据。用每日新增/修复缺陷的折线图,展示“缺陷是否在收敛”。理想状态是:新增缺陷越来越少,修复数量持续大于新增数量。如果折线图一直往上走,说明代码质量不稳定;如果曲线开始向下收敛,说明质量在变好。评审专家看到“收敛”的曲线,心里就有底了。
报告里发现的问题,不能只是列出来就完了。每个缺陷必须有明确的处理状态:已修复的要有修复验证记录,延期修复的要有延期原因和计划修复时间,未修复的要说明为什么可以不修(比如不影响核心功能)。评审时最常见的问题就是专家翻到缺陷列表,发现几个严重缺陷标注为“待修复”却没有下文。
比如“共执行128条用例,通过120条,阻塞5条,执行率96.8%,通过率93.75%”......数字一摆,情况一目了然。
“系统整体表现良好”这种话,在验收报告里没有任何价值。结论只有三种:通过、有条件通过、不通过。“有条件通过”要写明条件是什么,比如“需在正式上线前完成XX模块缺陷修复并提交复测报告”。
顶层放核心指标(总体通过率、致命缺陷数、发布风险摘要),中层放过程指标(缺陷趋势、模块分布、修复效率),底层放详细数据(完整缺陷列表、用例执行记录)。高层管理者只需要看顶层就能做决策。
1.数据前后对不上。比如缺陷统计表里写了10个问题,结论里却说“无遗留问题”,前后矛盾。
2.只写结果不写原因。只写“发现3个严重缺陷”,不写为什么会有这些缺陷、怎么修的、修完验证了没有。
3.追求100%通过率。100%通过率在真实项目里基本不存在。硬写100%,评审专家只会怀疑你是不是没认真测。真正该追求的不是100%,而是所有已知风险都被识别并且有人认领。
4.缺陷描述模糊。“登录有问题”这种描述,谁看了都修不了。缺陷描述至少要包含:前置条件、操作步骤、预期结果、实际结果、日志截图。
说到底,缺陷统计的终极目标不是证明“我们发现了多少问题”,而是证明“我们对每个发现的问题都有交代”。评审专家看到一份数据清晰、逻辑闭环、每个缺陷都有人认领的报告,心里踏实了,你的报告就能过。
标签:软件测试报告、第三方测试报告