Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com
软件测试工程师的猫论
上一篇 /
下一篇 2008-12-28 20:40:38
/ 个人分类:6年QA回忆
软件测试工程师的猫论
有一天team
building大家在一起吃饭,不知道谈到什么,我的manager突然对我说:当初你的面试评价非常一般,要不是XXXXXXX,你就被刷掉了!我当时听了心里不禁“苦笑”,心想就用这样的面试方法,没被刷掉真是太运气了。
可以确定的是就这个公司在行业中的地位来所,肯定是要找一流的软件测试工程师。那么他们是怎么面试的呢?我印象最深刻的一点是80%以上的内容都是知识性的,而且这个知识还和他们的产品密切相关。有些甚至是非常具体的操作知识。比如有一个问题是如何共享一个windows的目录,还有如何配置一个openldap server等等
知识性和具体操作的东西不是不重要,而是如果占到80%那就太多了。实际这还不是最让我吃惊的面试,我还经历过面试有类似智商测试题的。用这样的方法来找优秀的软件测试工程师,我觉得是很难的。因为这些测试的目标,基本上是舍本逐末。这些面试都没有瞄准软件测试工程师需要具备的核心能力。
软件测试工程师的核心能力很简单,我认为就是发现bug的能力。就像总设计师的猫论,无论白猫黑猫,逮到耗子的就是好猫。
这个能力说起来简单,但并不太好恒量,因为它是一个综合能力的体现。
在人力资源方面,一种分析个人能力的方法是C/E/T分析方法,把人的能力分成3个方面。
C代表Competence,指表现出来的解决问题或完成某项工作的具体的能。Competence都是是需要长时间的积累的。对软件测试来说比如发散思维的能力,对bug来源的判断和追踪能力,学习新知识的能力,设计testcase的能力,控制测试进度的能力等。所有的这些能力都能影响一个软件测试工程师能否以更高的效率发现更多的bug。
E代表Experience,指工作经验,项目经验。很多公司招聘的时候非常注重工作经验,特别是本行业工作经验。原因是,如果一个行业本身的知识门槛比较高,比如通信设备的测试,那么具有相关工作经验可以节约很多培训时间。还有一个原因是更多的经验通常说明能力更强,因为能力都是从经验中总结获取的。
T代表Technical Knowledge,也就是掌握的技术知识。比如会QTP,会perl编程,或者获得CCNA。这些技术知识一般来说相对上面的C和E来说是最容易获取的。只要脑袋不笨,经过一段时间的自学都能掌握的。
所以,面试一个软件测试工程师,最重要的是恒量他的Competence,然后了解他的工作经验,最后才是一些具体的技术知识。
在我面试过的所有公司中,个人觉得ebay cdc的面试是最有效的恒量软件测试工程师能力的。可惜被刷了下来。以后有机会再去面一会 *_^
收藏
举报
TAG:
6年QA回忆