软件测试的能力素质模型(Job Model),是对不同层级测试工程的能力要求进行明确的定义。目的是为了对每位工程师的能力进行科学的评估,然后分配合理的工作,也帮助大家明确职业规划的方向。
淘宝测试工程师的最常用的有4个,分别是:
测试工程师(P4)
高级测试工程师(P5)
资深测试工程师(P6)
测试专家(P7)
大家注意,不同软件公司对工程师的级别命名会有不同,大家只要理解它们之间的区别就行了,不必纠结具体的名称,那些都是虚名,就像浮云一样。
一般大学毕业生加入测试团队,层级就是P4。对P4工程师的能力要求是比较基础的:熟悉软件测试流程,通过阅读文档和沟通可以了解产品的需求,独立设计测试用例TC,执行TC并记录缺陷,完成缺陷跟踪。P4的职责要求是不要出现测试遗漏,特别是不能遗漏一些既严重又初级的Bug。
招聘P4工程师的时候,我们重点关注应聘者对计算机软件使用是否熟练,比如测试工作经常涉及的操作系统、Office、浏览器等等;是否能清晰的描述一个事物或者一个过程,因为在记录缺陷的时候,需要让开发工程师很快了解缺陷的重点;与人交流的时候是否可以很容易的表达和理解,因为测试工程师需要经常和产品经理、开发工程师交流需求、设计的内容。
与P4工程师相比,P5工程师的一个关键词就是“独立”。P4工程师可以很好的完成你分配给他的单项任务,比如测试某个功能模块;P5工程师则能够完成一个较大的系统任务,比如一个项目的测试。你可以放心的把一整件事情交给P5,他会主动的推动任务的完成,会主动解决过程中遇到的问题。
P5工程师需要了解更多的测试类型和测试策略,比如性能测试、易用性测试等等,当他接到一个项目后,可以分析出来,每个模块需要使用哪种测试策略,那些模块需要重点测试。P5也需要制定测试计划,安排时间表,这些都是P5的工作重点。
“我已经独立做了好几个项目的测试了,能达到P5么?”
由于资源的问题,可能很多P4工程师都独立做过一些项目,因此会产生上面的疑问。判断是否达到P5,并不仅仅看是否做了项目,而是重点看你对过程和质量的把握。这么说有点抽象,举两个例子说明。
在制定测试计划的时候,测试组长会决定测试策略(How)和测试工期(When),这时需要PM和开发对测试计划进行评审。P5制定的测试计划,会得到项目组的认可和信服。可是如果测试组长说,这里要重点测试,开发说根本不用,或者测试组长说测试需要1个月,PM直摇头说,哪要那么久,半个月就够了,那就说明能力还差把火。
再说个例子,P4可以把一个模块的Bug都找出来,但是如果问他,项目现在的质量好不好,什么时候可以发布,P4难以回答。而P5就可以很好的回答这个问题,他可以和PM站在平等的位置上,讨论质量和风险,商量发布日期,PM也很信任P5做出的质量评估。简单的说,P5可以很自信的站在PM面前,说,我认为现在的质量不合格,因为......,现在不能发布,并且PM也认可。
下面讲一下P6,P6的关键词是“创新”,P6的工作效率较P4、P5有很大的提高,具体表现在下面几个方面。
P6对被测软件的结构和相关的开发技术有深入的了解,因此P6在提Bug的时候,定位非常准确,还可以分析出Bug的原因,也能发现一些深层次的Bug,开发工程师与P6测试工程师合作时,会感觉非常high。P6会经常想出一些新的方法或者技巧进行测试,让测试速度更快,决不是只在UI层测试。
P6善于发现工作中的一些重复性劳动,然后用技术手段,把这些重复工作自动实现。P6善于思考,一刻也停不下来,你总是能从P6的口中,听到一些新的东西,因为他一直在考虑,怎么把工作做得更快更好。
“是不是只有会编码,会开发工具,才能到P6?”
单纯的编码能力,在大学学习的时候,一般就已经掌握了。P6需要的是软件技术的广阔知识面,编程语言、编程工具、流行框架、开源组件、数据库等等。当他遇到问题的时候,善于运用这些技术,找到最优的解决办法。单纯为了编码而编码,没有运用在实际工作中,是没有意义的。
最后说说P7,P7也需要创新,但是比P6的创新要复杂一些,关键词应该叫做“革新”。P6的创新可以让自己工作得更加高效,P7的革新则能够让整个团队的工作效率提升。P7对技术的理解更加成熟,在解决问题的时候,也不仅只考虑技术手段,而是要系统的分析,全面考虑各种方案的可行性,制定出最优的解决方案,下面的例子可以很好的说明。当我们感觉到工作中有一些环节,工作量大,重复性高,并且投入产出比较低,P6的做法是开发一个工具,把自己从这些工作中解放出来;P7的做法是,策划一次创新,用新的方案取代,并运用技术手段来实现。
关于各个层级的测试工程师能力要求,我们就谈到这里。关于Job Model,我想大家最常问的问题就是:“我想晋升到更高一级,应该怎么做呢?”希望这篇文章能帮您理清一些思路。如果还有问题,欢迎在这里和我继续讨论。
文章来源于领测软件测试网 https://www.ltesting.net/