曾经有个学生说,他去面试的时候,HR安排他跟其他应聘者一起先打了一场游戏,打没打赢不知道,但面试是过了,而且薪资还不错。

 

你没见过的“打游戏”面试

 

你以为他在吹牛?并没有!他面试的岗位是游戏测试工程师

 

什么是游戏测试呢?

 

游戏测试作为软件测试的一部分,具备了软件测试所有的共同的特性:

·测试的目的是发现软件中存在的缺陷。

·需要测试人员按照产品行为描述来实施。

·产品行为描述可以是书面的规格说明书,需求文档,产品文件,或是用户手册,源代码,或是工作的可执行程序。

你以为面试只要打游戏?那肯定不是啦!

面试软件测试工程师会有哪些面试题?

仔细听,这可是干货分享!

 

1

 

给你一个全新的软件,如何开展测试工作?

 

☺解题分析:

这道题其实就是考察面试者对项目测试流程的掌握情况,可以从测试流程详细说明,各个阶段的注意要点,输出,准入准出标准,方面进行说明。

 

☺参考回答:

第一步:需求分析:我会对这个全新的软件需求进行全面分析,主要分析的点有:

1. 软件的版本需求合理性,是否可测试;

2. 项目人员配置(遇到什么问题找谁,有多少人投入测试,测试环境,测试资源,硬件,软件);

3. 要测试的软件的主流程,异常流程,测试重点;

4. 项目整体计划(发布时间)

 

第二步:制定测试策略、测试计划和bug定义标准。这一步主要是针对需求,在已有和可以协调到的资源上做出具体的,可执行的计划,这个阶段的输出是测试计划。测试计划中明确包含测试范围,测试策略,比如功能测试、性能测试、自动化测试、可用性测试、云测、monkey等。

 

第三步:按计划执行,编写测试用例。编写测试用例的方法:等价类,边界值,错误猜测法,因果图,正交分解法等等。编写测试用例需要注意的点,用例区分等级,特殊场景考虑:为空(接口空、数据空)、加载超时、网络异常、重复提交、异常中断、缓存冲突、系统兼容、流程迂回、流程中断;

如果是PC,要注意各种浏览器IE chrome 火狐 苹果,操作系统xp win7 win8 win10 linux mac的兼容;

如果是手机,则注意手机的品牌 操作系统 系统版本 手机屏幕尺寸 手机网络等场景。

写完用例,如果有条件,就要评审测试用例。

 

第四步:执行用例 补充场景 记录bug 回归bug(注意开发提测的需求需要冒烟测试通过)。

 

第五步:功能合入 回归测试(各个功能点测试通过之后,再合入)。

 

第六步:提交验收(回归测试通过之后,提交给验收人员进行验收)。

 

第七步:发布上线。全新的软件,先是小范围内测,观察线上数据(如:crash,用户反馈,运营数据等)如果有产品认为严重的问题,则需要修复后重发,符合预期才能扩大发布。

 

 

2

 

测试和开发工作有什么不同?对比一下

 

☺解题分析:其实这是一道开放性题目,测试和开发是有明显区别的,但是不同公司测试和开发的区别又是不一样的,这题是考察面试者对测试和开发这两个岗位职责的理解,如果你是面试测试,那么你回答问题时,要显得你更懂测试。

 

与开发人员相比,测试人员的技术有“全而不精”的特点,这是由于测试工程师需要配置各种测试环境,分析影响性能的各种原因而需具备的技术要求!

 

☺参考回答:测试和开发是有区别的。软件开发重点在于将一个软件要实现的功能,以代码的形式实现,侧重点在于语言,框架,各种技术的使用。

 

软件测试是验证开发出来的软件符合需求预期的过程,包含软件的功能,性能,安全,稳定,易用性,如果大型软件,还需要自动化测试。需要更多的思考用户使用这个软件时的各种特殊场景。

 

3

 

为什么选择软件测试工作?

 

☺解题分析:主观题,就要体现出自己的主观性。因为喜欢测试、对测试感兴趣、觉得自己适合做测试等原因才选择测试的。千万别说找不到开发的工作,所以找测试,虽然可能现实是这样的。

 

☺参考回答:对于我个人来说,比较喜欢测试这个岗位。我喜欢接触新的东西,在不同的场景下,运行软件,往往能带来不一样的体验。我愿意站在客户的角度上去“挑刺”,并且我一直还比较细心。所以我适合而且喜欢做测试!

 

4

 

你觉得作为测试工程师需要什么样的特质?

 

☺解题分析:这其实是考察面试者对测试这个岗位的认识,可以从测试的岗位职责,测试人员素养,测试人员的技能要求等等方面进行说明。

 

☺参考回答:测试是软件的质量保证者,是产品质量的最后一关,测试必须要有正确高效的沟通能力,超强的责任心,原则,比较全面的技术知识,必备的专业技能(软件测试流程,用例设计方法,计算机基础知识,操作系统)。

 

5

 

如果开发不认为bug是bug怎么办?

 

☺解题分析:事实说话+头脑风暴。

 

☺参考回答:首先找证据支持我说这个是bug,比如需求文档这么写的,竞品这么做的等等。如果找不到足够的证据支持你的观点,那就将问题升级到小组内讨论,一级一级的上升,直到PM或者项目经理拍板定义。

 

6

 

提出一个紧急修改意见但是开发说没时间?

 

☺解题分析:及时上报,让领导一起判断。注意后续跟踪!

 

☺参考回答:先把这个问题说清楚,问题影响范围有多大,然后给PM或者项目经理还有拉上开发一起评审,说明这个问题遗留的风险。如果PM和项目经理接受这个风险,那就可以发布,否则必须修改了才能发布。

即使他们接受了,发布之后,也要注意线上的表现,并知会出来。如果线上这个问题表现超过预期,那么只能要求发布hotfix。

 

7

 

作为软件测试工程师的职业规划?

 

☺解题分析:职业规划这个问题一般面试都会问,思路:

1-2年,熟悉这个行业的流程,使用的基本技术,能独立搞定其中的技术,知道那一块技术应该怎么学

3-5年,锻炼独挡一面的能力,注意技能全面,有需要哪一方面的技术,就注意积累那方面的能力。

5年以上,注意往某一方向发展,成为某一方面的专家。

 

☺参考回答:在未来1-2年内主要精力放在测试技能方面:比如熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、网络与数据库方面的技能。

2年之后会在技术与管理方面有所偏重;

希望自己3年以后有能力独立,完整,高质量的完成一个中型项目的测试;

希望5年之后自己成为XX测试方面的专家。

 

以上便是软件测试工程师面试中常见的面试题。

不管是技术题还是职业规划提问,在去面试前提前做好准备,从容回答。最重要的是,一定要对面试企业提前做了解,包括公司发展历程和主要的产品线。这样,在面试过程中才能更好的发挥!