首页/开发/软件测试速查/竞态与重复提交用例
用例设计方法62 条

竞态与重复提交用例

竞态条件常在「检查后使用」的时间窗内出现:如余额校验通过后被并行扣减;用例设计重点是放大时间窗并观察最终一致性。

软件测试速查开发更新于 2026-10-12
  • 重复提交:快速双击、网络重试、客户端重发
  • 并发扣减:同账户并行扣款、同库存并行下单
  • 观察点:最终余额与流水一致性、幂等键、数据库锁行为
触发竞态常用手段:并发工具同时发起、在关键接口注入延迟提高交错概率(仅限测试环境)。

竞态用例设计要素

要素做法
放大窗口瞄准检查与使用之间的间隙、缓存过期瞬间
触发手段并发同时发起、关键接口注入延迟(仅测试环境)
关键断言余额与流水对平、幂等键唯一、库存不为负
失败恢复重试与对账补偿路径同样纳入验证

易错点

  • 只做单线程重复点击,未验证服务端并发防护
  • 断言只看最终成功数,不看流水与账实一致性

数据来源与参考

  • MIT 6.031 课程材料(Race Condition 章节)
  • RFC 9110(幂等性语义)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌