异常恢复与端到端测试
你能把异常分成可重试、需补充信息和需人工处理几类,用 mock API 验证从请求到业务结果的完整链路。
中文讲义 · 讲义 v0.1
核心概念
端到端测试关注用户请求最终产生什么可观察结果,而不只检查模型回复。测试应包含输入、初始状态、预期行为、模拟接口结果及最终业务状态。固定合成资料和 mock 状态,才能让别人复现同一次测试。
恢复策略取决于失败位置。字段错误先修正输入,权限拒绝不靠反复重试解决;读取暂时失败可以限次重试。写操作超时先按原动作标识核对状态,再根据接口约定处理,不能盲目重发。
情境拆解
员工确认建单后,接口返回结果不明确。测试不能只断言页面出现“处理中”,还应核对最终是否恰好存在一张工单。若无法确认结果,记录待核对状态,并向用户说明和交给负责人,而不是用成功话术结束。
异常还包括工单在执行前被别人关闭、用户中途取消、接口返回缺少编号和资料中夹带恶意指令。预期行为应分别写明,不把所有异常混成通用报错。
常见误区
只测正常路径,会遗漏重复写入和越权等高风险问题。无限重试可能放大故障;自动撤销已执行动作也不一定安全,补偿动作同样需要权限和业务规则支持。
不只检查最后一句话
端到端测试需要比较初始状态、输入、经过的步骤和最终状态。例如回复“失败”看似谨慎,但如果模拟服务已建单,系统又创建第二张,仍然不合格。
同样,用户收到一个工单编号,也需要核对它是否属于正确设备、门店和本次动作。
动手:建立八个固定测试
- 使用正常、缺字段、无权限、用户取消、并发状态变化、查询失败、写入后超时和无效响应八种情境。
- 给每项固定初始状态、请求与模拟接口结果,写出允许和禁止的动作。
- 记录最终工单数量、对应动作、用户反馈及证据。没有可运行服务时,把这份表标成测试设计,不填虚构“通过”。
- 同时检查成功与异常路径。不能用盲目重试或未经确认的补偿动作修复未知结果。
测试 ID / 版本:
初始资源与工单状态:
用户输入及确认:
模拟接口情境:
预期动作与禁止动作:
实际步骤 / 未执行:
最终工单数量与动作映射:
用户回复是否符合实际状态:检查产物
每个测试都能判断状态是否正确,而不是只寻找回复中的“成功”二字。模块案例会检查咨询、字段收集、确认、接口调用和核对是否连成一致流程。
本课自测
用于检查理解,可以反复练习。答案在浏览器中可见,不作为正式考试或专业能力认证。
模块案例练习
报修流程与超时恢复
先写下自己的方案,再对照参考思路自评。网站不自动判断开放题,也不接收你的项目文件。
员工说“昨天那台空调又坏了,查一下,没建就帮我建”。在授权的 mock 记录中,设备确认为 AC-01,没有对应未关闭工单。员工确认新建后,接口已写入但返回超时。用 Markdown 提交字段及来源表、分支条件、确认摘要、带稳定动作标识的 mock 调用与恢复记录、用户回复,并编写至少八条可复现测试,覆盖成功、缺字段、越权、取消、并发变化、读取失败、写入后超时和异常返回。不得接真实企业 API。
只保存在当前浏览器,不上传,不跨设备同步。阅读和自测分开记录。