7. 自动化用例分层怎么设计
自动化测试不是把所有手工用例都转成脚本。真正可维护的自动化项目,必须做用例分层。不同层级的自动化目标不同:接口自动化更快更稳定,适合覆盖业务逻辑;Web/UI 自动化更接近用户,但慢且不稳定,适合覆盖核心流程;单元测试更靠近代码,反馈最快。用例分层设计,就是决定哪些用例放在哪一层执行。
面试中问自动化用例分层,重点是看你是否有测试策略,而不是只会写脚本。成熟的回答应该包含测试金字塔、接口自动化和 UI 自动化的取舍、冒烟用例、回归用例、核心链路和维护成本。
一、为什么要用例分层
如果所有用例都做 UI 自动化,会遇到:
- 执行慢;
- 不稳定;
- 维护成本高;
- 页面变化导致大量脚本失败;
- 定位问题困难。
如果只做接口自动化,又可能漏掉页面展示、按钮状态、前端交互问题。
所以要分层组合,而不是单一依赖某一种自动化。
二、测试金字塔怎么理解
经典测试金字塔:
- 底层:单元测试,数量多,速度快;
- 中层:接口/服务测试,覆盖业务逻辑;
- 顶层:UI 自动化,数量少,覆盖关键路径。
测试岗位常用表达:
接口自动化为主,UI 自动化覆盖核心流程,单元测试由开发主导,测试参与补充策略。
三、接口自动化层
接口自动化适合覆盖:
- 登录鉴权;
- 业务规则;
- 参数校验;
- 权限校验;
- 数据状态变化;
- 异步结果;
- 数据库结果;
- 异常场景。
优点:快、稳定、定位清晰。
建议作为自动化回归主力。
四、Web UI 自动化层
Web UI 自动化适合覆盖:
- 登录;
- 关键页面流程;
- 核心按钮入口;
- 表单提交;
- 页面跳转;
- 权限菜单展示;
- 冒烟测试。
不适合大量覆盖细碎校验,因为维护成本高。
五、App UI 自动化层
App 自动化适合覆盖:
- App 启动;
- 登录;
- 首页核心入口;
- 搜索;
- 下单主流程;
- 个人中心;
- 权限弹窗;
- 版本冒烟。
App 自动化受设备和系统影响较大,所以用例数量要控制。
六、冒烟用例和回归用例
冒烟用例
数量少,执行快,覆盖主流程。例如登录、首页、下单、支付前流程。
用于提测后快速判断版本是否可测。
回归用例
覆盖更全面,执行时间更长。包括接口参数、异常分支、权限、数据校验。
可以每日或版本发布前执行。
七、哪些用例适合自动化
适合自动化:
- 稳定功能;
- 高频回归;
- 核心链路;
- 数据可构造;
- 结果可断言;
- 执行成本高但重复性强。
不适合优先自动化:
- 需求频繁变化;
- 一次性活动;
- 强视觉体验;
- 结果难断言;
- 依赖复杂人工判断。
八、用例分层示例:电商项目
登录:接口自动化测账号密码、Token、异常参数;UI 自动化只覆盖登录成功和失败提示。
下单:接口自动化覆盖库存、优惠券、地址、重复提交;UI 自动化覆盖从商品页到提交订单主流程。
支付:接口自动化覆盖回调、状态流转、幂等;UI 自动化只覆盖支付入口是否正常。
权限:接口自动化测越权访问;UI 自动化测菜单是否展示。
九、常见错误
- 所有用例都做 UI 自动化;
- 自动化覆盖不稳定功能;
- 只追求数量不看价值;
- 没有数据清理;
- 用例之间强依赖;
- 冒烟和回归不区分;
- 不考虑维护成本。
十、面试回答模板
如果面试官问“自动化用例分层怎么设计”,可以这样回答:
我会按测试金字塔思路设计自动化用例。接口自动化作为主力,覆盖业务规则、参数校验、权限、数据库状态和异常场景,因为它执行快、稳定、定位清晰;Web 或 App UI 自动化只覆盖少量稳定核心流程,比如登录、搜索、下单、后台审核,用于冒烟和端到端验证;单元测试更多由开发负责,测试可以参与策略评审。选择自动化用例时,我会优先选稳定、高频回归、结果可断言、数据可构造的场景,而不是把所有手工用例都自动化。
十一、常见追问
追问:为什么不全部做 UI 自动化?
UI 自动化慢、不稳定、维护成本高,适合覆盖关键流程,不适合承载全部回归。
追问:接口自动化能替代 UI 自动化吗?
不能完全替代。接口覆盖业务逻辑,UI 还要验证页面交互和展示。
追问:如何选择冒烟用例?
选择最核心、最短路径、失败会阻塞后续测试的流程。
十二、练习清单
- 画测试金字塔;
- 区分接口和 UI 自动化;
- 设计冒烟用例;
- 设计回归用例;
- 选择适合自动化的场景;
- 剔除不适合自动化的场景;
- 为登录做分层;
- 为下单做分层;
- 为权限做分层;
- 准备用例分层面试回答。
自动化用例分层的核心是投入产出比。自动化不是越多越好,而是要让最合适的用例在最合适的层级执行。
配套刷题:

