Skip to content

6. Bug 生命周期和缺陷管理怎么回答

Bug 生命周期是软件测试面试高频问题。

很多人只会背:新建、指派、修复、回归、关闭。这个答案太简单,面试官更想听你怎么把缺陷跟踪到闭环。

一、先说标准生命周期

一个常见 Bug 生命周期是:

  • New:测试提交缺陷;
  • Assigned:指派给开发;
  • Open:开发确认并处理;
  • Fixed:开发修复完成;
  • Retest:测试回归验证;
  • Closed:验证通过后关闭;
  • Reopen:验证不通过重新打开。

不同公司字段可能不一样,但核心都是发现、确认、修复、验证、关闭。

二、提交 Bug 要写清楚关键信息

一个高质量 Bug 通常包含:

  • 标题;
  • 所属模块;
  • 环境信息;
  • 前置条件;
  • 复现步骤;
  • 实际结果;
  • 预期结果;
  • 严重程度;
  • 优先级;
  • 截图或录屏;
  • 日志、接口请求、数据库信息。

标题要简洁明确,比如"订单支付成功后订单状态仍显示待支付"。

三、严重程度和优先级要区分

严重程度表示问题对系统的影响。

比如:

  • 阻塞:系统崩溃、核心流程不可用;
  • 严重:主要功能异常、数据错误;
  • 一般:普通功能问题;
  • 轻微:文案、样式、易用性问题。

优先级表示修复紧急程度。

有些 Bug 严重但不紧急,有些 Bug 不严重但上线前必须立即修。

四、开发不认 Bug 怎么办

这是面试常见追问。

可以这样处理:

  • 先确认需求文档和验收标准;
  • 补充复现步骤、截图、日志和数据;
  • 和开发一起复现问题;
  • 如果是需求不明确,拉产品确认;
  • 如果影响上线,升级给测试负责人或项目负责人评估风险。

不要回答"和开发吵",也不要说"开发说不是 Bug 我就关了"。

五、偶现 Bug 怎么处理

偶现 Bug 不能简单忽略。

处理思路:

  • 记录出现时间、账号、环境和操作路径;
  • 查看接口请求和响应;
  • 查看前端控制台和服务端日志;
  • 尝试不同浏览器、网络、数据复现;
  • 统计出现频率;
  • 提供尽可能多的上下文给开发。

如果偶现问题影响核心链路,要持续跟进。

六、回归测试不是只点原步骤

Bug 修复后,回归要验证:

  • 原问题是否解决;
  • 相同模块是否受影响;
  • 相关功能是否被改坏;
  • 数据是否修复;
  • 是否引入新问题。

比如修复优惠券计算 Bug 后,不只测这张券,还要测满减券、折扣券、不可叠加券等相关规则。

七、缺陷分析能体现测试价值

成熟测试不只是提 Bug,还会分析 Bug。

可以从这些维度统计:

  • 哪些模块 Bug 多;
  • 哪类问题占比高;
  • 哪个阶段发现问题最多;
  • 是否存在需求理解不一致;
  • 是否有重复缺陷;
  • 是否需要补充评审或自动化。

这能体现测试对质量改进的贡献。

八、面试回答模板

可以这样回答:

Bug 生命周期一般是测试发现并提交缺陷,指派给开发确认和修复,开发修复后测试回归验证,通过后关闭,不通过则重新打开。提交 Bug 时我会写清楚环境、前置条件、复现步骤、实际结果、预期结果、严重程度、优先级,并尽量附上截图、日志、接口请求和数据库信息。如果开发不认 Bug,我会依据需求文档和验收标准沟通,必要时拉产品确认。回归时不仅验证原问题,还会覆盖相关影响范围,避免引入新问题。

这个答案既有流程,也有实际处理经验。

九、下一步建议

建议你准备两个真实 Bug 案例:

  • 一个功能 Bug;
  • 一个接口或数据一致性 Bug。

每个 Bug 都按"现象、定位、原因、修复、回归"来讲。

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效