Files
TARE-Learn/slidev/pages/day4/m5-exception-defensive.md
T
smart 67837df8d0 docs: 更新TRA编程培训课程材料、课件与AI技能交付包
- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
2026-08-08 11:00:36 +08:00

4.2 KiB

模块 5:异常态与防御性逻辑

复杂业务不能只测正常流。权限不足、接口失败、重复提交、非法状态流转都必须有明确处理。

空数据
接口失败
权限不足
重复提交
非法流转
工单不存在

异常态清单

场景 触发条件 前端表现 后端响应 验收
空列表 查询无结果 显示空状态 返回空数组 不显示报错
接口失败 服务异常 提示重试 5xx 或业务错误 页面不崩溃
权限不足 无权限操作 按钮不可见或提示无权限 403 不完成操作
重复提交 连续点击提交 按钮禁用或 loading 拒绝重复请求 只生成一条记录
非法流转 closed -> processing 提示非法状态 业务错误码 状态不变
工单不存在 错误 ID 显示不存在 404 或业务错误 页面不崩溃

最小测试集

编号 场景 操作 预期
E01 无权限删除 研发账号请求删除接口 返回拒绝
E02 非法状态流转 closed -> processing 状态不变
E03 重复提交验证 连续点击提交验证 只成功一次
E04 工单不存在 查询错误 ID 页面不崩
E05 驳回缺少原因 remark 为空 返回参数错误
E06 看板无数据 无数据范围 显示空态

防御性修改边界

层级 修改重点
前端 loading、禁用按钮、空态、错误提示
后端 Controller 参数校验、权限校验
Service 状态校验、幂等、防重复、事务
审计日志 避免重复有效记录
不要为了一个工单异常态,重写全局请求库或无关业务模块。

可直接复制到 rules:异常态测试

## 核心逻辑必须有测试或豁免说明
- 级别:待确认约束
- 适用场景:权限校验、状态流转、审计、看板指标、异常态修复。
- 必须:优先补自动化测试;无法测试时说明原因、风险和手工验收方式。
- 禁止:只说“已验证”但没有命令、样例、截图、接口响应或手工步骤。

## 权限必须做正反角色验证
- 必须:至少验证一个授权角色和一个未授权角色;涉及数据范围时验证越权数据。
- 禁止:只用管理员账号验证。

## 状态流转必须覆盖合法和非法路径
- 必须:每个关键动作至少覆盖一条合法路径和一条非法路径。
- 禁止:只测试从初始状态到成功终态的主链路。