首页/开发/软件测试速查/测试规模分类(Small / Medium / Large)
测试基础与分层67 条

测试规模分类(Small / Medium / Large)

Google 测试分类按资源占用区分:small 无网络无 IO、medium 可本机 IO、large 允许跨机器依赖;规模决定运行频率与隔离要求。

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

测试规模分类是什么

测试规模分类(Small / Medium / Large)按资源占用界定测试:small 无网络无 IO、纯内存执行;medium 可用本机资源如本地数据库;large 允许跨机器与外部依赖。分类决定运行频率与隔离要求:small 进本地与 CI 高频跑,large 按计划跑。该口径来自 Google Testing Blog《Test Sizes》,用来约束测试依赖、保住执行速度。

基本信息

Small无网络、无数据库,纯内存执行
Medium仅本机资源,如本地数据库、本地文件
Large允许网络与外部依赖、跨机器场景
判定方式按资源依赖判定,不按代码行数或文件数
运行频率small 每次提交、medium 常规 CI、large 计划执行
落地要点用检查或沙箱约束依赖越界,保持分层有效
常见误区按文件夹或命名判断规模,而非资源依赖
计时参考small 毫秒到秒级、medium 秒到十秒级、large 分钟级

分类速查

规模资源边界运行位置
Small无网络、无数据库,纯内存执行本地与 CI 高频运行
Medium仅本机资源,如本地数据库CI 常规运行
Large允许网络与外部依赖按计划运行,如发布前

典型使用场景

  • 提交前自测:small 套件秒级反馈,开发者愿意常跑。
  • CI 流水线:medium 覆盖集成路径,常规门禁执行。
  • 发布前验证:large 跑跨系统链路与端到端场景。
  • 效率治理:统计各规模耗时与失败率,优化运行编排。
  • 新人规范:用分类讲清测试依赖什么资源的团队约束。
  • 依赖治理:发现越界依赖后在评审中提出拆分方案。
  • 测试替身运用:用替身替代外部服务,把测试压回 small。
  • 容器边界:本地容器数据库的定位按实际资源路径判定。
分类的价值在约束依赖与执行速度:没有检查机制的命名很快失去意义。
该分类记录在 Google Testing Blog《Test Sizes》中,用于约束测试依赖并保持执行速度。
分层不是越严越好:关键是让高频层的失败原因单一,一眼能定位。

易错点

  • small 测试连网络后随机失败,高频运行优势丧失。
  • 分类只是命名,没有约束检查,边界会逐渐模糊。
  • 所有测试都写成 large,反馈周期被拖长。
  • 把测试规模与测试层级混为一谈,讨论口径混乱。
  • 为凑 small 过度使用替身,测试与实际行为脱节。
  • CI 未按规模拆分任务,large 拖慢每次提交的反馈。

数据来源与参考

  • Google Testing Blog《Test Sizes》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌