冒烟测试(Smoke Testing)是一种快速、浅层的验证性测试,用于确认软件构建的核心功能是否基本可用,不存在阻断性缺陷。
来源
术语源自电子硬件行业:新电路板通电后如果没有冒烟,就算通过了最基本的验证。软件领域借用这一比喻,表示”先跑一遍最基本的路径,看看会不会炸”。
特点
- 广度优先,深度有限:覆盖主要功能路径,不深入边界条件和异常场景
- 执行速度快:通常在几分钟内完成,适合作为 CI/CD 流水线的第一道关卡
- 目的是快速筛选:如果冒烟测试不通过,后续的回归测试、集成测试等都没有必要执行
与相关概念的区别
典型应用
- CI/CD 中新构建的第一轮自动化验证
- QA 拿到新版本后的手动快速验证
- 部署到新环境后的健康检查(此时也称 sanity test)