写在开头
最近有一个朋友入职一家新创业公司,有幸成为测试团队负责人。在开心之际也迎来一个问题:就是作为一个新晋的测试主管,应该怎么开展工作才能尽快体现自己的价值,以及体现部门的价值?
话题有点大,比如如何制定部门规划、流程规范,如何制定KPI,如何提升人员素质,如何打造团队文化和凝聚力,如何提高执行力......所以我觉得有必要围绕着测试部建设这个话题,把自己的一些心得整理成一个系列。
今天分享的话题,也是这个系列的第一步:即如何组建测试团队?
几年前,我作为第一个工程师入职一家处于创业起步阶段的公司,负责组建部门,随着公司业务的发展,部门人数也从1个发展到了5个。那段时间我的收获也堪称巨大,所以我给这个朋友的第一个建议是,好好把握现在这个机会,因为这样的机会真的很难得。这样的机遇可以让一个人近距离的了解到高层的想法和关注点,在高层身边做两年工作,可能比在一个部门经理下面做思念工作的收获还要大。
初做部门主管/经理,肯定会遇到各种各样的困难,比如工作不受重视,比如背黑锅被领导骂个狗血淋头,不过话说回来,觉得工作累,也说明你走上坡路。同时我也觉得,一个人在工作中进步最快的时候,就是被领导批评的时候。拿我自己来说,在我的团队中,如果我批评一个人,起码说明了我觉得他还有价值,还愿意带着他往前走,如果不批评了,他也就危险了。
言归正传,说一说怎么组建团队吧。
1.合适的阶段招合适的人
一般来说创业公司组建部门的时候,肯定没法招很多人,无论是成本还是创业现状都不允许。如果是我的话,我会根据业务的需要,先招收几个手工测试人员,最好是那种能直接上手干活的,先满足公司的需要,干出业绩是进行后续工作的基础。另外招人的时候一定要招跟自己处在统一战线的,如果觉得不合适,尽早淘汰。
之后再随着业务的发展需要,考虑招收性能、自动化、安全方面的人才。当然,创业公司一般没有招专职性能、自动化甚至安全方面的专才,一般来讲,招1-2个有这方面工具使用经验的即可。
有必要的话我也会考虑招个实习生,培养他做一些QA的工作,来协助我做一些流程优化、bug预防、质量提升方面的工作。也会让他兼职着部门配置管理员的工作,承担测试环境的维护、bug管理工具的维护等。
当我的团队发展到10个人的时候,我会考虑招1-2个测试开发,帮助测试小组写一些测试工具,以及搭建、推广和优化自动化测试框架。在小城市测试开发不好招,我建议可以直接招个开发。但是招来以后要培训使他具有其他非程序设计方面的知识。这样可以和其他测试员更好的互相补充。
总之,作为负责人,就需要对测试小组要承担的任务,以及完成这些任务所需的技能做出规划,根据规划来组建团队。我也深深体会到录用决策是测试负责人最重要的决策,录用不合适该工作的人,是经理能做出的最差的决策,可能要长时间忍受这种错误的后果,所以要想方设法录用好的员工。 关于面试时的建议可以看一下我其他的文章《面试集锦》。
在招人的时候,我的建议是多招一些能人,毕竟我们的名额真的不多。也许有些测试主管或者经理会担心,如果招的的人太出色,自己的位置可能会受到威胁。对于这样的情况,我的建议是招一些某些方面比你强的人,但综合能力不如你的人。
2.承担重点工作
在初期,作为主管/经理肯定要自己承担一些具体的测试工作,这个避免不了,而且要承担主要模块或者有技术含量的测试工作——按照当初我的情况,每天80%的时间都投入在具体的测试工作上。
多带团队做一些重要的有挑战的项目,带领团队做项目的能力也是测试负责人的核心能力。多通过一些具体工作来指导自己的下属,培养他们的思维和技能。说到底,出来打工跟着你干,一是为了谋生,二是为了谋发展(别跟我扯马斯洛需求论)。发展有两个方面,一个是职位的晋升,一个是技能的提升。 测试部一般都不大,职位晋升不是那么容易,也不是那么有意思。更多的人还是更看重技能的提升,提别是年轻的同事。
某些不那么重要的项目可以安排给新人去做。我带人的一贯原则是多让他们碰钉子。因为我不想手下的人只会傻干活,如果哪天我手下的人出去以后被人当做只会傻干活的人,那么我觉得自己也挺失败的。
3.慎重对待其他小组推过来的人
我遇到过这样的情况,即某个同事在开发组中待不下去了,然后申请转岗到测试部。这个时候需要谨慎。的确,有的人虽然在其他小组中没有干出成绩,但在测试中做出很大成绩,但是这样的人真的不多。说句可能不恰当的话,本来大多数人就认为测试工作没技术含量,如果继续接受“失败者”,只会越让测试部摆脱不了这样的印象。所以,在没有把握的情况下还是拒绝被其他小组拒绝的人为好,即使这是免费的“礼物”(这种调岗不会抢了现有员工的饭碗,也不会占用新员工录用名额),但是人头数一多,下一次想申请录用新人时就有困难了(你刚刚得到人了,为什么还要?)。
另外,其他人也会觉得测试人增加了,那么能力和工作量也应该成比例的增加。如果有了新工作,而新测试员又不能承担,只会增加小组其他人的工作负担。久而久之,影响团队士气和凝聚力,得不偿失。
4.招人的时候不要只看简历
对于我来说,相比个人的学历和工作经验,我更看重这个人是否真正有能力完成我交代的工作,但这一条通过传统的1-2个小时的面试很难得到准确结果,所以我建议测试的同行如果有时间可以整理一下自己的博客(可以看看我的另一篇文章《博客即简历》)。
5.测试团队成员要有不同背景
录用的测试员,背景尽量不要千篇一律。理想的情况是,测试小组成员要都有自己的强项,且彼此有很大不同。比如某公司就录用过一个从没做过测试,但有其他工作经验的人,这哥们据说虽不会写用例,但思维发散度很不错,给他一个系统,发现的bug不比经验丰富的测试员差。所以说,如果使测试小组具有所需的能力,这样做会很成功。
6.录用热爱自己工作的人
寻找热心的人,谨慎录用与过去的经理存在过节的人,尤其要小心对过去工作不满的人。说是非者必是是非人。
7.录用正直的人
客户的信任是测试小组最重要的资产。 测试员的人格会影响客户的信任程度。
8.面试的时候让应聘者展示你期望的技能
例如让应聘者根据某个开源系统写一份测试用例,或者找bug(利用非本公司编写的公开程序,一是为了防泄密,二来也是避免应聘者觉得面试官想得到免费咨询),再举一个例子,像知道面试者是否真的有总结习惯,可以看看他总结的东西(如果需要应聘者提供工作样本,得注意提醒他提供非保密的文档);如果看面试者是否有上进心,就问问他看过什么书?
举得例子可能不恰当,但具有普遍意义。
9.不要迷信笔试
听说过某些公司会让应聘者做一些逻辑题,或者脑筋急转弯。我不反对这么做,不过我也认为这么做并不能像有些人想象的那么能说明问题。 能做好这些题,并不意味着能做好测试,也许只意味着他更熟悉这种考试而已,换句话说,得分很低的人也许只是没有回答这些问题的经验,但可能很聪明,能成为优秀的测试员。
10一旦拿定注意就迅速录用
否则好的应聘者很可能会在这段时间收到其他offer, 或者已经接受。如果还想人家过来,很可能就得付出更多的薪水。
【张树臣原创】【未经允许,请勿转载】【版权所有,违者必究】