求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
测试工程师的分工
 
作者: 天彤 ,发布于2012-7-3
 

2010年底,技术研发部那轰轰烈烈的晋升面试慢慢落下帷幕,有人快乐有人失落。一晃几个月过去了,晋升失败的痛苦慢慢平复,晋升成功的快感也逐渐消退。接下来一个非常实际的问题摆在了我们面前,特别是对那些晋升成功的工程师来说,那就是,晋升成功后,你是不是依然做着相同的工作,跟以前没啥分别。

尽管受到一些争议,新的job model在这次晋升过程中,还是起到了比较关键的作用,它明确的定义了各个层级的测试工程师,应该具备何种能力,能够完成哪些不同难度的工作。除此以外,我们几乎隔一段时间就能看到一幅“测试工程师职业发展路线图”,每张画的都不一样,不过中心思想基本差不多,无非是说测试是万金油,可以向多个方向发展。

关于测试工程师的未来怎么发展,似乎我们已经掌握了足够多的信息了,按理说我们应该拨开迷雾,自信的大步往前走。但是我们却感觉到哪里有点不对劲,并没有体验到轻松畅快的感觉,相反,仍然觉得身在迷宫深处。这些并不正常,我想技术委员会应该做一次回访,针对晋升成功的测试工程师,问问他们的感受,是否感到个人价值倍增,信心百倍,目标明确。

下面只是我的推测,我想回访的结果可能不会那么好,并且很可能会得到相反的答案。虽然晋升成功的感觉很high,薪水也高了,还有同事们那羡慕的眼神,不过这些快乐都是极其短暂的。当大家冷静下来,回到工作岗位时,晋升成功的工程师会发现一个尴尬的现实:他们仍在做着跟以前相同的工作,并没有得到组织授权的,完全不同的任务挑战,也没有新任务委派的动向,一切都那么平静。再看看周围,他们发现了一个更加要命的问题,层级不同的测试工程师,却在做着相似的测试工作。P6在带个项目,P5也在带项目,甚至P4也在带个小项目。

其实真要说区别呢,也不是没有,他们带的项目还是有不同,有的大,有的小,但是看看项目中的具体工作,区别就不是很大了,都要写计划,写一堆用例,一遍一遍的执行,记录一堆bug。这种分工方式看起来合理,责任明确,各管一摊,其实不然,这种分配方法是最简单的,但是很不科学。因为大家都知道,在一个项目的测试工作中,总有一些工作是很简单并且量很大的,而有一些是很复杂但是量却不多,二八原则吧。P6工程师会觉得做那些简单的工作很无趣,而P4工程师会觉得做那些复杂的工作很吃力很累。

我认为这一点,是造成测试工程师对职业发展产生迷惘感觉的最主要原因。P4、P5、P6...每个层级都应该是一个里程碑,当你到达这个里程碑时,将会在各方面有一个很大的突破,而绝对不是周而复始的,不停的在做项目,然后熬很多年,熬成一个组的组长,然后每天处理一堆杂事,最终迷失自我。这绝对不是我们该走的路。

上学时学过,人类进化的一个关键,是社会大分工,每个组织负责不同类型的工作,精益求精,不断进化。测试工程师的工作如何分工,和job model产生了必然的联系。job model需要完成3个层次的定义:1、各层级测试工程师的能力定义。这个已经完成了,这里我们不再多说;2、各层级测试工程师需要完成哪些类型的工作。这个其实现在的model并没有说清楚,所以大家在工作中会感觉到有些迷惑,不过根据现有的job model倒是可以推理出来,后面我会总结一下;3、一个健康的测试团队,各个层级的测试工程师的比例。这个完全没有定义,所以我们马上会重点分析。

先讲第二点。真正合理的测试工程师分工,我想应该不是P5负责A项目,P6负责B项目,也不是在一个项目里,你负责甲模块,我负责乙模块,当然更不能是,测试负责人把模块平均分给几个人,然后自己负责所谓“沟通协调”的工作。不同层级的测试工程师,他们的分工应该按照工作类型来分。我们看下面的表格:

这里我们明确一个概念,就是项目(Project),在新twork中,项目的概念变大了,购物车、收藏夹这些都是项目,而购物车2.0、收藏夹3.0这些是演进的一些版本。因此,PTM(Project Test Manager)有了新的含义,其实就是之前所说的“子产品的owner”,但是这样叫太拗口,干脆以后统一叫PTM。注意,P4工程师的责任范围内,是没有PTM的责任的。

好,下面我们继续讲不同层级的分工。上面从工作内容上进行了分类,下面我们从他们所提交的bug,来进行一下分类,请看表格:

从提交的bug质量上,很容易看出一位工程师的技术和能力,如果P6发现的bug,跟P4差不多,那怎么好意思继续混下去。下面我们再从另一个维度来比较,那就是:是否专注在一个project里面,请看表格:

讲到这里第二点“测试工程师的分工”就讲完了。P4工程师的考评最简单最好量化,他只要按照文档,完成一定功能点分数的测试,就可以了。在执行过程中,P4也不需要大伤脑筋,如果有压力也是工作量的压力。假如P4工程师感到执行测试很困难,举步为艰,那说明PTM的设计和准备,没有做到位。而P5P6工程师,虽然摆脱了大量机械的工作,感到无比畅快,但是很快就会感到一丝不安,因为他们有了更多的资源,因此会受到了更大的压力,这种压力主要是思想上的压力,不过这些都是正常的,也是合理的。

我想一定会有很多人会对这种分工方式产生疑问,那么这里我先预测一些问题,跟大家解释一下。

Q:如果一个project的用例都由PTM写,ta能忙得过来么?

A:这就要看用例的规模了,如果按照现在我们的写法,估计够呛,用例写成“说明书”,PTM肯定累半死。用例应该是一个结构化的文档,与知识沉淀珠联璧合,总之这就要看PTM的能力了,怎么设计才能既简洁,又可读。另外如果项目太大(不禁想起WCS),那估计要多位PTM合作。

Q:PTM把用例写好,那执行第一轮测试的时候,他不是没事干了。

A:这是因为以前的规定是,用例全部写完,评审完,才能测试,这样其实是不敏捷的,用例的设计和执行本身就可以并行来做,评审只要把关键的测试逻辑评审通过就可以了。开发工程师也是希望我们尽快投入测试,尽快提交bug。另外,测试开始后,PTM还需要不断完善测试方案,特别是测试数据准备方法,PTM要为P4的工作铺平道路,绝对不是甩手掌柜。

Q:这样定义,对现有的P4工程师,是不是会感觉不好,好像在说他们只能做简单的执行似的?

A:说到这个问题,还请大家保持冷静。对岗位的定义,和对人的要求,是完全不同的,要区别对待。我们设定P4这个岗位,说明团队需要这样的岗位产出,绝对不是说现在这个岗位的工程师只能做这些。对这个岗位感兴趣,适合的人,自然会接受岗位offer。当ta在这个岗位上有了较好的绩效,经常会涉及更高层级的工作时,那么就可以自然晋升了。

到这里第二点我们分析完了,下面讲第三点:健康的测试团队中,各个层级的测试工程师比例应该是怎么样的。

现在我们的招聘策略是尽量挑选精英工程师,简单来说是至少P6级别,这是非常正确的方针。如果一个团队全是P4P5,在测试技术发展上,必然会遇到难以逾越的鸿沟。那么是不是P6越多越好呢,也未必,试想一个产品线测试团队都是P6,是什么情景。在篮球论坛有人提出这么一个观点,如果由5个科比组成的篮球队,可能战胜不了大联盟的任何一支球队。虽然没办法证明,我认为还是有些道理的。足球队最出风头的是前锋,要是11个都是前锋,也没法踢了。推理到测试团队也是一样,大家自己体会。

说到这里想起三国杀游戏,里面分了主公、忠臣、反贼、内奸几个角色,在多人游戏中,这些角色的数量是严格定义的,只有这样设定,各方面势力才能均衡,才好玩,忠臣太多反贼太少,一下就结束了,一点不好玩。并且,当游戏人数发生改变的时候,这些角色的数量也会跟着变,还要遵守一定的规则,保持生态平衡。

测试团队也是一个生态圈,各方面势力均衡,工作才好做下去。其实一直以来,“开发测试比”就是开发团队和测试团队保持生态平衡的一个重要指标,这个指标也是讨论最多,大家关注最多的。我认为每个测试团队,也需要确定自己的人员比例,可以根据所对应的Project的特点进行调整。下面假定有一个10人的测试团队,我们按照足球队的阵形,排出了测试人员比例模型,大家参考一下:

排下来感觉也挺靠谱的,才发现软件测试和足球还有这么点联系。当然,这只是常规团队的排兵布阵,有一些特殊的project和产品线,是不太合适的,需要重新定义。不过要遵守这个原则,并不是层级越高的人越多越好,而是要各司其职,方能百战不殆。

希望这篇文章,能够帮助大家理清思路,从职业发展的迷雾中走出来,也希望能以这篇文章作为引子,与各位测试经理们继续讨论测试团队的建设模式。最后总结一句话,我希望测试团队向着生态平衡,良性循环的方向前进。


相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践


LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...