trunko 发表于 2010-5-21 21:53:02

[面试系列] 微软、腾讯测试经理教你如何应聘软件测试工程师

微软、腾讯测试经理教你如何应聘软件测试工程师
系统测试工程师 (I)


有的方能放矢 — 明确测试任务

[背景]
这几天,部门启动了两个手机端应用程序的研发项目。作为测试经理,我开始盘算起制订测试方案以及规划测试资源。根据手机端产品的一些特性,我计划招聘两名系统测试工程师,负责产品的测试工作。
招聘消息一经发出,第一天我就接收到了100多份简历,申请应聘这个职位。经过简单而高效地简历筛选,有十多位名应聘者进入了我们面试的候选名单。再经过一轮简单的电话面试,我将目光锁定在了十位应聘者身上。接下来,我逐一的安排和他们的单独面试,根据他们的面试表现,我将决定最后的招聘人选。
Sophia,毕业于清华大学,精密仪器专业硕士,现就职于国内一家IT创业公司,有4年的软件开发经验。她是这十位候选者中,简历背景最好的一位,怀着对人才渴求的心理,我立即拿起电话,和她约定在第二天进行面试。

[面试]
第二天上午10点,Sophia如约来到公司,我开始了对她的面试。首先,我让她做了一下自我介绍以及询问了她的一些项目开发经验。接下来,我问她对系统测试工程师的认识,她的回答比较简单和片面,看来是来面试之前,没有做过功课。我想,好吧,接下来看看是否有培养的潜质,于是,面试进入了关键环节。

我问到:“Sophia,今天有带手机过来么?”
Sophia迟疑地看我一眼,不解地回答到:“带了?”
我看出了她的疑虑,微笑一下,卖个关子,说道:“哦,是这样的,下面这道面试题,需要用你的手机做道具。”
Sophia伸手去包里掏出她的手机,放到我面前,一脸狐疑地看着我。
我继续问:“你的手机有没有计算器啊?能给我看看么?”
Sophia眼中的疑惑更重了,回答到:“有的,你看看吧。”
我觉得关子也卖的差不多了,指着手机上的计算器程序,问到:“Sophia,假设你所在的项目组开发负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备怎么制订测试计划?”

Sophia如释重负,眼中所有的迟疑都烟消云散,重现自信满满的神情。(这种变化,她不是第一个,在我之前面试的很多应聘者,在听到面试题后,都和Sophia有一样的神情,觉得相比数据结构、设计模式等面试问题,这样的测试问题非常的简单,回答起来也应该十分轻松。不过,面试结束后,这些应聘者往往会非常沮丧,当然,这是后话,我们把话题拉回来)。
我继续说到:“这就是今天的面试问题,你如果有任何不清楚的地方,可以随时问我。”
Sophia听我说完后,考虑了些许时间,问到:“是不是要写测试用例?”
我心中顿感一凉,难道这名我寄予厚望的潜力股,就这么容易掉进陷阱?我心中非常不舍,于是,我提示到:“Sophia,在答题前,你想一下,作为一个项目的测试负责人,一开始就去设计具体的测试用例,是否太片面了?”
听完我的提示,Sophia思索了一下,回答道:“我所在的企业就是这么做的。”
眼看提示无效,我换一种方式引导,我又问:“那你觉得该怎么设计测试用例呢?”
Sophia热情洋溢地说道:“我要测加减乘除运算,开方运算,…”
我不忍再继续听下去,打断她,问道:“你设想一下,如果用例设计完成了,你准备怎么样执行这些用例呢?”
Sophia指了指手机,说道:“就在手机上去执行啊。”
我问到:“什么样的手机?”
Sophia说:“就这样的手机啊。”
我说:“是不是拿这部手机就可以了,换一款行不行?”
说道这里,Sophia停顿了一下,若有所思,忽然,她问道:“对啊,你还没有说我们这个计算器程序应该运行在什么手机上。”
我微笑一下,说到:“现在你是测试负责人啊,你是否应该在设计用例之前,弄清楚这件事啊?”
听到我的话,Sophia不住的点头,刚才的自信闲适开始消失,取而代之的,是她眼神中的紧张。
我安慰道:“放松,你循着这个思路,重新来制订面试计划。”我以为她会因此开窍,心中窃喜。
“我的计划是,在Nokia,摩托罗拉,iPhone上执行这些测试用例……”,我还没有在喜悦中沉浸几分钟,Sophia又开始滔滔不绝地发言,她的发言,彻底打破了我的美梦。我在心中摇了摇头,面带着僵硬的微笑,听她讲完。接下来,我例行公事的问了几个问题,然后很官方地结束了面试。回到座位上,我陷入了失望的苦恼中……



[点评]这是一次经典的面试。面试的题目是各大IT企业面试招聘软件测试工程师必考题,我们称这类面试题叫项目测试设计。题目往往是要求面试对象测试一样大众化的产品,该产品不局限于软件产品。比如,问应聘者如何测试一直笔,一部电梯,一台电视机,一台银行ATM机等。题目看起来非常的简单和直观,但它能从多个维度全面的考察应聘者作为测试工程师的潜力。正如上面大家看到的真实面试案例,面试题目有诸多的陷阱,如果应聘者没有系统了解科学的项目测试理论,就很容易身陷囹圄,无法自拔。下面,我就从面试者的角度出发,一一为大家揭秘这些陷阱之所在,并且配以相应的应对策略。分析、解决这类问题,流程上,可以分为三个步骤:
1) 明确测试任务
2) 设计测试计划
3) 优化测试用例
我们会分三节,结合三个真实、生动的例子来详细说明如何做好每个环节,从而做好一个项目测试设计。本节中,结合上面的案例,展开分析明确测试任务的重要性,以及如何才能系统性的明确测试任务。Sophia在做手机计算器程序的测试设计时,在没有明确测试任务的情况下,就盲目的展开测试用例的设计,这样,会引发诸多的问题。首先,在面试题目中,并没有明确产品可以运行在什么手机平台上,对平台的支持需求不同,测试的设计的差异性是很大的,所以,在回答该问题之前,先应该向面试官发问,明确产品支持的手机平台,之后,才能有的放矢的开展具体的设计。其次,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制订有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。比如,有的项目是时间驱动的(Date-Driven),这类项目的特点是预先制订发布时间,要求到了那天,产品就一定要发布,对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,可能是质量驱动的(Quality-Driven),这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量,那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量。另外,明确产品的功能设计,可用的测试资源等信息,对于接下来做产品测试都是至关重要的。下面的流程图,是对这一流程的直观描述,希望大家通过这个案例细细体味明确测试任务的重要性。

http://cn.myalbum.com/Photo-YBXVU3HS-D.jpg
图一: 项目测试设计流程图——明确测试任务

注:该书已经与“清华大学出版社”签署出版合同,定于2011年初面市,敬请关注!

[ 本帖最后由 trunko 于 2010-6-13 18:19 编辑 ]

haven6 发表于 2010-5-26 18:44:25

个人感觉这样面试的效果不好,其实你不就是想人家能用“测试思维”来回答你的问题吗?
她都没接触过测试,所以这是达不到预期效果的!你不如问她些生活实例,看看她的思维能力、逻辑、慎密程度是否真的有潜力!
比如:网上诸多提到过的让XX公司要组织次活动,公司全全交给她去筹划。看看她的思维,看看她能把这次活动组织到多成功?
不同人,回答出来的效果会相差很大,有人的思维是CMMI1级,有人是CMMI2级,,,,,,有人可到CMMI5级

[ 本帖最后由 haven6 于 2010-5-26 18:53 编辑 ]

huangdxx 发表于 2010-5-22 22:20:29

受教了,目前的测试环境问题,很多流程被简化了,导致面试有限的时间内,可能考虑没那么全面

hollyzhao 发表于 2010-5-23 00:15:57

好文,受益了

hollyzhao 发表于 2010-5-23 00:16:44

不过您招聘的系统测试工程师不需要考虑这么多吧...

trunko 发表于 2010-5-23 00:52:28

回复 2# 的帖子

嗯,但如果心中有关于这些流程的深刻理解以及准备得当。
那么在面试的时候就会从容很多~

trunko 发表于 2010-5-23 00:56:01

原帖由 hollyzhao 于 2010-5-23 00:16 发表 http://bbs.51testing.com/images/common/back.gif
不过您招聘的系统测试工程师不需要考虑这么多吧...

我们在招聘中,也是通过这些方式去考察系统测试工程师的基本素养。
其实,您也可以看到,这些知识是一个“知不知道”的范畴。只要有所准备,就能做到从容不迫~

zhangting85 发表于 2010-5-25 09:05:18

嗯,Sophia的思路从最开始就不对了。
首先从问这个项目的具体细节开始,因为即使知道是手机上的计算器,在不同的环境条件之下,测试的目标,测试的策略,以及判断测试能否通过所采用的依据都是不一样的。
问完细节之后依次确定测试目标,测试策略,测试依据,测试细致程度,这几个核心问题。然后再把这些问题具体化,考虑具体的测试环境,测试范围,进度,人员,风险,准入准出标准,产出物等等测试计划上的细节问题。之后才可以考虑要编写哪些测试用例,采用什么具体的测试方法来实现测试策略,采用什么工具等等用例编写上的细节问题。然后再进入下一个阶段。。。。。。

整个测试流程的每一个阶段都有一大堆问题要考虑。呵,但是楼主你很难找到懂这些的人,现在普遍的风气就是认为自动化才是技术,用工具才是王道,大家都在跟风呢,很少人去研究这些看似简单其实复杂的问题。

[ 本帖最后由 zhangting85 于 2010-5-25 09:07 编辑 ]

eaglenan 发表于 2010-5-26 11:05:50

非常好的经验,受教了,目前的测试手段流程已经严重忽略前期 的明确测试任务和测试计划,现在都关注在后面的测试用例上了

cathey_yang 发表于 2010-5-28 10:33:08

的确受教~~
开始也有过类似情况,很多东西虽然会,但是却统筹不起来,导致问题的回答和思考很片面~~~

菜也快乐着 发表于 2010-5-29 10:31:25

原帖由 haven6 于 2010-5-26 18:44 发表 http://bbs.51testing.com/images/common/back.gif
个人感觉这样面试的效果不好,其实你不就是想人家能用“测试思维”来回答你的问题吗?
她都没接触过测试,所以这是达不到预期效果的!你不如问她些生活实例,看看她的思维能力、逻辑、慎密程度是否真的有潜力!
比 ...

非常同意这个观点,陆续也招过不少人,可能受公司制约,大都是刚毕业的。要是按LZ的要求,怕是一年也找不到一个。。所以你要的是测试经理,不是测试工程师,请区别。

trunko 发表于 2010-5-30 04:57:26

回复 11# 的帖子

有道理,根据我们实际招聘来看,确实符合要求的人较少,但还是有思维敏捷的应聘者,能够在提示下找到正确的方向。

面试,经验和思维敏捷性都是考察的范围;要么,你具有良好的测试思维;要么,你的思维足够敏锐~ 我们也是希望通过将真实的面试过程展现给大家,能让读者有一些体悟,就达到我们的目的了~

weiwei911909 发表于 2010-5-31 11:59:27

恩,作为新人,受教了

philosophy 发表于 2010-5-31 14:16:14

受教了,思考的方式还需要拓展啊。

trunko 发表于 2010-6-7 02:08:44

回复 13# 的帖子

呵呵,很高兴能帮到你。看到大家的支持,我还会继续写下去的。

zhaolong4536 发表于 2010-6-7 18:05:41

现在做测试,基本上都是偏重于测试用例的设计。对于前期准备,都是建立在工作过程中!只有在遇到类似的问题后才会寻求解决的答案

猫猫的拖鞋 发表于 2010-6-11 16:07:48

测试做久了着重点很突出,思维都没那么全面了。受教~!

咚咚冻人 发表于 2010-6-12 18:49:34

受教了..

huzhizi 发表于 2010-6-12 20:23:34

楼主给的答案也非完美,如果作为这样的测试负责人只能被动地接受测试任务而未对自己团队的人力资源及测试范畴给予考虑!所以没有考虑这些的也只最多只能是一个资深测试工程师而已!

[ 本帖最后由 huzhizi 于 2010-6-12 21:52 编辑 ]

wjhbj 发表于 2010-6-12 20:45:20

受教了,虽然不敢随便评论这个方式的对错,。
但是以后自己面试的时候遇到这种情况就知道怎么做了。:lol
页: [1] 2 3 4 5 6 7
查看完整版本: [面试系列] 微软、腾讯测试经理教你如何应聘软件测试工程师