很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享一些比较常见通用的问题。
一、自我介绍
这里不分享如何自我介绍、话术之类,相信大家都比较熟悉套路,这里分享几个细节
1、自我介绍时需要有底气
有些同学明明技术很厉害,但是一面试就紧张,一直低头,不敢直视面试官,更为紧张者都说不出话,这样的表现面试官不会觉得你是紧张,反而是觉得你是没能力的表现,所以要有底气,自信很重要。
2、自我介绍时可保持微笑、语速稍慢清晰
面试官可以通过你的表情、语调、语速,来判断是放松还是紧张,所以就算紧张,也要想办法保持淡定,脸上可适当加点微笑,语速放慢,让面试官听清你说的是什么。
3、自我介绍时该说的内容
内容不能太多和太杂,太杂容易找不到重点,一般内容有:自己的名字、工作经历、有什么能力或技能、获得哪些成绩(最好有数据)等,时长控制在1-2分钟即可
二、项目介绍
从几个部分来说,先项目规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本;
然后是整体的测试流程,然后再是角色与职责,接下来是在项目中自己的特色,比如做得最好的是什么、遇到最大的困难时(如何解决)、哪些地方还有待提高,最好有相应的数据进行支持,最后是心得体会。
三、面试问题
1、职业规划相关
Q:你的测试职业发展是什么?
A:测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师、行业资深专家奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。
Q:你为什么选择软件测试行业?
A:因为之前了解软件测试这个行业,觉得他的发展前景很好
Q:你对测试最大的兴趣在哪里?为什么?
A:最大的兴趣就是具有挑战性。因为我并不知道哪里会出现bug,在找到一个bug后会很高兴。并且测试需要很强的耐心和细心。我可以很容易的找到一些细节问题。
2、 个人能力(软实力、专业能力)
(1) 项目经验
Q:您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
A:我一般都是做的Web测试,搭建测试环境,对于一个程序进行集成测试,系统测试,回归测试等。还要编写测试用例以及一些文档,用户使用手册,功能测试文档等等。最擅长的是功能测试。
Q:您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
A:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。
例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边界值分析法,可以对结果分别是OK和NG的测试用例进行扩展和补充。
Q:在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
A:检测时间,系统环境,硬件环境,严重程度,程式版本,确认人,功能模板,问题描述,详细操作步骤,是否会重现。问题描述和详细操作步骤要尽可能详细。Bug应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下测试一遍。在CS模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。
Q:您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪些
(这个问题答案因人而异,大家可以根据自身的项目经验进行回答,回答的时候要突出自身的优势以及获得的成果)
Q:结合你以前的学习和工作经验,你认为如何做好测试。
A:根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。
Q:为什么尽量不要让非专业的员工去做一些测试工作?
A:首先,专业的测试人员是有一定的技能和耐心对软件一步一步进行测试。如果让非专业员工去测试的话,他可能心思并不在测试上面。会很随意的、没有目标的进行测试。这样子的话测试并不完整,有的时候甚至很重要的bug都没法找出。所以还是需要专业的测试人员来进行测试的。
Q:开发人员老是犯一些低级错误怎么解决?
A:要在开发的前期就制定好一些编码规范,这样子可以减少很多因为个人习惯引起的错误。同时,测试人员在发现开发人员犯一些低级错误的时候不可以指责他们,要耐心的给他们指出错误所在。然后可以有开发人员自己进行测试,找出一些一眼看得出来是错误的地方。
Q:开发与测试的关系?
A:开发和测试是一个有机的整体。在产品发布之前,开发和测试是循环进行的,测出的缺陷要经开发人员修改后继续测试。在开发的同时测试经理开始编写测试用例,测试文档要参考开发文档,所以开发和测试是不可分割的,少了任何一个都不能开发出产品。
Q:为什要在一个团队中开展测试工作?
A:因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量认证,这个时候就需要在团队中开展软件测试的工作。在测试的过程中发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。