Day 6 —— 缺陷管理进阶
讲了缺陷的基础流程,今天往深走:怎么判断问题出在前端还是后端、怎么推进 Bug 修复、怎么用数据进行质量分析。
一、Bug 定位:判断前端还是后端
这是测试最核心的硬技能,判断准了,开发才不会互相推诿。
| 判断依据 | 说明 |
|---|---|
| 抓包看请求 | 请求没发出或参数不对 → 前端问题 |
| 看响应状态码 | 状态码 4xx/5xx → 后端问题 |
| 看响应内容 | 后端返回数据正确,页面显示错 → 前端问题 |
| 后端返回错误提示 | 返回"用户不存在"等业务错误 → 后端逻辑问题 |
| 换浏览器/清缓存 | 换浏览器就正常 → 前端兼容问题 |
| 只看前端有无校验 | 前端没校验、后端也没校验 → 两边都要提 |
口诀:请求不对是前端,响应报错是后端;数据对但显示错,问题还在前端里。
实战举例:提交订单失败。
- 抓包看:请求发出去了吗?参数对吗?
- 如果请求参数正确、返回 500 → 后端问题,带日志给开发
- 如果请求参数错(金额传错)→ 前端问题
- 如果返回 200 但页面没刷新 → 前端渲染问题
二、Bug 的描述技巧:让开发一眼看懂
好 Bug 报告的三层信息:
- 现象层:发生了什么("点击提交后页面无响应")
- 证据层:截图、录屏、请求/响应日志
- 线索层:你排查出的线索("接口返回 200,但前端未跳转,疑似回调未处理")
带了线索层的 Bug,开发会很感激你——省他半小时排查时间。
三、怎么优雅地推进 Bug 修复
这是软技能,很多人栽在这里:
| 情况 | 处理方式 |
|---|---|
| 开发说"不是 Bug" | 拿需求文档/设计稿对,客观陈述,不争吵 |
| 开发说"复现不了" | 补充录屏、日志、明确环境版本,约一起看 |
| 开发说"改不了/很难改" | 找产品确认影响,评估是否可延后 |
| Bug 一直不修 | 在日报/评审会里公开遗留清单,让风险可见 |
| 核心 Bug 被压 | 升级到测试主管/项目经理,用"上线风险"说话 |
核心原则:对事不对人,靠证据不靠嗓门,靠流程不靠催。
口诀:争议拿文档,复现给证据,压单升主管,风险要公开。
四、Bug 修复后的回归验证
开发修好不等于完事,你要验证三件事:
- 原 Bug 确实修好(按复现步骤再走一遍)
- 没引入新问题(关联功能点检查)
- 边界情况也正常(修复常常只改了主路径)
口诀:验原 Bug,查关联,测边界;三样都过才算关。
五、质量分析指标(面试爱问)
| 指标 | 计算公式 | 说明 |
|---|---|---|
| 缺陷密度 | Bug 数 ÷ 模块规模(如千行代码/功能点) | 衡量模块质量,密度高说明模块差 |
| 缺陷发现率 | 已发现缺陷 ÷ 预计总缺陷 | 评估测试充分性 |
| 缺陷修复率 | 已修复 ÷ 已提交 | 评估开发响应速度 |
| 遗留缺陷数 | 上线前未修复的 Bug 数 | 上线风险评估 |
| 缺陷收敛趋势 | 各轮 Bug 数的变化 | 应逐轮下降并趋稳 |
| 用例覆盖率 | 已覆盖需求 ÷ 总需求 | 评估测试全面性 |
缺陷收敛趋势是重点项目:如果末轮还有大量新 Bug,说明质量没稳定,不能上线。
六、缺陷分析在报告里怎么用
- 按模块统计 → 找出重灾区,下轮重点
- 按严重程度 → 说明风险有多大
- 按发现阶段 → 说明测试是否有效(提前拦截越多越好)
- 按收敛趋势 → 说明质量是否稳定
口诀:模块看哪里差,等级看多严重,阶段看多有效,趋势看稳不稳。
📋 小结表(Day 6)
| 主题 | 核心要点 |
|---|---|
| Bug 定位 | 请求不对是前端,响应报错是后端 |
| 描述技巧 | 现象层 + 证据层 + 线索层 |
| 推进修复 | 对事不对人,靠证据和流程 |
| 回归验证 | 验原 Bug、查关联、测边界 |
| 质量指标 | 缺陷密度、修复率、遗留数、收敛趋势、覆盖率 |
| 缺陷分析 | 模块看重灾区,等级看风险,阶段看有效性,趋势看稳定性 |
🔑 口诀
请求不对是前端,响应报错是后端;数据对但显示错,问题还在前端里;现象证据加线索,开发一看就明白;争议拿文档,复现给证据;验证三样都过才算关;模块看差、等级看险、趋势看稳。
一句话记:定位要准、描述要全、推进要稳、验证要严。
✍️ 练习题(Day 6)
- 用户点击"提交订单"后页面报错。你要判断是前端还是后端问题,应该抓包看哪几项?请写出判断逻辑。
- 一份好的 Bug 报告应包含哪三个层次的信息?"线索层"为什么能让开发更感激你?
- 判断题:开发说"复现不了",就说明这个 Bug 不存在,可以关闭。(对/错?为什么)
- 简答:Bug 修复后,回归验证需要确认哪三件事?
- 某模块共 20 个功能点,发现了 40 个 Bug,请计算缺陷密度,并说明这个数值高低意味着什么。
- 简答:各轮 Bug 数是 35 → 18 → 6 → 5。这组数据说明什么?能否上线?
第 5 题提示:缺陷密度 = 40 ÷ 20 = 2 个/功能点,属于偏高,说明该模块质量较差、开发自测不足,需要重点关注和增加用例覆盖。
第 6 题提示:Bug 数逐轮下降且末两轮趋于稳定,说明缺陷已收敛、质量稳定,可以进入上线评审;但要结合遗留 Bug 的严重程度综合判断。
浙公网安备 33010602011771号