1. 首页 > 人力资源 > 在线面试

软件测试经典面试题有哪些类型?

一、软件测试基础概念类面试题

面试

这类面试题主要考查应聘者对软件测试基本定义、目的和原则的理解。例如,“什么是软件测试?”,软件测试是通过执行预定的步骤和使用指定的数据,以确定软件系统在特定条件下是否满足预期的行为。其目的在于以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正这些错误和缺陷提高软件质量,回避软件发布后由于潜在的软件问题带来的风险。关于软件测试的原则,有像“测试应尽早介入软件开发流程”等,早期介入有助于在软件开发的前期发现更多潜在问题,减少后期修复成本。

二、测试用例设计类面试题

(一)测试用例设计方法

这部分会问到应聘者熟悉哪些测试用例设计方法。常见的有黑盒测试中的等价类划分法、边界分析法、因果图法和错误猜测法,白盒测试中的逻辑覆盖法、循环测试路径选择、基本路径测试等。例如等价类划分法,是把程序的输入域划分成等价类,从各部分中选取少数代表性数据当做测试数据;边界值分析法则着重关注输入或输出的边界情况,因为边界值往往更容易出现错误。

(二)测试用例的元素和关键

还会问到测试用例的主要元素,如ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等。而做好测试用例设计工作的关键是对可行的和不可行的情况都要考虑,涵盖输入、详细的操作步骤、预期输出以及实际输出等方面。

三、软件测试分类相关面试题

(一)按测试技术分类

包括白盒测试和黑盒测试。白盒测试是测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有的逻辑路径进行测试,例如可以使用Rational Purify、Rational Quantify、Rational Purecoveage等工具;黑盒测试主要是在程序界面进行测试,它通过设定某种场景来检验程序在这个场景下是否给出正确的反应,从而验证程序是否正确满足需求规格说明书中的要求。

(二)按测试阶段分类

有单元测试、集成测试、系统测试和验收测试等。单元测试的测试对象是模块内部的程序错误,目的是消除局部模块逻辑和功能上的错误和缺陷,测试依据是模块的详细设计,采用白盒测试方法;集成测试的测试对象是模块间的组装和调用关系,目的是找出与软件设计相关的程序结构模块调用关系、模块间接口方面问题,测试依据是概要设计,采用灰盒测试方法;系统测试的测试对象是整个系统,测试的目的是对整个系统进行测试,测试依据是需求规格说明书,采用黑盒测试方法;验收测试是在客户参与下进行的测试。

四、软件缺陷管理类面试题

(一)软件缺陷的定义和判断

例如什么样的情况可被认定为软件缺陷,像软件没有实现需求规格说明书中要求、出现了需求规格说明书中指明不该出现的错误、软件没有实现需求文档中虽未明确提及但应该实现的功能(如账密加密)、软件出现难以理解、不易使用或运行速度慢等问题都可以认为是软件缺陷。

(二)软件缺陷记录的内容和提交

在以往工作中,一条软件缺陷(Bug)记录包含检测时间、系统环境、硬件环境、严重程度、程式版本、确认人、功能模板、问题描述、详细操作步骤、是否会重现等内容。提交高质量的软件缺陷记录时,问题描述和详细操作步骤要尽可能详细,Bug应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下测试一遍,在C/S模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。

五、性能测试类面试题

(一)性能测试的概念和目的

性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。其主要的关注对象是响应时间、吞吐量、占用内存大小(辅助存储区)、处理精度等。

(二)性能测试工具的使用

如果应聘者有性能测试工作经验,会被问到是否使用过一些测试工具,如LoadRunner。LoadRunner能够录制测试人员的操作步骤,然后对这个操作步骤模拟出多个用户来播放出来,具体操作包括Visural User Genertor创建脚本、选择协议、录制操作、编辑操作,中央控制器(Controller)调度虚拟用户、创建场景、选择脚本、建立虚拟用户、设计shedual、设置ip spoofer,运行脚本、分析shedual以及分析测试结果等。

六、测试流程与计划类面试题

(一)软件测试流程

包括需求评审阶段,如项目经理或PD会提前将项目需求文档下发给相关研发人员,研发人员会花一定的时间记录文档中不清楚或遗漏的地方,为后续评审做准备,在需求评审会上解决问题并出最终的需求规格说明书;产品研发阶段,开发经理编写开发计划,测试经理编写测试计划,开发人员进行程序开发,测试人员编写测试用例并进行测试、记录和跟踪管理缺陷;产品发布阶段,测试人员进行工作总结并输出测试报告等。

(二)测试计划的关键

做好测试计划工作的关键是要有一个明确的目标,详细阅读需求文档说明,对整个测试人员、测试时间、测试进度进行预估并预先管理,对整个测试流程设定规范,确保所有测试人员按规范做事。

七、与团队协作相关的面试题

(一)与开发人员的协作

比如如果一个很有个性的程序员认为自己的BUG不是BUG,要确定自己所提的在自己认为是不是bug,如果认为是就要在他面前重现这个bug并沟通,或者找直系领导解决。这反映出在团队中测试人员与开发人员可能会存在意见分歧,如何妥善处理这种关系是很重要的。

(二)与其他人员的协作

在测试活动中,如果发现需要文档不完善或者不准确,要及时与项目经理进行沟通协调,在邮件中详细把不完善不准确的地方描述出来并提出自己的意见。这体现了测试人员与项目经理之间的协作关系,以及在面对文档问题时的处理方式。

声明:本文网友投稿,观点仅代表作者本人,不代表鲸选型赞同其观点或证实其描述。

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:9:30-18:30,节假日休息