质量工程师面试中会遇到哪些问题?
作者 Aaron Cao · 更新于

你会遇到测试策略问题(基于风险的测试、测试金字塔、哪些内容应当自动化)、自动化问题(框架设计、页面对象、API 与契约测试、不稳定测试)、流水线问题(CI 门禁、环境、测试数据),以及距离发布只剩两天但测试套件仍然失败之类的场景题。面试官更看重判断力,而不是工具名称。
质量工程师面试通常以哪些测试策略问题开场?
面试官会先考察判断力,再询问工具。你需要说明面对一个从未见过的功能时,会如何决定测试内容:阅读需求和代码变更、识别风险最高的路径、选择哪些检查在单元、集成和端到端层级运行,以及决定哪些内容保留为手动测试。接下来的问题几乎总是反过来的:哪些内容你不会测试,为什么?如果候选人能说明低风险的配置变更只需进行冒烟测试,而无须执行完整回归测试,就能展现这个职位所需要的判断力。
- 测试金字塔。大量快速的单元测试、较少的集成测试,以及少量端到端测试。后续问题:团队倒置金字塔会出现什么问题?
- 基于风险的测试。根据故障发生的可能性及其影响确定优先级,并能向产品经理解释排序依据。
- 测试设计技术。等价类划分、边界值、决策表和状态转换;你可能需要将其中一种方法应用于具体的输入字段。
- 非功能测试。性能、无障碍和安全方面的基础知识,以及判断各项测试何时属于范围之内。
- 退出标准。如何判断发布已经就绪,以及截止日期先于标准达成时该怎么办。
只要问题允许,就用自己工作中的具体实例作答;测试策略问题会根据答案的具体程度评分。
自动化与框架问题通常怎么问?
你每天都在进行自动化工作,可能以为面试官会询问工具。但他们真正会问的是结构,因此本节介绍那些能判断你的自动化体系究竟是经过工程化设计,还是简单堆积而成的问题。
- 框架设计。测试与应用程序之间的分层(驱动程序、页面对象或界面模型、API 客户端)、共享夹具、测试数据管理、报告,以及新工程师如何在不复制旧测试的情况下添加测试。
- 不稳定测试。这是最受青睐的问题。重试前先诊断:时序与隐式等待、测试之间的共享状态、顺序依赖、环境差异,以及异步行为。说明你会隔离哪些测试、删除哪些测试,以及如何防止整个测试套件被忽视。
- API 与契约测试。直接测试服务、验证架构,以及使用消费者驱动的契约,在端到端测试发现破坏性变更之前将其捕获。
- 工具问题。Selenium、Playwright、Cypress 或移动端框架;REST 客户端;负载测试工具。相比具体选择了哪一种,面试官更关心你为什么选择它,以及它有哪些局限。
- 编程。你可能需要使用 Python、Java、JavaScript 或 C# 编写一个小型测试或实用工具,并说明如何测试一个包含多个边界情况的函数。
将这些答案联系起来:分层清晰的框架能让不稳定测试更易于诊断,而契约测试则能帮助你保持较小的端到端测试层。
CI 与发布场景问题是什么样的?
高级职位的面试通常会直接给你一个情境。一个典型例子是:一名正在应聘医疗软件公司高级职位的质量工程师被告知,产品将在两天后发布,端到端测试套件已经连续一周失败,而开发人员称失败是环境问题导致的。优秀的回答会在讨论是否发布之前,先按原因区分失败:阅读失败信息,分离环境问题与真实缺陷,检查失败测试是否覆盖本次发布中的变更,并向发布经理陈述风险,而不是简单回答是或否。面试官考察的是分类处理能力和沟通能力。
其他常见场景包括:设计 CI 门禁,让拉取请求运行单元测试和契约测试,而较慢的测试套件按计划运行;管理测试环境和测试数据,使测试不依赖单个共享数据库;决定如何测试无法控制的第三方集成变更;报告开发人员不认可的缺陷;以及衡量质量,同时避免让覆盖率变成必须追求的指标。对于每种情况,都要说明约束条件、选择一种机制,并阐明其代价。
如果你曾经大声说出这些回答并应对后续追问,答案质量会显著提高,这正是模拟面试模式的用途;其他职位题库汇集在按职位和主题分类的面试问题中。
人工智能面试助手能在质量工程师面试中提供帮助吗?
对于对话式面试,可以,但要遵守诚信边界。SubcueAI 的原生 macOS 和 Windows 桌面应用会采集系统音频和麦克风声音,并在本地浮层中显示简短的回答建议。因此,当面试官问你会如何诊断不稳定的测试套件时,你可以在讲述自己的经验时参考屏幕上的检查清单。浏览器扩展可用于 Chrome 和 Edge 中通过浏览器标签页进行的通话,并且只采集会议标签页的音频。不会有机器人加入通话,也不会向会议页面注入任何内容;设置方法请参阅教程页面。
适用范围的限制包括:家庭作业、受监考的编程任务、录屏考核和公司管理的笔记本电脑均不在支持范围内;在他人观察下现场编写测试的练习必须由你独立完成。SubcueAI 创始人 Aaron Cao 将这款产品描述为帮助你回想自己已经掌握内容的提示,而不是照着念的脚本,因此它会基于你的简历和你自己的表达方式提供帮助。请先载入简历;个人资料位于简历生成器中。