这两个月陆陆续续面试了十多个应聘者,工作年限在半年到八年之间,但少有满意。期间,种种感叹,回想起去年面试六十余人仅有3人满足要求,如鲠在喉。
我的要求高么?
我的要求其实是:有还算不错的沟通能力,熟悉常见软件开发流程,有一定的需求分析、用例设计能力,会基本的linux和sql操作能力。有一些代码能力会加分。这是长期与现实妥协的结果。如果人还算机灵,其实我很愿意花时间来培养他们。
面试结果:
令人惋惜的是,一个合适的人真的很难找。更令人惋惜的是,我看到很多入行很多年的同行,能力并没有跟随工作年限一同增长,有些做了五六年的人有时候给人感觉竟然还不如一个入行一两年的年轻人。最令人遗憾的是,大部分人竟然没有一个明确的职业发展思路,即使有,也没有经过深入一些的思考,而是人云亦云。
面试的一些细节:
-
我准备了一套笔试题,考虑到面试者的不同情况,题目有最基础的测试方法,也有较高级的sql应用和设计分析。没有一个应试者给出让人相对满意的答案。内部评估的时候,我们认为一个工作两年工作经验的人就应该能回答的很不错。
-
我一般会根据简历问一些问题,看看简历的真实性。也会问一些基础的测试知识,查看应试者的专业素质。
常见的问题:
- 说说你常用的测试方法?
百分之九十的人只能答出等价类和边界值。只有少数人可以讲出其它测试用例设计方法,但深入问,从没有一个人能有令人满意的回答。
- 给一个非常简单的小例子,例如登录操作,让应试者回答如何使用等价类方法设计用例。
让人吃惊的是仍然只有不到五分之一能够给出比较满意的答案。
- 陈述一个缺陷的生命周期(你们是怎么管理bug的?)
有一多半人能够说出常见流程,但深入问一些问题:如缺陷如何同版本、测试轮次等结合起来,一些特殊情况如何处理等,很多人就懵了,而这些基本上都是工作中常用的。
- 你做的最长的一个项目是什么?在这期间你遇到了什么问题让你最头疼?你如何解决它?
十个人里大约只有一人能给出还算不错的答案(能够识别出问题,提出它带来的不利影响是什么,并能够给出一定的解决方案就算是不错的答案了)。
- 你感兴趣的测试工作是什么,你想在哪方面有所发展?
十个人里有4个会说是自动化测试,3个会说性能测试,2个会说是管理,一个会说是白盒测试。并希望提供相应培训。只有极少数人能够说出具体的思路和技术项。
- 如果继续追问:你说的是性能测试吧?你有过这方面的学习么?
一半会说看过一些网站上的技术文章,一半会说看过loadrunner的书。如果继续追问,是哪本书?是哪类文章?有哪些具体的知识点能讲一下么?90%答不上来。
- 问:你有看过哪一本测试书籍?哪些技术博客?哪些网站?
50%的人会说看过QTP的书(QTP的真正使用率已经快赶上诺基亚的使用率了!),并且没有真正在工作中使用过,然后就没有别的了。有少一半人最近几年一本技术书籍也没有看过。
- 如果有管理经验的应试者,我会问一些测试过程管理相关的问题,如给一个最简单的题:如果测试时间不够如何?
十个人中只会有两三个提到排定优先级和测试裁剪,大部分人的回答竟然是加班也一定要搞完。
我想说的:
- 为了你的前途,请多明确一些个人能力思路吧。你五年后,十年后是个什么样子?有没有一个明确的想法?有没有你五年后想达到的某个人的程度?如果这些思路不清楚,请多看看外面的世界,看看一些测试做得非常好的人是如何工作的,他们掌握了什么能力?学习他们,追赶他们并尝试超越他们。最好认识他们,可以侃侃大山,志同道合抱团前进很好。另外目标别定太抽象,一定要是可以分解,可以检查的。
- 多读一些测试书籍,测试的书并不是只有QTP!看看微软测试专家史亮推荐的书单,这些都是不错的好书:http://www.cnblogs.com/liangshi/archive/2011/03/07/1973525.html 有些书能够帮助你把测试知识框架搭建起来,比照一下你还缺点啥?
- 多读一些其它书籍,不限于技术书籍。如果想读的书有利于工作,推荐一些如何做思辨思维的书。《思考的艺术》《六顶思考帽》《你的灯亮着么》《学会提问》是我喜欢的4本书。它们会教你怎么独立思考,养成提问的习惯,而提问的习惯是我们现在的测试人员最缺乏的一件事情。人们往往拿了被测物就开始忙着写用例,忙着测试。而不是先探索它、研究它。当然IT技术也要掌握,如果你的IT技能能够赶上开发,你发现你做测试的思路会非常的宽广。
- 把书籍中的东西跟你的工作对比,把好的东西引入工作(这点是检验书本质量的好方法,也是促进你思考,促进你能力提高的好方法。)
- 关注大牛们的技术博客。国内写好测试博客的人不是很多(很多人其实很有水平,但是不喜欢写blog),但是国外有很多,有人整理了一个list也推荐给大家:http://ssnlove2008.blog.163.com/blog/static/3788942020093284842381/。
- 搞定你所在行业的领域知识:如常见IT技术,常见业务知识,这些知识掌握的越深,你的价值越高。测试技术是内功,但是你能直接为企业带来价值的最大之处是你对被测物熟悉程度,也就是你的领域知识!!!
- 没有方向?从你的工作入手,比如,你遇到的最大的难题是什么?我怎么解决它?我需要掌握什么样的技术解决他?我要推动什么样的组织改变来解决它?别人怎么解决它?有没有更好的方法?使用后我改进了那些?百度一下别人有没有同样的问题?尝试作对比,如果觉得他做得好,尝试联系那个人讨论一下。看看对方的进展。尝试把活儿干得特别漂亮。你能解决10个中等问题以后,你的能力会有大幅度提高。
- 尝试做笔记,或者写博客,要坚持!
另外的吐槽:
野蛮生长没有经过系统训练的同学非常多。这其实有很多因素,分析起来觉得有以下几点:
- 大学或者职业教育没有非常好的课程体系(有些培训机构还行,但是也需要提高),其实测试技能需要系统训练和长时间磨练才能有根本的增长,我们的职业教育或者再教育体系其实还是有很大空白的。
- 说句实话,大家的读书氛围不够浓厚。大家不喜欢看书。而读书是再教育成本最低,又非常有效的途径。相比于程序员,测试同学喜欢读技术书籍的比率明显的低,这是一个让人悲伤的事实。真希望这种现象能够改变。
- 很多人是不喜欢coding才转测试,或者是因为IT产业普遍薪水高才来做测试。不是真正热爱这份工作,不热爱其实做不好,因为兴趣是最好的老师。
- 很多人认为测试门槛低,young talent 不愿意干,测试吸引人才有点儿困难(我初入行的时候也有这种想法,也是当时被强拉来做测试的,当时想做的是coding和数据DBA相关工作并已经有了一些积累,)。说实话测试的入门门槛的确有一点点低,但是做好测试的门槛确是相当的高,随着系统越来越复杂,测试逐渐会比开发还难做,更有挑战性,我这么说你信么?
- 专业化社区还没有形成规模,测试人员没有能有效交流的平台。这是跟美国和欧洲的一个挺大的差距。他们的社区做得挺好的,我们也有了一些很好的起步。如一些热衷测试公益的同学,一些不错的会议,一些不错的线下活动,但还需要大大的发扬光大。