2011年到了目前这个公司,负责建立团队,刚来公司的时候,领导一句话就是你自己招兵买马。而这之前我最高的岗位就是资深测试工程师,现在转过来负责招聘和管理,确实有诸多困难,但是想着我自己的座右铭:挑战就是机会。因此耐下性子琢磨如何建立团队,如何给自己找一帮合格的同伴。经过这么久的总结和实践,总算把自己的这套理论验证了一下,顺便发出来供大家拍砖。 测试

  首先,我们还是回到很多人想知道的问题:怎么样的测试工程师才合格?

  目前,说法很多,而我以前的也提到过,总结起来不外乎:博大精深四个字,但是这四个字不是时间可以证明的,说易行难。但是对于工薪阶层的我们来说,高薪就意味着一切,因此不管多难我们都得上,对吧?文章

  第二,拆解“博大精深”

  我根据自己多年的经验积累以及和同行们之间的交流,将这四个字做了以下拆解:

  1、业务能力
  2、技术能力
  3、辅助能力

  以上三类能力属于大块的,接下来进一步拆解:

  1、业务能力

  我们了解的各种领域的知识,如电子商务,医疗,金融,电信,无线通信,军事,财务,进销存仓储等等,我们在中会接触到这些领域,那么我们要做的就是去理解这些业务的实现流程,各个环节,模块,它们是如何配合形成了一整套能够为顾客提供服务的系统。这些环节中,那些部分是关键,那些部分是目前技术无法解决的,那些部分是目前同行中最优秀的。当我们能够随口描述出这个系统的各个组成部分,以及其功能的目的和作用时,那么你就离领域专家不远了。工作

  2、技术能力

  这主要帮助我们在执行测试任务的时候能否尽快,独立,可控的完成任务的东西。

  首先是测试流程及设计

  要熟悉当前流行的,常用的,经典的那些测试流程,要熟悉这些流程中各个环节以及在这些环节中作为测试人员的我们应该做哪些工作,以免在开展工作时不知道如何开始,如何评估,如何结束。常用的,流行的,经典的测试设计方法,评估方法,这些必须有。

  其次是技术

  技能属于基础技能,我这里把数据库技能分为三级:入门级,会基本的sql语句,增删改查,连接查询,子查询等。熟练级,会建库,导表,分配用户,备份数据,能读懂存储过程等。DBA级,熟悉DBMS的参数及其作用,能够运用范式概念来理解数据表的逻辑设计,掌握数据库的优化方法等。数据库

  编码技术:我经常给我的同事们说,我们也许找了成千上万的bug,但是我们却没有生产出一个bug,这算不算遗憾?那么编码能力就会弥补这个遗憾,因此我们要去一门编程语言,然后用它在日常的测试工作中去生产一下bug,呵呵。编码技术我分为五层:第一层,了解一门编程语言,会用它写一些小东西。第二层,熟悉一门语言的常用的内库,并且在工作中灵活的运用这些现成的玩意儿。第三层,有一定编程思想,对线程,网络编程,数据库编程都比较熟悉了,能够随时从语言自带的 lib中找到这些现成的模块,并且熟悉它们的具体用法。第四层,熟悉各类常用的设计模式,并且能够顺畅的利用这些模式来完成自己的工作,脑袋不在只是考虑语言和lib,而是产品,模型。第五层,没有产品,没有模型,没有架构,只有公司的策略,未来的技术走向,这个算什么?我私下定义的:人妖!^^学习

  3、辅助能力

  首先是执行力

  没有执行力,说什么都是空的,除非能够一开始我们就是领导者,否则就必须要有执行力。没有也要给锻炼出来,比如最简单的方法,闹钟一响必须起床,计划制定之后无论如何都要去按时完成。

  其次是学习能力

  很多人在简历里面写自己学习能力怎么样怎么样,但是一问你如何去学习一个陌生的技术的时候,回答往往不靠谱。我这简单描述下:学习分为四个阶段:学,习,去粗存菁,融会贯通。多了不说,各自琢磨,免得被用来忽悠官。面试

  再次解决问题的能力

  看到这里肯定有人会说:这玩意儿也可以考核?度量?我确实想这么说:解决问题的能力在书面上叫方法学或方法论。每个人每天都在解决不同的问题,而不同的人在解决同样的问题的时候有不同的风格,这里的风格就是方法。这个网上有很多的资料可以查,我就省了,只说一个大概:确认问题的表象,拆解细分,对拆分后的列表进行从易到难的排序,然后按这个顺序进行解答,综合所有解答得出最后答案,评估问题是否得到解决。

  最后,悟性

  我就要把这个放到网上来,不怕被拍砖,没有悟性的人做啥都是死的,没有生命。大道从简,世界万物都有自己的道,成就的高低最终还是由自己领悟的道来决定,不管人们是否承认。道可道,非常道,我只能说到这里,再说就是瞎说,这只能靠自己。

  综述:

  以上三类能力可以全修,也可以偏修,建议入门的先专其一,其他的先入门,可以博一个入职机会,然后在逐个攻取。最终成就自己的道。这三类能力辅助能力尤为重要,我故意放到辅助这里来说就是这个意思,辅助能力突出的人,哪怕前面的两项能力都没有,我也觉得是可造之才,否则只能算一般人才尔。

  我设计了一个测试工程师技能成熟度评估模型,还在检验阶段,等差不离了,再放上来的大家拍砖。