如何面试软件测试岗位?

找工作,找更好的工作,永远是职场人士特别是互联网这个人才流动性巨大行业的永恒话题。

 

提到找工作,则又离不开对于面试的探讨。

 

网上存在着诸多面试相关的文章攻略,不过站在面试官角度谈面试的却很少。

 

本文就站在面试官的角度,谈一谈一个面试是怎么组织的,有哪些技巧和思路。

 

希望帮到开始接触招聘任务的测试管理人员,同时也从另一个角度帮助求职人员应对面试。

 

 

常见招聘流程

 

 

一个测试团队的组建过程是怎样一个链路,或者说一个测试人员是怎么被招聘进团队的呢。

 

一般来说,整体上要经历以下的步骤:

 

◆ 确定人员需求

 

◆ 多渠道发布招聘需求

 

◆ 简历筛选确定候选

 

◆ 复数轮次笔试面试 

 

◆ 签约意向确定

 

◆ 入职

 

对于测试管理人员(面试官)而言,在谈面试之前,首先要说说人员需求的确定。

 

对人员的不同需求注定着我们面试中用到的思路和考察点不太一样,当然面试官要提前确定不能泛泛而论。

 

总结了几个问题,在发布招聘需求或者开始参加面试之前,试着回答一下:

 

◆ 预期人才招入后,从事团队什么样的,哪部分工作

 

◆ 我需要的是招之即用的人才,还是潜力股,还是解决技术难题的大牛

 

◆ 具体而言,预期人才应该具备哪些技术能力或者潜力

 

◆ 预期人才应该拥有怎样的核心竞争力

 

◆ 人员预算是多少

 

◆ 预期多久要到岗

 

◆ 通过哪种渠道来招聘

 

这些问题思考清楚以后,就可以产生我们耳熟能详的JD技能要求了,例:

 

◆ 3-5年测试行业工作经验,热爱测试工作

 

◆ 精通软件测试常用的方法和技术,可以承担产品功能和非功能测试

 

◆ 熟悉web系统,具有互联网产品工作经验者优先

 

◆ 熟悉云存储系统,了解主流云技术产品

 

◆ 熟悉Linux工作环境,掌握至少一门常用脚本语言

 

◆ 熟悉持续集成和持续交付体系,能完成相应测试,部署,交付流程

 

◆ 具备自动化测试经验者优先

 

◆ 具备数据库性能调优经验者优先

 

 

 

 

能力胜任模型

 

 

在招聘和面试时,我们到底都考察一个测试人员的哪些方面能力素质呢?

 

懂测试?会某种工具?

 

其实这个问题,我们更系统的来归纳一下,就是一个测试工程师能力胜任模型。

 

 

 

不同的企业和项目都有着不同的人员需求,这里不能一概而论。

 

但是通常来讲,测试人员的能力构成模型应该包括以上雷达图里的六个维度:

 

01 基础理论:求职者对于有没有着牢固的测试理论基础?

 

对于测试的角色和团队地位有着准确的认识?有没有出色的测试思维和理念?

 

有的团队在招聘测试工程师时会很看重技术和工具经验等,但往往会忽视更基础的这一部分。

 

实际上,再强的能力也要建立在牢固的基础之上,这一部分需要重视。

 

02 技术能力:对于未来预期他要用到的技术有没有足够的经验或者理解?

 

比如测试设计技术?操作系统知识?数据库使用?测试工具的使用?编程能力有没有?自动化测试做过吗?

 

面试官往往很看重这一块内容,不过实际操作起来,其实是有难度的。

 

这要求面试官本身对于技术的掌握要到比较好的水准,才能去判断别人。

 

而其实市场上,想要招聘到100%满足技术要求的人员其实是非常困难的。

 

因为企业百花齐放,每个企业每个项目可能都用着不尽相同的技能工具集合。

 

想要求职人员的技能工具经验完全匹配我当前的职业需求机率是很小的。

 

原则上我们应该更看重其学习能力和主动意识,工具技术相关经验只要满足70%以上匹配度即可,过于纠结这部分可能会得不偿失错失人才。

 

对于面试者也是一个思路,什么情况下我可以去应聘某个职位?

 

负责任的告诉你,当你的技能包与职位描述60-70%匹配时,就可以去应聘了。

 

反过来当你的技能100%甚至120%满足某职位需求时,就不要考虑了。

 

因为你一定超出这个职位需求了,为什么不去考虑更好的工作呢?

 

03 职业素养:职业素养是职场人员的软技能,比如时间观念,沟通能力,抗压能力等等。

 

这是非常重要的能力组成部分。

 

一个求职人员再牛,如果没有好的职业素养,一切都是白搭。

 

04 业务能力:业务能力也是测试人员必备的能力之一,包括领域知识经验和产品相关经验。

 

测试做为最关心产品最终实现和用户体验的人员,当然需要对产品所处业务领域有足够经验和知识。

 

比如一个财务处理系统,对于财务知识要求就会比较高。

 

不懂相关知识,可能连需求消化都需要额外的时间和精力,而且还可能导致测试出现偏差。

 

当然类似财务处理这样的专业领域,想要找到足够相关经验的测试人员是比较难的,所以一般只能做为加分项。

 

产品知识同样对于测试人员很重要,了解产品的架构和运作逻辑,才能帮助他更好的规划和执行测试。

 

同样做为加分项,招聘时要注意求职人员有无类似产品的工作使用经验。

 

比如一个长期工作在硬件嵌入式系统的人员,换到一份互联网P2P公司,这两种产品从架构到机制可能完全不一样。

 

05 管理能力:管理能力对于初级测试工程师一般没有很高要求。

 

但是对于经验比较丰富的人员而言,管理就会被提上日程。

 

管理不单单是做为测试经理或主管去全方位管理团队的能力,同样还包括个人管理,比如时间规划,比如协调组织能力。

 

进一步说,对于规模稍大的团队,核心人员能够胜任lead(带领者)和mentor(导师)这样的角色也是很必要的。

 

06 企业文化:企业文化是个听起来很虚的东西,不同的企业可能有不同的文化,比如客户导向,比如注重质量,比如讲究效率。

 

我们换个名词叫做“团队文化”。

 

比如我的团队,现阶段需要一个沉稳型的工程师,还是一个奋进型的创业者?

 

总的来说,正能量,积极主动,有责任感这样几个核心要素是可以适应各种不同文化的。

 

以上模型的六个维度中,有一些是可以通过简历筛选大体上完成匹配度检查的。

 

而另外一些简历上体现不到的东西则需要在面试中进一步观察。

 

 

 

 

面试套路

 

 

上一节我们用能力胜任模型谈论了一个测试工程师的考察维度,那这些素质究竟该怎么在短短的一场面试中考察到呢?

 

接下来说一说具体的考察方法,也就是套路。

 

每一种问题我们从想要得知什么和不想看到什么两个方面去讨论。

 

有几类问题是面试中大家比较常见到的,反套路也很多,我们稍微介绍一下:

 

01 自我介绍

 

功能:给求职者一个表达的窗口,同时也是考察其表述能力和基本素质的问题。

 

想看到的:主动的态度,良好的表达能力,充分的准备,简明扼要的阐述。

 

不想看到的:语言支离破碎,介绍过短或过长(表达沟通能力堪忧);想到什么说什么,没重点(对应聘没有做好准备,求职意愿不强,规划能力不够)。

 

02 离职原因

 

功能:判断求职者的稳定性,挖掘隐性问题。

 

想看到的:合理的理由,正能量的表达。

 

不想看到的:充满怨气的理由(可以反应出很多问题),没什么理由(工作内在动力不明确)

 

03 职业规划

 

功能:考察求职者的规划能力,景愿,以及工作动力

 

想看到的:诚实的表达,合理的规划

 

不想看到的:毫无规划(没有工作目标动力的支撑,进步可能性小)

 

04 谈缺点

 

这个问题不得不吐槽一下,原本这个问题是一种挑战性套路。

 

但是被反套路得太多,所以现在这个问题更多的我认为是要考察诚实品质了。

 

功能:挖掘隐性问题,判断人物性格

 

想看到的:诚实、诚实、诚实。能够认识到问题,并且有解决的思路,人非圣贤,孰能无过?知错能改,善莫大焉。

 

不想看到的:反套路(强行优点说成缺点),没缺点...调侃(严肃点...什么都被你打哈哈过去了,我面试还怎么面?)

 

05 要求对方发问

 

功能:考察求职者的主动思考能力,对公司职位的青睐度

 

想看到的:对于公司,项目,职位,技术充满兴趣的问题

 

不想看到的:反套路(动辄上升通道和培训机会),没问题(一脸懵,缺乏思路和主动能力)

 

 

 

 

总结思路

 

 

除了以上这些被问烂了的问题,还有一些个人总结的面试问题思路:

 

01 挑战式问题

 

比如在合理的范围内提出质疑,和疑问,比如:

 

“某项技术在我们的项目内是硬性要求,而您的简历上看到并没有相关经验,你觉得你能胜任这方面工作吗?”

 

这样的问题其实主要是考察面试者的情商,性格和态度。

 

个人最想看到的回答要体现出对于自己的信心,诚恳的态度,以及做事的思路。

 

比较好的回答可以是这样的:

 

“我承认您说的这方面经验欠缺的问题。不过我也认为我自己是一个学习能力和学习主动性都比较强的人,只要能够给我一定的时间去跟随团队学习相关技术,相信我能用最短的时间内掌握技术。”

 

还可以在此基础上举出自己学习某项技术的经历。

 

02 陷阱式问题

 

将考察点埋藏于问题深处的提问方法,比如:

 

“您希望的直属领导是什么样的?”或是“当你在工作中发现领导工作错误,怎么处理?”

 

这样的问题其实也是在考察面试者的情商和团队协作能力,以测试对方与当前团队的匹配度。

 

03 不熟悉的领域

 

现在的测试团队组织经常采用模块式的划分,一个面试者可能在以往工作中主要负责某产品特定模块的测试工作。

 

这种场景下一个好的问题可以是,他不熟悉的模块是如何工作的?

 

或者他们的开发人员是如何工作的?

 

这样的问题在于考察面试者的主动思考能力和整体把握能力。

 

一个拥有这样能力的人员不会说:“哦,这块不是我测试的,我不太清楚”。

 

同理有一个小技巧也是我在面试的时候经常会问的,比如面试者简历中提到的常用工具。

 

如果涉及到英文缩写,我会问:“你知道这个缩写的全称吗?”

 

比如一个面试者的简历中经常提到使用JDK。

 

如果他完全不知道其全称是Java Development Kit,那么在我眼里这就是一种主动思考能力的缺失。

 

04 发散性问题

 

软件测试职位的面试中,其实经常会面对这一种问题。

 

比如随手递给你一个水杯,问:“怎么测试?”

 

这种问题是有一定价值的,在考察测试基础理论的同时,也考察测试思维和做事思路。

 

他的一种演变形式可以是给出更实际的需求文档或测试点,要求写出测试用例。

 

05 解决问题的经历

 

工作中有没有遇到过什么难题,你是怎么解决的?

 

做为面试官,问这样的问题同样是在考察一个人的思路。

 

所谓难题可以是技术上的,也可以是流程上的,甚至可以是人际交往中的。

 

解决难题的思路和方法很大程度能够体现一个人的智商,情商以及思考回路。

 

对于面试者而言应该尽量将这个问题诠释出来。

 

说问题一定比不说要好。

 

以上就是我对面试思路和套路的一个小总结。

 

城市套路深,其实说起来可以说没完没了,如果大家遇到过有意思的面试套路,也不妨留言分享。

你可能感兴趣的:(软件测试,柠檬班,柠檬班)