做了7年测试,面试过上百家公司,我终于总结出一番道理,那就是空有技术,不懂面试,照样找不到好工作!

90%的面试者凉在一面!

从难度上说,第一轮面试不会很难,题目大多是面试官一早想好,主要只考核基础问题。但可怕的是在整个面试过程中,就属这个环节刷掉的人最多!

很多面试者的技术能力很强,却被无限放大了某个小问题,对最新技术的稍不敏感,对基础知识的微小疏漏,都可能是致命的。

如果能够在面试之前,对面试题目已经做好充分理解,先一步做好你的正确答案,一定能让面试官对你有不一样的评价!

想快速拿到大厂的高薪offer,你要先清楚大厂会考你什么问题,我分析了众多企业对软件测试工程师的需求,总结了这套出镜率最高的面试题!

常见软件测试工程师面试题

  • 1.你如何在pocketpc上TEST你的程序?你考虑了哪些方面?

  • 2.如果将你的程序的语言扩展到非英语,例如中文,你如何测试?

  • 3.给你一个COCAN,你如何测试(解释说就是罐装的可口可乐)?

  • 4.当你的程序遇到BUG的时候,你选择怎样处理?

  • 5.你如何isolation你程序里的BUG?

  • 6.给你一个产品有10个functionality,如果时间紧迫,只能测其中的5个,你如何选择?

其它相关:如果别人问我这些题目,我想我会大致这样回答,各位从事软件测试的同志们帮我看看回答的怎么样。

01.为什么要在一个团队中开展软件测试工作?

  • 答:软件测试在整个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。

02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?

  • 答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。

    软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。

03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)

  • 答:需求人员连同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。

04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

  • 答:从事过writetestplan,creationoftestcase,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长写测试用例和进行功能测试。

05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)

  • 答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。

    功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。

06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

  • 答:黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。

  • 白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。

  • 集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。系统测试:在所有都考虑的情况下,对系统进行测试。验收测试:第三方进行的确认软件满足需求的测试。

07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?

  • 答:测试计划工作是对测试工作内容的一个有效的组织和规划,能保证测试工作有效的展开。测试计划工作包括测试目标,测试范围的定义,测试方法的选择,测试进度里程碑,测试资源的有效配置和管理。

  • 测试计划工作也称为测试策略,主要描述测试工程的总体方法和目标,描述目前在进行那一阶段的测试(单元测试,集成测试,系统测试)以及每一阶段内进行的测试种类(功能测试,性能测试等)确定测试范围,生成测试数据等。

  • 其中软件计划中的测试目标最重要,它是软件测试所需要达成的最终结果。

08.您认为做好测试计划工作的关键是什么?

  • 答:1.明确测试的目标,增强测试计划的实用性

  • 2.坚持“5W”规则,明确内容与过程,‘what”why”when”where”how’

  • 3.采用评审和更新机制,保证测试计划满足实际需求

  • 4.分别创建测试计划与测试详细规格、测试用例

09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用?

  • 答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。

  • 例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价类划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边界值分析法,可以对结果分别是OK和NG的测试用例进行扩展和补充。

10.您认为做好测试用例设计工作的关键是什么?

  • 答:测试用例设计工作的关键是对可行的和不可行的都要考虑。1,输入2,详细的操作步骤3,预期输出4,实际输出。

11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。

12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。

13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。

14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

  • 答:有使用过LoadRunner,该工具能够录制测试人员的操作步骤,然后对这个操作步骤模拟出多个用户来播放出来。

  • 1.VisuralUserGenertor创建脚本,选择协议,录制操作,编辑操作。

  • 2.中央控制器(Controller)调度虚拟用户。创建场景,选择脚本,建立虚拟用户,设计shedual,设置ipspoofer。

  • 3.运行脚本。分析shedual。

  • 4.分析测试结果。

15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?答:性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。

  • 性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。

16.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

  • 答:检测时间,系统环境,硬体环境,严重程度,程式版本,确认人,功能模块,问题描述,详细操作步骤,是否会重现。问题描述和详细操作步骤要尽可能的详细。Bug应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下再测试一遍。

  • 在C/S模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。