如何面试软件测试工程师?

发表于:2016-11-09来源:张老师的小黑屋作者:张老师的小黑屋点击数: 标签:
测试人员最重要的素质是什么呢? 的确存在有些人思维发散度很不错,虽然不会设计用例,但是很会找bug。但是这样的人可遇不可求的。而且通过面试去发现一个人的思维发散度有多
面试场景1
 
依然以小明为例
 
  问:“假设你所在的团队负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备怎么开展工作? ”
 
  小明听我说完后,考虑了些许时间,问到:“是不是要写测试用例?”
 
  旁白:听到这样的回答会让我心凉,因为这个问题我只会对2年以上工作经验的人提问,所以如果面试者这么回答,说明了这个人起码理解能力方面有问题。
 
  我接着提示:“小明,在答题前,你想一下,作为一个项目的测试负责人,一开始就去设计具体的测试用例,是否太片面了?”
 
  听完我的提示,小明思索了一下,回答道:“我以前工作的时候就是这么做的。”
 
  旁白:既然我这样提示,很显然就是没让你写测试用例。而这个时候如果再强调以前的做法,是不是在挖坑往里跳呢?
 
  眼看提示无效,我换一种方式引导,又问:“那你觉得该怎么设计测试用例呢?”
 
  小明自信地说道:“我要测加减乘除运算,开方运算......”
 
  我不忍再继续听下去,打断她,问道:“你设想一下,如果用例设计完成了,你准备怎么样执行这些用例呢?”
 
  小明:“就在手机上去执行啊。”
 
  我问到:“什么样的手机?”
 
  小明说:“就这样的手机啊。” 然后晃了晃自己的手机。
 
  我说:“是不是拿这部手机就可以了,换一款行不行?”
 
  说道这里,小明停顿了一下,若有所思的说:“对啊,你还没有说我们这个计算器程序应该运行在什么手机上。”
 
  我:“现在你是测试负责人啊,你是否应该在设计用例之前,弄清楚这件事啊?”
 
  听到我的话,小明不住的点头,刚才的自信开始消失,取而代之的,是眼神中的紧张。
 
  我安慰道:“放松,你循着这个思路,重新来制定测试计划。我以为他会因此开窍,心中窃喜。
 
  “我的计划是,在华为、iPhone、三星、vivo、小米、oppo上执行这些测试用例……”
 
  旁白:听到这样的回答,差不多可以pass了。
 
 
 
我想说的
 
  上面这个问题很难吗?据我所知,这类面试的题目是各大IT企业面试软件测试工程师的必考题,这类题目可以称之为测试设计,一般是要求应聘者测试一个大众化的产品(不局限于软件产品比如一直笔,一部电梯,一块表,一台银行ATM机等)。题目看起来非常的简单和直观,但它能从多个维度全面的考察应聘者作为测试工程师的潜力。正如上面大家看到的真实面试案例,如果应聘者没有系统了解科学的项目测试理论,就很容易因以前的工作模式陷入思维定势,无法自拔。
 
这类问题怎么解决/回答?其实方法流程很简单:
 
1.明确测试任务
 
2.分析测试范围
 
3.制定测试计划和测试用例
 
在上面的案例中,小明在做手机计算器程序的测试设计时,在没有明确测试任务的情况下,就盲目的展开测试用例的设计,这样,会引发诸多问题。
 
比如,在面试题目中,并没有明确产品可以运行在什么手机平台上,对平台的支持需求不同,测试的设计的差异性是很大的,所以,在回答该问题之前,先应该向面试官发问,明确产品支持的手机平台,之后,才能有的放矢的开展具体的设计(或者即使不问面试官支持哪些平台,在回答的时候也要说清楚先跟团队确定运行的平台)。再比如,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制定有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。比如,有的项目是时间驱动的(Date-Driven),这类项目的特点是预先制定发布时间,要求到了那天,产品就一定要发布,对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,可能是质量驱动的(Quality-Driven),这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量,那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量。另外,明确产品的功能设计、产品的核心竞争力、可用的测试资源等信息,对于接下来做产品测试都是至关重要的。

原文转自:http://www.cnblogs.com/scios/p/6028094.html