Skip to content

第 11 课:测试思维与质量保障

模块三:产品开发协作 | 第 11 课

课前思考

你有没有遇到过这种情况:功能开发完了,看起来没问题,但用户一用就出各种 bug——快速点击重复提交、网络不好时数据丢失、输入特殊内容时崩溃。

这些都不是"功能没做对",而是异常情况没考虑到

产品经理不需要写测试代码,但需要建立测试思维——在需求阶段就预见到可能出错的地方,而不是等用户来替你发现 bug。


测试的三个层次

专业测试遵循"测试金字塔":

         ╱ E2E 测试 ╲        — 模拟真实用户操作(少量)
       ╱  集成测试  ╲        — 测试多个模块协作(适量)
     ╱   单元测试    ╲       — 测试单个函数逻辑(大量)

单元测试:最小的测试单位

测试一个"函数"在给定输入下是否产生正确输出。比如"添加任务"函数:输入空字符串应该返回错误提示;输入正常文字应该返回成功。单元测试由开发编写,最底层、最快速、最稳定。

集成测试:测试模块之间的协作

测试前端 API 调用和后端数据处理是否能正确对接。比如"用户提交登录表单 → API 验证 → 返回结果 → 前端跳转首页"这个完整链路。集成测试检查的是"各个模块之间能不能一起工作"。

E2E 测试:模拟真实用户行为

从用户视角完整操作一遍核心流程。比如"打开首页 → 输入任务 → 点击添加 → 勾选完成 → 刷新页面 → 确认数据还在"。E2E 测试最接近真实使用,但维护成本也是最高的。


产品经理的测试思维:从"能做"到"不会错"

PM 不需要写自动化测试,但需要在以下环节注入测试思维:

1. 写 PRD 时:定义边缘情况

PRD 中"边缘情况处理"部分的重要性怎么强调都不为过。下面是每一类功能都应该考虑的边缘情况模板:

场景类型需要考虑的边缘情况
用户输入输入为空、超长内容、特殊字符、粘贴内容
网络操作网络断开、请求超时、服务器返回错误
用户行为快速连续点击、中途退出、后退按钮
数据状态数据为空、数据已删除、数据冲突
并发操作两人同时编辑、同时删除

2. 验收时:不只是"正常流程走完了"

很多 PM 验收功能时只走"快乐路径"——一切都按照预期操作一遍,都正常,就打勾通过。

真正的验收应该包含"痛苦路径":

  • 打开功能 → 输入非法内容 → 能正常提示吗?
  • 使用功能 → 模拟断网 → 有提示吗?数据丢了吗?
  • 快速连续点击同一个按钮 5 次 → 会重复创建吗?
  • 加载数据 → 返回空数据 → 页面是空白还是有提示?

3. 写 Bug 时:提供重现路径

一个好的 Bug 描述应该让开发者不需要追问就能重现问题:

  • 做了什么操作?(具体步骤)
  • 预期发生什么?
  • 实际发生了什么?
  • 什么环境?(浏览器版本、设备型号、网络环境)

"这个功能不好用"不是 Bug 报告。"在 Safari 浏览器上,任务列表为空时刷新页面会白屏"才是。


AI 时代的测试策略

当 AI 帮你生成代码时,测试变得更加重要——因为 AI 在"正常情况"下表现很好,但在边缘情况下更容易出错。

让 AI 帮你写测试

你不需要会写测试代码。直接告诉 AI:

"请为这个核心功能写测试,覆盖:正常添加、空输入、快速重复点击、网络失败的情况。"

AI 会生成测试代码。你可以请开发者审查这些测试是否覆盖了关键场景。

在 AI 大量修改的区域加强测试

Coding Agents 101 指南中的建议:在当前,AI agent 还没有能力完全不遗漏地测试所有场景。在 AI 大量修改的代码区域,增强测试覆盖能让你对 AI 的输出有更多信心。

人类验证不可替代

Addy Osmani 在关于 AI 辅助编程的文章中指出:AI 可以生成代码,但它不真正理解问题。AI 生成的代码可能在基本场景下正常工作,但不自动考虑异常输入、竞态条件、性能约束或未来需求。验证结果、把住质量关,仍然是人类不可替代的责任。


Bug 优先级:什么必须立刻修,什么可以等等

不是所有 Bug 都值得立刻修。Bug 的优先级取决于两项评估:

优先级定义举例行动
P0 - 阻断核心功能完全不可用无法登录、支付失败立刻停下手头一切来修
P1 - 严重核心功能受阻但有绕过方式新建按钮不灵但刷新后可恢复本次迭代内必须修
P2 - 一般不影响核心功能但体验不好某个页面样式错乱排入下个迭代
P3 - 微瑕极小影响个别文案错别字有时间再修

判断的关键不是 Bug 的"技术难度",而是对用户体验和商业价值的影响程度。


本课实践

  1. 打开你 PRD 中的"边缘情况处理"部分,用本课的边缘情况模板逐项检查,看有没有遗漏
  2. 找一个你正在用的产品,故意在操作中制造异常情况——快速点击、输入离谱的内容、操作一半退出——观察这个产品如何处理
  3. 从用户反馈中找出 3 条 Bug 报告,用 P0-P3 标准给它们排优先级

下一步

理解了测试思维之后,下一课我们将学习如何与设计师协作,从用户体验的角度打磨产品。

基于 AI 时代产品实践整理