乐于分享
好东西不私藏

超全的软件测试面试大全(含答案+文档)

超全的软件测试面试大全(含答案+文档)

超全软件测试面试题大全,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 · 八大常见类型

功能测试性能测试兼容性测试可靠性测试安全性测试压力测试负载测试UI测试

06

Q&A

测试用例是什么?有什么作用?

TEST CASE DEFINITION · 量化测试工作

定义

设计一个特定的场景,让软件在这种场景下运行,检验程序是否给出正确反应,以此验证软件是否正确实现了客户的需求。

三大作用

1

避免盲目测试、提高效率;版本更新后只需修正少部分用例,降低工作强度,缩短测试周期

2

明确测试重点,分清测了哪些、没测哪些;是测试工作的见证

3

量化测试工作的方法之一,便于评估测试覆盖率

07

Q&A

你平时是怎么设计测试用例的?

TEST DESIGN METHODS · 五种常用方法

分析思路

主要考察是否掌握用例设计方法,HR可能追问某种设计方法的概念或实例。比如:等价类划分法就是把输入域划分成等价类,从各部分选取代表性数据当做测试数据。

1等价类划分法2边界值分析法3场景/流程法4因果图法5错误推测法

08

Q&A

软件缺陷的定义是什么?

BUG DEFINITION · 从需求出发判断

分析思路

判断一个问题是不是缺陷,要从客户的需求出发。

1

软件没有实现需求规格说明书中要求的功能

2

出现了需求规格说明书中明确指出不该出现的错误

3

软件没有实现需求文档中虽未明确提及但应该实现的功能(如账密加密)

4

软件出现难以理解、不易使用或运行速度慢等问题,也可认为是缺陷

09

Q&A

缺陷包含哪些元素?严重等级有哪些?

BUG ELEMENTS & SEVERITY · 四级评级

主要元素

标题、BugID、复现步骤、实际结果、预期结果、截图、日志等。

严重等级
说明
致命
程序崩溃、死循环、数据丢失
严重
金额计算错误、核心数据出错
一般
不影响使用但造成一定麻烦
优化
字体字号不统一等界面问题

10

Q&A

给你一个杯子,你会怎么测试?

OPEN QUESTION · 从多维度发散

分析思路

这类开放性问题在前端面试中很经典,从外观、功能、性能等各个角度展开作答即可,考察的是思维广度。

外观

形状/颜色/材质

功能

装水/耐温/密封

性能

耐高温/防摔

安全

材质无害/防烫

还可以从兼容性(能否放微波炉、洗碗机)、可靠性(长期使用是否析出有害物质)、易用性(握持手感、倒水是否顺手)等维度展开。

11

Q&A

测试报告里面包含什么内容?

TEST REPORT · 测试工作总结

分析思路

各公司测试报告内容有所差异:有的由测试负责人统一编写,有的由各测试工程师输出自己模块的报告再整合。

编写目的系统简介测试环境测试方法与工具执行结果与记录缺陷汇总遗留缺陷跟踪用例执行情况测试结论与建议

12

Q&A

发现Bug但开发不认,怎么办?

HANDLING DISPUTES · 沟通与数据支撑

分析思路

HR主要想知道你如何处理与同事的关系。开发和测试是对立又统一的两个岗位,处理好这种关系是面试考察点之一。

1

先回归客户需求,确认问题是否真的属于缺陷

2

确实属于缺陷时,拿出复现步骤和证据,向开发解释清楚

3

若开发仍坚持,询问同事或测试组长意见,集体讨论后再与开发沟通

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系统上,搭建测试环境也是测试工程师的必备能力。

ls - 查看文件cd - 切换目录grep - 文件搜索find - 查找文件cat - 查看文件内容chmod - 权限修改ps - 查看进程tar - 解压打包

16

Q&A

你未来的职业规划是什么?

CAREER PLANNING · 看人下菜的分层应答

问HR

从稳定性角度:家人朋友在附近、喜欢公司文化氛围

问技术主管

展示对测试的热爱,主动学习新技术

问经理/董事长

说明方向需结合公司发展,灵活调整

发展方向:测试开发 / 产品经理 / 测试转开发 / 测试大牛 / 讲师

17

Q&A

还有什么想要问我的吗?

YOUR QUESTIONS · 两到三个为宜

分析思路

直接说没有会让HR觉得不关心岗位,问多了又显得没有充分准备——控制在两到三个问题比较合适。

1

公司研发团队目前什么规模?开发、测试分别多少人?

2

公司业务方向是什么?主要产品有哪些?

3

如果我入职,工作职责是什么?

18

Q&A

为什么想离职?

WHY LEAVE · 控制情绪、聚焦发展

分析思路

HR主要想了解你的近况以及离职原因。注意不要过于实诚地抱怨——上一家公司的问题HR无法完全感同身受,控制好负面情绪。

⚠ 不要一上来就抱怨公司压榨员工、领导如何——没有任何一家公司愿意接受这样的面试者。

1

寻求更大发展:原公司岗位设置无法满足进一步发展需求

2

文化不匹配:无法认可公司提倡的一些文化,寻找更契合的团队

3

个人原因:上班距离远、家中有事、充电、休假等(避免敏感话题)

4

永远不诋毁老东家:即使老东家有种种问题,也要用最美的话评价——你赞美他是素养高,他的问题是素质问题

///

LAST

写在最后

FINAL WORDS · 媛姐叮嘱

面试是一场双向选择,不只是公司在挑你,你也在挑公司

准备好这些问题,不仅能回答更从容,也能占据主动权

测试工程师的面试题万变不离其宗,核心还是测试流程、用例设计、缺陷管理、数据库、Linux这几大块。把这18道高频题理解透彻、答出深度,面试通过率会大大提升。

最后祝各位测试同行都能找到满意的工作,一路开挂,offer拿到手软。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING