测试规模分类是什么
测试规模分类(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》中,用于约束测试依赖并保持执行速度。
分层不是越严越好:关键是让高频层的失败原因单一,一眼能定位。