自动化测试66 条

用例隔离

用例隔离指任意用例都能单独运行、以任意顺序运行并得到一致结果:不共享可变状态、不依赖执行顺序、不残留数据;这是并行与重试能够成立的前提。

软件测试速查开发更新于 2026-10-12
  • 每个用例自建数据并自清理
  • 不依赖前序用例写入的记录
  • 不共享同一账号与同一批记录
  • 时间与时区显式控制
常见破坏源:共享 fixture 中的可变对象、全局缓存的登录态、对自增主键的假设。

隔离破坏源与对策

破坏源典型表现对策
共享可变对象用例顺序不同结果不同每个用例重建夹具
固定账号并发执行互踢登录按用例派生独立账号
自增主键假设并行下键冲突随机键或占位标识
真实时钟跨日、跨时区失败注入可控时钟

易错点

  • 用例依赖上一个用例写库的记录,单独运行即失败
  • 清理逻辑删除共享数据,影响并行执行的其他用例

数据来源与参考

  • Google Testing Blog(测试隔离与 flaky 治理文章)
  • pytest 官方文档(fixture 作用域与状态)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌