一、三种测试的定义与目标
| 测试类型 | 核心目标 | 回答的问题 |
|---|---|---|
| 冒烟测试 | 验证主流程是否可用,决定是否进入正式测试 | "这个版本能不能测?" |
| 回归测试 | 验证修改没有破坏已有功能 | "改了这个,别的地方坏了吗?" |
| 全量测试 | 覆盖所有需求,验证系统完整性 | "整个系统都符合需求吗?" |
二、用例占比衡量
行业通用比例
| 测试类型 | 用例占比 | 说明 |
|---|---|---|
| 冒烟测试 | 5%-10% | 只覆盖核心主流程,通常10-30条 |
| 回归测试 | 40%-60% | 覆盖已上线的核心功能+本次修改的关联模块 |
| 全量测试 | 100% | 所有用例,包含新功能+存量功能+异常场景 |
实际项目中的经验值
假设你的小程序项目总用例数 500条:
text
冒烟测试:25-50条 - 启动、登录、浏览、下单、支付(各3-5条) - 只测"能不能走通",不测"各种错误输入" 回归测试:200-300条 - 核心业务模块的P0+P1用例 - 本次修改功能的所有相关用例 - 上一版本发现的Bug的验证用例 全量测试:500条 - 所有P0+P1+P2+P3 - 包含兼容性、弱网、边界、异常场景
三、时间占比衡量
按迭代周期(假设2周一个迭代)
| 测试类型 | 时间占比 | 具体耗时(10个工作日) | 执行时机 |
|---|---|---|---|
| 冒烟测试 | 5%-10% | 0.5-1天 | 提测当天 |
| 回归测试 | 30%-40% | 3-4天 | 冒烟通过后,每天执行 |
| 全量测试 | 50%-60% | 5-6天 | 功能冻结后,上线前 |
按单个用例平均耗时估算
text
行业经验值: - 冒烟用例:平均3-5分钟/条(流程长,但只验证通过性) - 回归用例:平均2-3分钟/条(相对熟悉,执行快) - 全量用例:平均3-4分钟/条(包含一些复杂场景和异常处理)
以500条用例为例:
text
冒烟:40条 × 4分钟 = 160分钟 ≈ 2.7小时(半天) 回归:250条 × 2.5分钟 = 625分钟 ≈ 10.4小时(1.5天) 全量:500条 × 3.5分钟 = 1750分钟 ≈ 29小时(4天)
四、自动化对时间的影响
你关注小程序自动化测试,自动化能显著改变时间占比:
| 测试类型 | 手工时间 | 自动化后时间 | 节省比例 |
|---|---|---|---|
| 冒烟测试 | 2-3小时 | 10-15分钟 | 85%-90% |
| 回归测试 | 1.5-2天 | 2-4小时 | 75%-80% |
| 全量测试 | 4-5天 | 1-1.5天 | 60%-70% |
关键策略:
-
冒烟测试:优先自动化,收益最大
-
回归测试:P0+P1用例自动化,P2保留手工
-
全量测试:自动化跑主体,手工补场景(弱网、兼容性、异常)
五、合理有效的评估方法
1. 基于风险的金字塔模型
text
/\
/ \ P0:必测,占20%,花50%精力
/ P0 \ P1:应测,占30%,花30%精力
/------\ P2:可测,占30%,花15%精力
/ P1 \ P3:选测,占20%,花5%精力
/----------\
/ P2 \
/--------------\
/ P3 \
2. 评估公式
text
有效测试覆盖率 = (已执行的P0用例数 / 总P0用例数) × 100% × 0.5
+ (已执行的P1用例数 / 总P1用例数) × 100% × 0.3
+ (已执行的P2用例数 / 总P2用例数) × 100% × 0.15
+ (已执行的P3用例数 / 总P3用例数) × 100% × 0.05
目标:
- 冒烟阶段:P0覆盖率 ≥ 100%
- 回归阶段:P0+P1覆盖率 ≥ 85%
- 全量阶段:总覆盖率 ≥ 95%
3. 缺陷密度评估
text
缺陷密度 = 发现的缺陷数 / 执行的用例数 健康指标: - 冒烟测试缺陷密度 < 0.1(即10条用例最多1个Bug) → 密度过高说明版本质量太差,不建议进入正式测试 - 回归测试缺陷密度 < 0.05(即20条用例最多1个Bug) → 密度过高说明修改影响面大,需要扩大回归范围 - 全量测试缺陷密度 < 0.02(即50条用例最多1个Bug) → 密度过高说明系统整体质量不达标
4. 时间评估的实用技巧
方法一:历史数据法
text
查找你们项目过去3个迭代的数据: - 平均每条用例执行耗时 - 平均每个Bug定位+沟通耗时 - 平均环境搭建耗时 然后用:预估时间 = 用例数 × 平均耗时 × 缓冲系数(1.2-1.5)
方法二:三点估算法
text
乐观时间(一切顺利):O 最可能时间:M 悲观时间(遇到阻碍):P 预估时间 = (O + 4M + P) / 6 示例: 冒烟测试:O=2h, M=3h, P=6h 预估 = (2 + 4×3 + 6) / 6 = 20/6 ≈ 3.3小时
六、给你一个可直接用的模板
测试计划时间评估表
| 项目 | 数据 | 计算方式 |
|---|---|---|
| 总用例数 | 500 | 需求评审后确定 |
| P0用例数 | 100 | 核心流程 |
| P1用例数 | 150 | 重要功能 |
| P2用例数 | 150 | 一般功能 |
| P3用例数 | 100 | 边缘场景 |
| 冒烟用例数 | 50 | 总用例×10% |
| 回归用例数 | 250 | P0+P1全部 |
| 冒烟时间 | 0.5天 | 50条×4分钟+环境准备 |
| 回归时间 | 1.5天 | 250条×2.5分钟 |
| 全量时间 | 5天 | 500条×3.5分钟 |
| 缺陷处理缓冲 | 2天 | 按历史Bug率估算 |
| 总测试时间 | 7天 | 含缓冲 |
七、关键结论
对你的项目,我的建议是:
-
冒烟测试:控制在半天以内,10-30条用例,只测"能不能走通"
-
回归测试:每天执行,优先自动化,人工只补自动化覆盖不到的场景
-
全量测试:功能冻结后执行,至少预留3-5天,不要压缩到上线前一天
最重要的原则:
不要用"时间不够"来压缩测试范围。
应该用"风险优先级"来决定砍掉哪些P2/P3用例,
而不是把P0用例的执行质量降低。

218

被折叠的 条评论
为什么被折叠?



