Smoke Test(冒烟测试)
先用一句话说清楚
Smoke Test(冒烟测试)是在构建、部署或配置变更后,快速检查关键功能是否还活着的最小验证。
实战知识卡
| 维度 | 要点 |
|---|---|
| 项目里看什么 | 看关键链路是否用最少样例快速确认可用。 |
| 新手最该记住 | 冒烟测试(Smoke Test)只证明关键路径活着,不代表质量完整。 |
| 作品集证据 | 准备登录、检索、模型调用、工具调用和页面访问的最小检查清单。 |
| 面试回答公式 | 先说冒烟覆盖关键路径,再强调后面还要验收和回归。 |
| 常见扣分点 | 把冒烟测试通过当成项目完全通过。 |
新手通俗解释
冒烟测试来自“先看机器通电后会不会冒烟”的比喻。在 AI Agent(人工智能体)项目里,它不是完整测试,而是快速确认:页面能不能打开,接口能不能通,模型调用是否可用,RAG(检索增强生成)是否能返回证据,工具调用是否被权限控制。
它的目标不是证明系统完美,而是尽早发现“根本跑不起来”的问题。
为什么岗位会问它
面试官问 Smoke Test(冒烟测试),是在看你是否有部署和交付意识。AI(人工智能)项目不是只在本地演示一次就结束,构建、发布、配置、模型供应商和工具权限都可能出问题。
| 检查项 | 例子 |
|---|---|
| 页面 | 首页、项目页、术语页能打开 |
| 接口 | 健康检查、问答接口、工具接口有响应 |
| 模型 | 模型供应商配置有效 |
| RAG(检索增强生成) | 能返回至少一条有权限的证据 |
| 工具 | 高风险工具不会被自动执行 |
| 日志 | Trace ID(追踪编号)能生成 |
它在项目里怎么用
作品集可以准备一个冒烟测试清单:
| 场景 | 通过标准 |
|---|---|
| 打开站点 | 关键页面返回 200 状态 |
| 普通知识问答 | 能返回答案和 Citation(引用来源) |
| 无资料问题 | 能拒答或转人工 |
| 工具调用 | 只读工具可执行,写入工具需确认 |
| 日志追踪 | 本次请求有 Trace ID(追踪编号) |
和完整测试的区别
Smoke Test(冒烟测试)检查“关键链路是否活着”;完整测试检查更多边界和正确性。冒烟测试应该快、少、稳定,适合每次构建或部署后跑。
常见误解
| 误解 | 为什么不对 | 正确理解 |
|---|---|---|
| 冒烟测试通过就代表系统没问题 | 它只覆盖关键路径 | 还需要验收和回归 |
| 冒烟测试越多越好 | 太多会变慢,失去快速价值 | 只放核心链路 |
| 只测页面打开 | AI(人工智能)项目还要测模型、检索、工具和日志 | 关键能力都要有最小检查 |
| 上线后再测 | 构建后、发布前都要测 | 提前发现基础故障 |
面试官可能怎么追问
1. 你的 Agent(智能体)项目冒烟测试测什么?
考察点: 是否知道关键链路。
参考回答: 我会测页面可访问、问答入口可用、RAG(检索增强生成)能返回有权限证据、结构化输出能解析、工具调用被权限控制、Trace ID(追踪编号)能生成,以及无资料问题能拒答。这样能快速确认关键链路没有断。
容易扣分: 只说“打开页面看看”。
2. 冒烟测试和验收有什么区别?
考察点: 是否分清验证层级。
参考回答: Smoke Test(冒烟测试)是快速检查系统是否能跑,验收(Acceptance)是判断系统是否满足业务目标。冒烟测试通过只是进入后续验收的前提。
容易扣分: 把冒烟测试当完整验收。
作品集里怎么展示它
- 在 README(项目说明文件)里写冒烟测试清单。
- 展示一次构建后检查结果。
- 展示关键页面、模型、检索、工具和日志的最小验证。
- 标注哪些属于冒烟测试,哪些属于完整验收。