在大型互联网公司带测试团队多年,也做过多年的测试工程师招聘工作,对测试工程师的能力也见过高高低低各种。
今天,分享下这些年带领测试团队提高的一点思路和方法,还在成长期的测试工程师可以用来指导自己的学习,用这套框架给自己制定一套目标和学习框架。
已经在带团队的小伙伴,也可以以此为参考,相互交流带领团队的经验和思路。
建立能力模型
在我看来,无论是测试工程师,还是其他岗位,我们都可以建立一套简单的能力模型。通过一套简单而直观的能力模型,指导我们学习努力的方向。而今天我要介绍的这个模型,是一个比较通用的模型,简单概括为三个方面:
业务能力
技术技巧
团队影响
我们先跳出测试工程师这个方向,以一名足球运动员的角度,理解这个模型。
业务能力
●
指的是其作为一名足球运动员,对业务能力的掌握和理解。
他是否清晰准确的理解足球比赛的规则,什么是越位?怎样的情况是犯规?什么样的情况是严重犯规?什么情况下罚直接任意球?什么情况下罚间接任意球……
通过提高对这一行业的业务理解能力,更好的把握细节,更好的在自己遇到各种情况时选择最佳的处理方案和应对策略。
技术技巧
●
指的是其作为一名足球运动员,对基本的技术技巧的能力。
能否在有压迫的情况下传出让队友感到舒服的球?能否在后场传出很准确的长传?能否在面对两名防守队员时选择合理的过人技巧和技术?能否背身接住队友传过来的半高球……
通过提高自己作为一名足球运动员的基本技术技巧,能够更好的在场上运用合理的动作完成最好的选择。
团队影响
●
指的是其作为一名足球运动员,在团队合作中最起码的能力素质,对教练员的战术理解能力,以及在团队中与其他成员的配合能力等。
能否与团队进行默契配合?能否理解队友的传球意图?能否很好地将教练员的战略战术运用到比赛中?能否在队友失去位置时进行很好的补位……
通过提高这些基本能力素养,提高自己在这个团队运动中的适应能力。
通过这个举例,我们在一定程度上理解了这个基础通用的模型。
测试工程师的能力模型
下面我们再回到测试工程师这个岗位,解释下这个能力模型:测试工程师的业务能力是什么?他需要掌握哪些技术技巧?关于团队与个人,会有哪些方面的能力要求?我们一个一个来看。
业务能力
●
测试工程师的业务能力,指的是其作为一名测试工程师,对自己所负责业务的理解和掌握。
能否理解一个功能特性意味着什么?这个功能特性在这个业务场景中扮演着怎样的角色?什么情况下会使用到这个功能特性?用户使用这个功能特性后,将会遇到怎样的情况?后续的业务逻辑是怎样的?在这个过程中还有哪些地方被同步影响?后台的数据在这个过程中发生了怎样的变化……
通过换位思考,从用户的视角理解整个业务,把握业务中的每一个环节,使用场景,更好地设计测试用例,更好地完成测试。
技术技巧
●
测试工程师的技术技巧,指的是其作为一名测试工程师,对自己运用技术理解和解决测试过程中遇到问题的能力。
自己负责的产品使用的是什么语言?应用的是什么框架?为什么要用这个框架?基本的业务架构是怎样的?整个项目分为几个模块?模块之间是怎样通信怎样调用的……
此外,自己能否运用技术手段去提高测试产品的质量和效率等,也是技术技巧等一部分。
团队影响
●
测试工程师的团队影响,指的是其作为一名测试工程师,在团队中建立和发挥自己个人影响力的能力素质。
能否很好把握自己测试的进度?能否评估测试过程中存在的风险?能否与研发团队的每一个成员做好配合?和开发工程师更好的描述一个缺陷?与产品经理就一个需求进行切磋沟通……
通过这些,去实现自己在团队中更大价值的发挥和体现。
通过这么三部分的描述,我们就了解了测试工程师基础能力模型的三个方面。
有了这些,我们就可以在日常的工作中,找到自己提高的方向和基本框架,作为团队管理者,也可以从这几个方面,帮助团队成员更好地提升。
多说无益,我以一个中级测试工程师为例,来用这个模型举一个培养方案设计的例子。
举例
对于一个中级工程师,他的业务能力已经迈过了最基础的步骤,对自己所负责的业务也有了一定的理解。
这个时候,我们就可以让他尽可能多的拉通整个项目,理解模块之间的互相影响,更多的参与到需求和技术评审中,从测试的角度评估一个功能特性的改动,会影响到哪些已有的功能,影响是怎样的,该如何规避。
一个功能的开发,需要设计怎样的测试方案,需要做怎样的专项测试,需要做怎样的兼容性测试,才能更好完成这部分测试?
对于一个中级工程师,可以开始给他一些技术方面的要求,让他理解项目的架构,整个项目分为几层,相互之间是怎样调用的,用的是什么协议,如何通信?具体到他负责的部分,逻辑结构是怎样的,运用了哪些框架,运用了哪些第三方组件?为什么选用这些组件?自己是否能运用技术手段,进行辅助测试,或者提高测试效率与质量?
对于一个中级工程师,他需要在团队中肩负更多重要的作用,能够理解整个团队的工作目标,能够在日常的测试中提供必要的支持,能够总结自己的测试方法、测试经验与测试技巧,对初级工程师给予指导和帮助,能够辅助高级工程师和整个团队,完成必要的帮助。
有初步的项目管理经验和能力,把握自己对一个大的模块的测试工作,提前知晓测试风险,合理应对可能的问题,帮助团队规避各种测试过程中遇到的问题。
以上,就是依照这个能力模型,针对一个中级工程师给出的基本培养思路和框架,希望能对大家有所启发。