大家好,我叫阿文,一名历经沧桑,看透
互联网行业百态的测试从业者,经过数年的勤学苦练,精钻深研究,终于从初出茅庐的职场新手成长为现在的测试老鸟,早已看透了面试官的种种套路,更是看尽了求职者的措手不及,既有尔虞我诈又有惺惺相惜……
蓦然回首,许多年前,我也是另一个求职者。故将我的面试经验分享给你们,希望每一个看过这篇
文章的朋友都可以过五关斩六将,镇定自若,信心满满地应对面试!
常言道:知彼知己,百战不殆。那么对于面试软件测试中,我们需要知道哪些方面,才是我们制胜的法宝。
1、简历的重要性
首先,对于简历上提到的任何
技术点,作为应试人员,都应该非常了解,因为这是面试官针对性发问的首选。即使不能够非常清楚地阐述其原理,但是在应用层面,至少应该可以清晰地说出在工作中的用途,并且可以简洁地描述出在自己项目中的应用情况。比如,在自己参与的项目中,采用了什么样的测试架构,如果是自动化,那么基于怎样的平台,有哪些工具,完成了怎样的功能。
换句话说,也就是所有写在简历里的项目,作为应聘者的你,都应该就此可以侃侃而谈,而不是看着什么热点就随便写一些上去。那样的简历虽然看着很好看,但是实际上到处都是
漏洞,经不起推敲发问。
同样的,在自我介绍阶段,面试官也会对于面试者的表达,有重点地进行筛选发问,这一段自我介绍的准备和注意点,与准备简历是相通乃至相同的。
2、职位技术要求
其次,在面试之前,对于所应聘的职位应该有所了解。针对岗位的职责和要求,来进行有侧重的准备,包括简历和面试。软件测试的内容也并不仅仅是测试软件那么简单,而对于所有相关的方面,都应该有所了解。
如果是手工测试,那么
测试用例设计和测试思路就是非常普遍的考察点。如果是
自动化测试,那么对于自动化测试工具的掌握甚至部分代码能力的考验,就是必须的了。
在当前的软件行业里,敏捷甚至DevOps都已经成为了业内标准,那么对于这个架构下的相关背景知识,是完全需要有很清晰的了解和熟练掌握的。从测试的角度来谈有关敏捷的话题,会让你加分不少。
3、选择适合的岗位
第三,面试并不是一个选拔性的考试,不是择优录取,而是选择合适当前岗位的人选。所以,如果是一个初级测试工程师,应聘测试专家很难成功可以理解。那么反过来,一个具有丰富经验的资深测试工程师,应聘初中级测试工程师的岗位时,成功的可能性也并不大。所以面试也并不是一个越厉害就越可以通吃的场合。不管如何,合适最重要。
4、面试官的决定权
最后,面试官的身份也有一定的决定权。很多公司的第一轮面试会和HR筛选简历进行结合。所以面试往往就是技术人员的面试,而面试官的身份或者背景也会对面试的结果产生重大影响。
一个开发出身的测试面试官,往往会从本身的工作经验及内容出发,可能会更多会在编程语言的细节和自动化脚本的编写方面进行发问和了解,对于测试理论可能涉及到的不多。而资深的面试官,往往询问得会比较全面。这个就要看在面试过程中,面试官关注的角度进行分析,来有针对性地回答。
初级的功能测试工程师,往往是软件测试行业的初窥门径者。这就意味着他们对于软件测试理论和测试思想不可能有非常深入和广泛的了解,那么作为初级人员,在面试中往往会遇到怎样的场景呢?
其实,这种场景也往往意味着面试官的水准也非常重要。此时的面试官可能更多会注意到在测试工作中,面试者是否满足最基本的工作要求,而不是达到怎样的工作技能等级。
面试常见问题(一):
“请你简单介绍一下你自己和参与的项目”,“你从参与的项目中都有哪些收获”……类似这样的问题,是面试官试图通过面试者的自我描述,来确定面试者在项目中的角色和责任,以及具备怎样的工作能力,是否具有上升的空间。
√如何回答?
这个时候,对于面试者自身的情况介绍,一定要避免夸夸其谈,涉及高深或层级较高的技术点。因为一个初级测试工程师,是不可能深度参与或者管理一个项目的,那么在个人介绍中,就要着重说明自己在项目中的工作内容,以及对于工作的理解。
表现出自己应有的位置,当然,如果你真的是非常了解测试的技术要点,只是工作经验欠缺,那么你需要的只是项目经验和锻炼,那么你就可以把自己所了解和掌握的内容与当前的工作内容结合起来,有一说一,这样面试官就不会产生你是在言之无物的印象。
面试常见问题(二):
“我们假设有这样一个问题……,以你的角度来看,你会怎么做?”,“这里有一个项目……,如果让你来设计测试用例,你会怎样安排,思路是怎样的”,这一类的问题,主要是考察测试工程师的测试分析能力以及测试用例的编写能力。
√如何回答?
这在软件测试工程师中,是非常基础的能力,也是很见基本功的方面。不要小看这种基础问题,想要进阶,这些基础能力必须非常扎实。
在此时,你需要的就是将这个问题当作一个项目,按照流程有条理地进行阐述,充分暴露自己的思维过程。
面试常见问题(三):
“你对XX了解多少,谈谈自己的认识”,这样的问题是用来考察面试者的视野是否仅仅局限在工作本身。
√如何回答?
俗话说“不想当厨子的司机不是好木匠(划掉),”是“不想当将军的士兵不是好士兵”。那么,对于一些当前较热门甚至前沿的技术或框架,作为初级测试工程师,如果对此有涉猎乃至研究,有自己的看法,那么对于自己将来的成长是很有助益的。企业也是很乐意培养这样有潜质的员工。
对于这类的问题,作为初级从业人员,就需要平时的积累和沉淀,对于行业的发展要有自己的总结和见解。
初级VS中高级测试工程师对于技能要求有什么不同?
初级和中高级测试工程师,在测试工程师本身来看,可能更多是侧重于测试能力和经验的差距。
而实际上在企业中,对于初级测试工程师来说,往往更多的是安排测试用例执行,或者较为基础和简单的功能测试。而具备了
用例设计和测试计划能力的,就可以进阶为中级测试工程师。具备了自动化测试能力,对于测试理论有了深入了解,对测试工作有自己的见解,就可以归为高级测试工程师了。
我们从以上的一种划分标准来看,除了对于测试技能和测试领域的覆盖,对于测试工作是否能够从理论上的角度来进行分析和掌握,是区别初级中高级测试工程师的一个分水岭。
我们可以理解为,工匠和大师的差别,简单来说就是从Executer到Designer的区别。简单的执行是工作的基础,而涉及到通过测试理论和测试思想来进行顶层设计,则是整个测试工作的上层建筑。
这就可以梳理出一条相对清晰的路径:
①从初级人员开始,测试用例的执行,将作为整个工作的基线贯穿始终。可能对初级的测试工程师来说,不管是手工测试还是自动化测试,执行测试用例的能力是必须的。
②而到中级测试工程师开始,随着对于工作的理解和自身经验的积累,具备了一定的设计和规划能力,则是中级测试有别于初级测试的标志,而此时的工作内容也会加入一定的设计和规划。
③而要想进阶高级测试工程师,除了技能上的全面掌握,对于偏顶层的测试架构也要有所掌握,而这个掌握的基础就是对测试理论和测试思维的深入了解与熟练掌握。
道理谁都懂,但很多人不知道如何去提升技术?如何去拼?
与其瞎忙活不如跟着大牛学学方法
作为一名成功的面试官,问的每一个问题都是有目的的,不会瞎忙活,仅仅通过几个问题他们就可以看穿每一个求职者的条件,软件测试行业是招合适的而并非牛X的,但相同岗位薪资达标的情况下必然会选择牛X的。见招拆招才能一招制胜,offer拿到手抽筋,一点都不夸张。
我见过很多拼命的同事,这个也学,那个也看,学习资料收集了一大堆,到头来不过是在“用战术上的勤奋,掩盖战略上的懒惰”,结果依然无法在测试项目中一显身手。在竞争力如此之大的时代,等待的只有被新人超越,被企业淘汰。
公司大佬常说:“这个时代拼的人很多,会拼的人却很少!我们不能盲目焦虑,一定要掌握方法,提升技能,实战与技术相结合!”
工欲善其用,必先利其器。
“赠人玫瑰手留余香”!我也想做你们测试发展道路上的人生导师,把我的经验分享给大家,帮你们更好的突破自己,提高自己!