超全软件测试面试题大全,18道经典真题,覆盖测试理论/MySQL/Linux/职业规划
与开发工程师相比,软件测试工程师前期可能不会太深,但涉及面还是很广的。在一年左右的实习生或岗位早期面试中,主要问一些基本问题——MySQL数据库、Linux操作系统、测试框架、测试环境搭建,以及自动化测试和性能测试。本文整理了18道真实面试中的高频问题,每道题附分析思路和参考答案,帮你面试不再慌张。
01
Q&A
软件测试的流程是什么?
TEST PROCESS · 需求到发布的完整链路
分析思路
每当HR问一个问题时,花1-2秒思考HR想得到什么信息。有工作经验按公司流程答;刚转行或实习按标准回答。
参考答案
需求评审阶段
项目经理或PD将项目需求文档下发给研发人员,研发人员记录不清楚或遗漏之处;评审会上逐项提出并解决,最终输出需求规格说明书。
产品研发阶段
需求确认后,开发经理编写开发计划,测试经理编写测试计划;开发人员开始程序开发,测试人员同步编写测试用例;第一版程序出来后迭代第二版,测试人员跟踪缺陷直至程序迭代完成。
产品发布阶段
程序迭代完成且大部分缺陷修复后,测试人员进行工作总结,输出测试报告,记录测试结果与遗留问题。
02
Q&A
测试用例主要有哪些元素?
TEST CASE ELEMENTS · 基本要素
分析思路
每家公司模板不同,回答基本要素即可,无需面面俱到。
测试用例主要元素:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等。
03
Q&A
软件测试有什么策略和阶段?
TEST STRATEGY · 静态动态·黑白盒·四阶段
测试策略
动态/静态
白盒/黑盒
测试阶段
单元/集成/系统
验收测试
单元测试和集成测试多在开发调试阶段完成,测试人员平时主要做系统测试,验收测试在客户参与下进行。
04
Q&A
黑盒测试和白盒测试是什么?区别?
BLACK BOX VS WHITE BOX · 内外有别
黑盒测试
在程序界面进行,通过设定场景验证程序是否正确满足需求规格说明书
白盒测试
针对程序内部结构,对代码进行走查等,成本较高,路径多时易遗漏
核心区别:黑盒测需求,白盒测实现;黑盒成本低,白盒成本高;路径复杂时白盒容易有盲区。
05
Q&A
软件测试有哪些类型?
TEST TYPES · 八大常见类型
06
Q&A
测试用例是什么?有什么作用?
TEST CASE DEFINITION · 量化测试工作
定义
设计一个特定的场景,让软件在这种场景下运行,检验程序是否给出正确反应,以此验证软件是否正确实现了客户的需求。
三大作用
避免盲目测试、提高效率;版本更新后只需修正少部分用例,降低工作强度,缩短测试周期
明确测试重点,分清测了哪些、没测哪些;是测试工作的见证
量化测试工作的方法之一,便于评估测试覆盖率
07
Q&A
你平时是怎么设计测试用例的?
TEST DESIGN METHODS · 五种常用方法
分析思路
主要考察是否掌握用例设计方法,HR可能追问某种设计方法的概念或实例。比如:等价类划分法就是把输入域划分成等价类,从各部分选取代表性数据当做测试数据。
08
Q&A
软件缺陷的定义是什么?
BUG DEFINITION · 从需求出发判断
分析思路
判断一个问题是不是缺陷,要从客户的需求出发。
软件没有实现需求规格说明书中要求的功能
出现了需求规格说明书中明确指出不该出现的错误
软件没有实现需求文档中虽未明确提及但应该实现的功能(如账密加密)
软件出现难以理解、不易使用或运行速度慢等问题,也可认为是缺陷
09
Q&A
缺陷包含哪些元素?严重等级有哪些?
BUG ELEMENTS & SEVERITY · 四级评级
主要元素
标题、BugID、复现步骤、实际结果、预期结果、截图、日志等。
10
Q&A
给你一个杯子,你会怎么测试?
OPEN QUESTION · 从多维度发散
分析思路
这类开放性问题在前端面试中很经典,从外观、功能、性能等各个角度展开作答即可,考察的是思维广度。
外观
形状/颜色/材质
功能
装水/耐温/密封
性能
耐高温/防摔
安全
材质无害/防烫
还可以从兼容性(能否放微波炉、洗碗机)、可靠性(长期使用是否析出有害物质)、易用性(握持手感、倒水是否顺手)等维度展开。
11
Q&A
测试报告里面包含什么内容?
TEST REPORT · 测试工作总结
分析思路
各公司测试报告内容有所差异:有的由测试负责人统一编写,有的由各测试工程师输出自己模块的报告再整合。
12
Q&A
发现Bug但开发不认,怎么办?
HANDLING DISPUTES · 沟通与数据支撑
分析思路
HR主要想知道你如何处理与同事的关系。开发和测试是对立又统一的两个岗位,处理好这种关系是面试考察点之一。
先回归客户需求,确认问题是否真的属于缺陷
确实属于缺陷时,拿出复现步骤和证据,向开发解释清楚
若开发仍坚持,询问同事或测试组长意见,集体讨论后再与开发沟通
13
Q&A
你们公司的需求评审是怎样进行的?
REQUIREMENT REVIEW · 需求澄清机制
分工明确型公司
由PD(产品设计师)负责,需求确认后下发到开发和测试部门。
分工不明确型公司
开发、测试、产品等人员共同探讨,评审形式分线上和线下两种。
负责人一般会提前把需求文档下发到各人手上,供大家整理疑惑点,为后续评审会议做准备——评审主要针对客户需求及各模块间模糊之处进行审查排除。
14
Q&A
MySQL的常用命令有哪些?
MYSQL BASICS · 增删改查四句话
分析思路
数据库是测试工程师必备基本技能,刚入行对数据库要求一般只需掌握增删改查语句即可。
INSERT INTO 表名(列名)VALUES(数据);
DELETE FROM 表名 WHERE 指定条件;
UPDATE 表名 SET 改变项 WHERE 指定数据;
SELECT(查询项)FROM 表名 WHERE 指定条件;
15
Q&A
Linux下的一些常用命令是什么?
LINUX COMMANDS · 测试环境搭建必备
Linux系统是软件测试工程师必须掌握的基本技能。由于Linux运行稳定,软件的服务器大多部署在Linux系统上,搭建测试环境也是测试工程师的必备能力。
16
Q&A
你未来的职业规划是什么?
CAREER PLANNING · 看人下菜的分层应答
问HR
从稳定性角度:家人朋友在附近、喜欢公司文化氛围
问技术主管
展示对测试的热爱,主动学习新技术
问经理/董事长
说明方向需结合公司发展,灵活调整
发展方向:测试开发 / 产品经理 / 测试转开发 / 测试大牛 / 讲师
17
Q&A
还有什么想要问我的吗?
YOUR QUESTIONS · 两到三个为宜
分析思路
直接说没有会让HR觉得不关心岗位,问多了又显得没有充分准备——控制在两到三个问题比较合适。
公司研发团队目前什么规模?开发、测试分别多少人?
公司业务方向是什么?主要产品有哪些?
如果我入职,工作职责是什么?
18
Q&A
为什么想离职?
WHY LEAVE · 控制情绪、聚焦发展
分析思路
HR主要想了解你的近况以及离职原因。注意不要过于实诚地抱怨——上一家公司的问题HR无法完全感同身受,控制好负面情绪。
⚠ 不要一上来就抱怨公司压榨员工、领导如何——没有任何一家公司愿意接受这样的面试者。
寻求更大发展:原公司岗位设置无法满足进一步发展需求
文化不匹配:无法认可公司提倡的一些文化,寻找更契合的团队
个人原因:上班距离远、家中有事、充电、休假等(避免敏感话题)
永远不诋毁老东家:即使老东家有种种问题,也要用最美的话评价——你赞美他是素养高,他的问题是素质问题
///
LAST
写在最后
FINAL WORDS · 媛姐叮嘱
面试是一场双向选择,不只是公司在挑你,你也在挑公司
准备好这些问题,不仅能回答更从容,也能占据主动权
测试工程师的面试题万变不离其宗,核心还是测试流程、用例设计、缺陷管理、数据库、Linux这几大块。把这18道高频题理解透彻、答出深度,面试通过率会大大提升。
最后祝各位测试同行都能找到满意的工作,一路开挂,offer拿到手软。
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING
夜雨聆风