自动化测试工程师面试题及答题要点
这个岗位的面试通常 2-4 轮,技术面重点考三块:自动化框架设计、编码能力、真实项目里怎么落地的。最容易挂的不是不会答,而是只会背概念、一追问项目细节就露馅,比如「你框架里的失败重跑是怎么实现的」答不上来。
专业基础
UI 自动化和接口自动化,你们项目里怎么分工的?为什么这么分?
考察点:考察是否理解不同自动化层的适用边界和投入产出比
别踩:只说「都要做」却不讲比例和取舍,显得没实际操盘过
你的自动化用例怎么判断一个失败是真的 bug,还是脚本本身的问题?
考察点:考察失败分析和脚本稳定性治理的真实经验
别踩:只答「看日志」,没有分类框架和治理动作,暴露经验浅
显式等待、隐式等待、强制等待有什么区别?你项目里怎么用的?
考察点:考察基础概念是否扎实,以及能否结合实际场景选型
别踩:概念背得出来但说不出项目里怎么封装和约束,像背书
接口自动化里,你怎么处理依赖登录态和接口之间有数据依赖的情况?
考察点:考察用例设计能力:隔离性、依赖管理、前置后置处理
别踩:说「按顺序执行就行」,暴露没考虑过用例独立性和重复执行
编码与框架能力
现场写一段代码:给一个数组,把重复元素去掉并保持原顺序。
考察点:考察基本编码功底,这类题不难但要求写得干净、能讲思路
别踩:闷头写不说话,或写完不验证边界,被追问就慌
介绍一下你搭的自动化框架,整体结构是什么样的?
考察点:考察架构能力:分层设计、封装复用、报告和持续集成
别踩:只罗列用了什么工具,讲不出为什么这么分层、解决什么问题
页面对象模式(PO 模式)你了解吗?它解决什么问题?
考察点:考察对经典设计模式的理解深度,而不是只知道名词
别踩:只背定义「每个页面一个类」,说不出它解决的实际维护痛点
自动化怎么接入 CI/CD 流水线?失败了怎么通知和处理?
考察点:考察是否把自动化当成质量流程的一环,而不只是写脚本
别踩:只说「用 Jenkins 跑」,讲不清触发策略和失败后的闭环
项目经历深挖
你说过你负责的自动化覆盖了核心流程,具体覆盖了哪些?覆盖率怎么算的?
考察点:验证项目真实性,考察是否有量化意识和明确边界
别踩:数字前后矛盾或口径含糊,被追问就改口,可信度崩塌
这个框架里哪一块是你自己设计的?当时为什么这么设计?
考察点:区分你是主导者还是使用者,考察技术决策过程
别踩:把团队框架说成自己设计的,追问实现细节立刻露馅
讲一个你通过自动化发现的、手工很难发现的线上问题。
考察点:考察自动化的实际价值产出,以及问题定位能力
别踩:案例太浅(如「发现个按钮点不动」),或讲不出定位过程
情景应变与协作
开发说这个需求太紧没时间写接口文档,你自动化怎么办?
考察点:考察跨职能沟通和在不完美条件下的推进能力
别踩:只抱怨开发不配合,或说「没文档就等」,显得没有推进能力
上线前两天需求改了,你的自动化用例来不及全改,怎么办?
考察点:考察优先级判断和在时间压力下的取舍
别踩:说「加班也要全改完」,不现实;或直接放弃自动化,两个极端都不行
你们自动化跑一次要三四个小时,太慢了,怎么优化?
考察点:考察执行效率优化的实战手段
别踩:只说「加机器并行」,不讲用例分组和分层执行的设计
反问环节
你有什么想问我们的吗?
考察点:考察你对岗位和团队的真实关注点,也是你评估机会的机会
别踩:说「没什么想问的」,显得没兴趣;或只问福利待遇,显得动机单一
面试准备清单
| 什么时候 | 要做什么 |
|---|---|
| 面试前 3 天 | 把自己简历上的项目重新过一遍,每个项目准备好「背景、你负责的部分、技术方案、量化结果」四要素,确保任何一条都经得起两层追问。 |
| 面试前 3 天 | 刷 10-15 道基础编码题(数组、字符串、字典操作为主),自动化岗手写代码难度通常不高,但要求写得快、写得对、能边写边讲思路。 |
| 面试前 1-2 天 | 整理框架描述的口头版本:分层结构、每层职责、你主导的模块、踩过的坑,练到 3 分钟能讲完且逻辑清晰。 |
| 面试前 1 天 | 查目标公司的业务和测试技术栈,如果 JD 里提到特定方向(如性能、移动端、接口平台),针对性准备 1-2 个相关案例。 |
| 面试前 1 天 | 准备 3 个反问问题,围绕团队自动化现状、岗位定位、协作模式,写下来带着。 |
| 面试当天 | 如果是在线面试,提前测试编码环境或共享屏幕;手写代码题时先复述题目确认理解,写完主动跑一个边界例子再交。 |