前言html
在个人上一篇文章中(http://www.cnblogs.com/scios/p/5489933.html),里面提到最近半年我面试过数十个测试工程师的应聘者,却鲜有让我满意的。后有读者留言说不理解为何会这样。 我感受有必要再说些什么,因此有了今天这篇文章。ios
面试场景1面试
依然以小明为例安全
问:“假设你所在的团队负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备怎么开展工做? ”服务器
小明听我说完后,考虑了些许时间,问到:“是否是要写测试用例?”微信
旁白:听到这样的回答会让我心凉,由于这个问题我只会对2年以上工做经验的人提问,因此若是面试者这么回答,说明了这我的起码理解能力方面有问题。网络
我接着提示:“小明,在答题前,你想一下,做为一个项目的测试负责人,一开始就去设计具体的测试用例,是否太片面了?”架构
听完个人提示,小明思索了一下,回答道:“我之前工做的时候就是这么作的。”框架
旁白:既然我这样提示,很显然就是没让你写测试用例。而这个时候若是再强调之前的作法,是否是在挖坑往里跳呢?性能
眼看提示无效,我换一种方式引导,又问:“那你以为该怎么设计测试用例呢?”
小明自信地说道:“我要测加减乘除运算,开方运算......”
我不忍再继续听下去,打断她,问道:“你设想一下,若是用例设计完成了,你准备怎么样执行这些用例呢?”
小明:“就在手机上去执行啊。”
我问到:“什么样的手机?”
小明说:“就这样的手机啊。” 而后晃了晃本身的手机。
我说:“是否是拿这部手机就能够了,换一款行不行?”
说道这里,小明停顿了一下,如有所思的说:“对啊,你尚未说咱们这个计算器程序应该运行在什么手机上。”
我:“如今你是测试负责人啊,你是否应该在设计用例以前,弄清楚这件事啊?”
听到个人话,小明不住的点头,刚才的自信开始消失,取而代之的,是眼神中的紧张。
我安慰道:“放松,你循着这个思路,从新来制定测试计划。我觉得他会所以开窍,心中窃喜。
“个人计划是,在华为、iPhone、三星、vivo、小米、oppo上执行这些测试用例……”
旁白:听到这样的回答,差很少能够pass了。
我想说的
上面这个问题很难吗?据我所知,这类面试的题目是各大IT企业面试软件测试工程师的必考题,这类题目能够称之为测试设计,通常是要求应聘者测试一个大众化的产品(不局限于软件产品好比一直笔,一部电梯,一块表,一台银行ATM机等)。题目看起来很是的简单和直观,但它能从多个维度全面的考察应聘者做为测试工程师的潜力。正如上面你们看到的真实面试案例,若是应聘者没有系统了解科学的项目测试理论,就很容易因之前的工做模式陷入思惟定势,没法自拔。
这类问题怎么解决/回答?其实方法流程很简单:
1.明确测试任务
2.分析测试范围
3.制定测试计划和测试用例
在上面的案例中,小明在作手机计算器程序的测试设计时,在没有明确测试任务的状况下,就盲目的展开测试用例的设计,这样,会引起诸多问题。
好比,在面试题目中,并无明确产品能够运行在什么手机平台上,对平台的支持需求不一样,测试的设计的差别性是很大的,因此,在回答该问题以前,先应该向面试官发问,明确产品支持的手机平台,以后,才能有的放矢的开展具体的设计(或者即便不问面试官支持哪些平台,在回答的时候也要说清楚先跟团队肯定运行的平台)。再好比,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制定有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。好比,有的项目是时间驱动的(Date-Driven),这类项目的特色是预先制定发布时间,要求到了那天,产品就必定要发布,对这类项目,咱们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,多是质量驱动的(Quality-Driven),这类项目的特色是对发布时间没有强行的规定,但要求产品的质量必须达到必定的指标,而且须要在发布之后,实时监控产品质量,那么,在测试中,咱们不只要作好项目当下版本的测试工做,还须要考虑构建长期、高效地测试系统和平台,保障产品质量可以实时度量。另外,明确产品的功能设计、产品的核心竞争力、可用的测试资源等信息,对于接下来作产品测试都是相当重要的。
那么问题来了,也许有的人会质疑,我招的是测试工程师,不是测试经理,不须要考虑这么多吧,若是按照我这种要求,怕是一年也找不到一个,何况的确有不少人受公司制约,甚至有人大学刚毕业,确定回答不上来这类问题。
我想说,企业招人的目标永远都是奔着“合适”去的。我这么去面试,天然是由于工做中遇到的实际问题致使我不得不去关注这些。在实际工做中,常常会遇到测试人员接到测试任务之后,什么也不考虑就去测试了,测试完了之后告诉我工做完成了。 而后我问他此次测试任务的范围是什么?开发为何要作这些改动?这些改动是开发本身提出来的仍是客户要求的?若是客户要求的客户的关注点在哪里?此次改动具体改了什么内容?怎么改的?你以为这样的改动合理吗?改动之前是什么样子的?...... 这些问题最初的时候我问十我的,九我的都答不上来,还有一个回答的模棱两可。那么,从一个测试经理的角度,让我怎么相信这个测试负责人的工做是有效的?怎么让我相信他的工做覆盖率是全面的?我没法相信连改动缘由、改动内容和改动方法都没有了解清楚的人,能很清楚的知道测试经过的准则。...... 同理,作测试前先思考是一种习惯,若是这个问题回答很差,我很难相信他在实际工做中会作到我刚说的那些(况且我提问的时候是不断引导的,这个问题也不会拿去问2年经验如下的新人)。
关于如何跟开发沟通肯定测试范围,能够翻一下这篇博文:http://www.cnblogs.com/scios/p/5624707.html
也许还有人以为,上面这个案例,说起的知识是一个“知不知道”的范畴。只要有所准备,就能作到从容不迫~
我想说的是,我在带新人的过程当中,不断灌输这套作事的方法论。他们的确是“知道了”,可是真正用好还花费了很长时间。因此面试的时候也不要过于乐观,是临时抱佛脚,仍是平常工做中就按照这种方式去工做,做为资深的面试官都能分辨出来。劝君不要抱侥幸心理。
也许还有人说,面试时间那么短,面试的时候受限于时间关系想不了那么全。
其实,这种状况不也说明面试者的思惟不够敏捷,不是吗?毕竟面试官作了那么充分的引导。
面试场景2
问题:假设你是QQ这个产品的测试负责人,你怎么去测试QQ传文件这个功能?说一下测试点,你能够发挥本身的想象力,没必要局限于它现有的功能。
这个问题,问过不下五十人,能在面试时回答出超过15个测试点的,坦白说一个没遇到。
多数应聘者都是想到哪说道哪。
我更想听到的答案有两种,一种是按照传文件的流程(客户端A-网络-服务器-网络-客户端B),一种是是按照测试框架回答(好比系统的说明从UI、功能、性能、兼容性、安装部署、服务器端、网络、安全。。)。
也许有人问,这个问题就是考察“测试思惟”,实际工做中用不到那么多,或者只要准备一下,也能比较轻松的回答我这个问题。
测试人员最重要的素质是什么呢? 的确存在有些人思惟发散度很不错,虽然不会设计用例,可是很会找bug。可是这样的人可遇不可求的。并且经过面试去发现一我的的思惟发散度有多好不太现实,我仍是更保守的经过看一我的的思惟模式来判断他是否是我想要的人。 我如今所负责的系统架构比较复杂,涉及到方方面面,测试过程当中须要思考的问题,跟上面这个案例差很少。一我的是真的懂,仍是临时抱佛脚,能够经过不断的深挖来发现。因此, 若是想要在面试时“不露马脚”,仍须要在工做中就培养这样的思惟模式。
最后,国内不少公司存在面试官看“眼缘”决定是否录用。。。这样的状况不在本次讨论范围以内。
欢迎关注个人微信公众号和我的微信,若是以为个人分享对您有所帮助,欢迎加我微信红包打赏一下。
本文分享自微信公众号 - 软件测试经验与教训(udatest)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。