首页/开发/软件测试速查/超时与重试用例
用例设计方法62 条

超时与重试用例

覆盖各层超时与重试组合:客户端超时、网关超时、服务端处理超时;重点是超时后的数据一致性与用户可见状态。

软件测试速查开发更新于 2026-10-13

超时与重试用例

覆盖各层超时与重试的组合:客户端、网关、服务端处理超时。重点验证超时后的数据一致性与用户可见状态——客户端超时但服务端成功、重试风暴、重试破坏幂等,都是事故高发点。超时参数应可配置并纳入测试:硬编码超时在不同环境表现差异大,问题难以复现。

基本信息

覆盖层次客户端、网关与代理、服务端、依赖调用
关键场景客户端超时服务端成功、服务端超时客户端等待
重试风险重试风暴放大故障、非幂等重试产生重复
配置原则外层超时大于内层处理时间,各级留余量
断言重点数据一致性、连接与线程回收、用户可见状态
环境要求超时值可配置,测试与生产行为可比

用例矩阵

用例矩阵
客户端超时 + 服务端成功   -> 幂等查询补偿、重复提交被拦
服务端超时 + 客户端等待   -> 连接与线程回收、无悬挂事务
重试风暴                  -> 限流与熔断生效、下游不放大
# 每类断言:最终一致性 + 资源回收 + 提示信息

超时层级核对

层级核对点
客户端等待可取消、重试操作保持幂等
网关与代理超时值略大于后端处理时间
服务端超时后释放连接、线程与事务
依赖调用熔断、降级与重试次数上限

典型使用场景

  • 支付链路:超时后的订单状态与补偿查询验证。
  • 消息重试:消费超时后的重投与去重验证。
  • 网关配置:代理超时与后端处理时间的匹配检查。
  • 弱网模拟:高延迟下客户端取消与恢复行为。
  • 故障演练:依赖变慢时熔断与降级路径验证。
  • 配置评审:各层超时参数一致性核对。
超时用例不检查重复副作用,越重试越出错:幂等断言必须写进用例。
重试要防放大:故障时批量重试会把下游从慢拖到不可用,验证限流与退避策略。

易错点

  • 只测服务端行为,不验证客户端超时后的状态与重试逻辑。
  • 重试用例不检查重复副作用,越重试越出错。
  • 超时值硬编码,环境间表现不一致且难复现。
  • 忽略网关层超时,链路半途断开产生脏状态。
  • 不测重试上限,故障时重试风暴打垮下游。

数据来源与参考

  • Google SRE Book(处理过载与超时相关章节)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌