自动化测试团队如何去考核?

admin admin
376
2022-04-14
追其根本,首先我们清楚测试开发角色职责是围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力(单位时间能够提供多少服务)。这背后也有一个问题,效率提升的目的又是什么?假如一个测试团队的人数相对固定、测试时间充足,他提升效率的目的又是什么呢?从这...

追其根本,首先我们清楚测试开发角色职责是围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力(单位时间能够提供多少服务)。这背后也有一个问题,效率提升的目的又是什么?假如一个测试团队的人数相对固定、测试时间充足,他提升效率的目的又是什么呢?从这种角度来思考,个人认为测试效率提升的根本意义在于:

做更多的有价值的测试(更深入的需求分析、测试设计或者对测试右移的投入)

实现真正的缩减成本(减少或抽调人力投入)

适应开发模式的转变,比如类敏捷、devops模式下的频繁迭代/持续部署。

过去,我们一直尝试通过持续性的跟踪自动化测试框架、工具的使用情况(发现缺陷数量、使用次数、实际节省(盈余)时间等),来感知其发挥的价值(效率提升、质量保障)。但没有较好的效果,总结了几点:

缺乏平台化的统计、反馈媒介,相关数据过多的依赖测试人员的主动反馈,所以效果并不好。

仅通过缺陷发现数量、实际节省时间并不能很好的体现其价值(没有体现出上述的所提的效率提升背后的意义)

因此仅通过"发现缺陷数量"、"实际节省(盈余)时间" 并不是可靠的度量方式。

以自动化测试解决方案团队为例,着重考虑自动化覆盖率、效率提升率、效率转换三个指标,按季度或版本为周期,进行持续性的评估,以便感知落地后的测试技术服务是否持续性的发挥着原定作用。

自动化覆盖率 = 当前版本该项目自动化测试点/当前版本该项目所有测试点。

效率提升率 = 1- 单轮次自动化执行时间/单轮次手动执行时间(针对被自动化测试所覆盖的用例而言)

标准盈余时间 = (单轮次手工执行时间-单轮次自动化执行时间)*自动化执行次数

实际盈余时间 = 结合标准盈余时间估算

投资回报率(ROI) = (标准盈余时间/自动化测试开发投入时间)*100%

效率转换 = 对实际盈余时间的分配及相关产出

对应各项指标结合实际情况(如,原则上预期投入产出比小于150%,不开展或者降低优先级),进行整体评估,同时设置S/A/B/C考核级别。这样不仅可以评估当季度或版本的开展情况,也可以通过长期的考核情况(价值曲线),来评估整体产出价值。

随着测试平台(用例中心、自动化测试平台)的建设,上述统计项获取成本已远低于之前的人工统计。

最后之所以做价值度量,不仅是为了体现自身价值,更是为优化价值、提升价值提供参考方向。

更多内容,可以浏览我之前写过的一篇文章《如何度量测试开发角色的产出价值》

https://www.toutiao.com/i6648483835245756936/

一、如何做

建立测试规范、宣讲、培训计划

测试的基础知识进行宣贯,将测试计划、用例编写、业务沉淀、测试工具使用、checklist等与绩效挂钩。

开始培养团队成员代码能力

搭建、编写好接口测试框架、UI自动化测试框架,编写测试框架使用文档,进行针对性的培训、分享

开始测试工具的改造/开发

同样也是先搭建好基础框架,然后一样的套路进行使用文档、培训、分享。经过上一步自动化代码的铺垫,都有了基础的代码能力,再经过一些培训、指导,在一个已有的框架基础上根据自己的业务需求写一些测试工具或者进行测试工具的二次改造。

二、制定测试流程及测试规范

为什么要制定测试流程?

一,起到总览性的作用,指导测试人员在一个项目测试各个环节过程中需要做哪些事情,一般会涉及到需求分析、测试计划、测试范围界定、测试用例设计、用例评审、冒烟测试、一轮测试(功能、接口、性能等)、二轮测试、预发验证、线上验证。各阶段的准入条件是什么?各阶段完成的定义是什么?如果准入条件没有或者没有达到,那当前阶段所花的时间、精力就可能远超预估。

二,帮助新人尽可能快速了解测试项目如何运转,融入团队。

三,没有测试流程的话,测试工作将杂乱无章,测试什么时候介入、会经历哪些阶段,每个阶段什么时候开始、什么时候结束,各阶段完成的定义是什么等等这些问题都没有答案。

三、制定测试规范

测试规范设计到测试用例规范、Bug规范、Bug生命周期、测试计划、日总结规范...

培养成员,让测试人员对测试工作有个基础认识,有好的测试思维

便于一些数据的统计

规范、模板制定了,所有人都能编写出高质量的测试文档,照着模板填空就行

四、人才的管理

关注

关注团队成员,了解他们的性格特点、爱好、技术特长、沟通能力、合作能力,这样可以帮助我们“因材施教”。性格是很重要的一点,了解性格后我们可以在沟通的时候避免踩雷。比如有些人比较放的开,那开些玩笑什么的无所谓。而有的人比较敏感,在这类人面前说话得注意分寸,把握好度。有些人沟通能力差,容易情绪化、发火,这类人应尽量减少他们跟外部团队的合作,或者在他们跟外部合作的时候你需要多关注些,不然很可能得罪人。

定期会议

定期会议可以采用自由形式,让每个人自由地表达,会上可以准备些水果、茶点,营造轻松的氛围,让每个人都畅所欲言,以了解他们最近的情况,包括心情。会议可以让每个人说下自己最近的工作,哪些做得好,哪些不好,如何改进。另外,定期会议是个听取意见或建议的好时机。一定要用开放的心态去听取听取了也要有行动去改进,这样成员才能保持提意见或建议的激情,积极参与团队建设,有主人翁精神。千万不要让成员提完意见但是从来就不改,那以后你也别怪人家消极,这都是你自己导致的。

人员培养及晋升

结合他们自己的意愿,制定发展发向——如接口测试、性能测试、UI 自动化、测试策略等等,落实到绩效考核里面,关键结果明确。有绩效考核就会有压力,有压力才会有动力去实现,突破自我。

作为团队管理者,还有一个很重要的职责,就是如何帮助成员晋升。对比分析成员当前所在级别与上一级别之间的差距,还存在哪些不足,与晋升标准项一一对比,帮其分析出差异 list,然后列入到成员的绩效目标中(在绩效定下来之前需要征得其同意),在接下来的时间里,加以辅导,以帮助成员尽快达到晋升标准。在成员有晋升资格时,在晋升评审前,先帮他们看下 PPT,先把下关。

团建

招聘

明确招聘需求:招聘时要衡量好目前的短板是什么?需求是什么?如果缺少执行层的人,那就招实习生或刚毕业的就行。如果缺某一方向的人,那就需要招一个该方向有几年经验的。根据自己的需求去发布招聘信息。一个团队的人员组成最好是金字塔型的。金字塔上一层的人可以指导下一层人的工作。

面试准备:在面试前先了解侯选了,仔细看简历,提前做好准备,将想要了解的信息、要问的问题列出来,简历中列到自己不熟悉的领域,可以提前了解下,以免面试时不知对方所云。

面试: 进门后先问好,确认对方是侯选人,再自我介绍一下,然后就可以让对方做自我介绍,正式进入面试了。面试过程中,记得做些记录。面试差不多后,向对方介绍下公司及目前所做的项目。最后问下对方有没有什么问题,有什么想要了解的。这是面试的一些基本礼仪吧,会让对方对公司有个好印象

五、技术风向标

作为一个测试团队的管理者,要使下面的人信服,首要条件就是要有够硬的技术,能在成员遇到难题时协助他们解决或者提供解决思路,让成员在你的带领下可以不断地成长。当然也不是要求你什么都会,你可以通过团队所有成员形成技术闭环,使团队良性发展。专项组向各个业务组输出技术及支持,专项组的成员包括专职的性能测试工程师、接口测试工程师、UI 自动化测试工程师等,他们属于测试部门各自领域的“专家”,各自负责其对应的测试框架的开发及知识输出,输出到各业务团队。作为管理者,需要思考如何打造这样一个团队,可以通过内部培养,也可以通过人才招聘。

六、关于绩效

季度/年初制定绩效目标,同级别的成员绩效差异不大,以求做到公平。过程中根据实际情况调整一次,季末/年底评定绩效。在这过程中,对于垫底的同学,需要及时给出提醒,并提供改进意见或改进计划。千万不要中间一直不关注、不督促,到年底的时候再给他打个垫底的,那这是你的工作不到位,对方也会不服。

绩效评定后就是谈话,好的当然好谈,大家都高兴。差的就要讲究谈话技巧,首先肯定他的工作,这季度/年度做了哪些事情、哪些表现好(所以平时要多了解成员的工作)。最后还是要谈到关键点,为什么给他这个分。要说明这不是某一个人的主观意见导致的,而是横向比对、绩效的关键结果、环评(各类与之有合作的人评定)出来的。最后再就是告知对方,根据这个结果我们会给你制定改进计划,观察期 x 个月等等,让他知道团队没有放弃他。当然,最后是去是留我们都尊重他。

在日常的向上汇报中(不限形式),对于表现优秀的成员 要及时向上反馈,用事实说话,刷存在感,这样可以帮助团队成员在上级领导面前建立良好的印象,有助其晋升。因为你是他们跟领导间的桥梁,他们跟领导接触的机会可能有限,领导也无法知道他们每个人都干了什么,这就需要你这个中间人做好桥梁作用,你的工作职责很重要的一部分就是承上启下。

但是不要只报告好的,不好的也要说,有困难让领导知晓,这样他能了解你的工作,了解你的团队,会给你提供有效的帮助或建议,这也是你向上级学习的好机会。

一个很重要的点,就是老板都希望用最低的成本做最多的事情,所以:

1 原来用5个人天完成的回归测试,现在只需要3个人天。

2 原来开发需要自己做单元测试,现在测试也能做,开发放心去开发更多业务吧。

3 原来功能复杂度差不多的模块,上线后有20个缺陷,引入自动化测试后,加入持续集成,大幅降低了线上缺陷。

4 原来一些不好测试或者一些重复性的测试,引入自动化后,提高了测试覆盖度和效率。

5 测试人员对自动化有极大学习热情,大大提高团队的技术能力。

6 伴随技术能力的提高,测试可以更多的工具,用于提高整个研发效率,比如持续继承,代码质量控制。

几个需要注意的地方

1 测试团队有没有技术领头人是关键。

2 上峰和研发的支持力度是关键。

3 密切关注推广学习自动化后,小兵的心里变化。

4 自动化有投入成本,如果需要快速看到效果,从工具做起,从接口做起。

5 实践之中多用,多迭代,自动化要紧密结合业务,没有万能的框架。

6 工具一定要好用,不然自己人都不用,得不偿失。

7 实际工作中,不建议以自动化比例做硬性指标,而以上述正面效果做考核。

a.我认为,自动化测试团队的主要价值是

解决手工测试不能解决的问题

解决手工测试效率低的问题

自动化测试可以转换成自动化监控

举例:对于一个贷款流程的系统,对于贷款每个步骤的API接口的自动化测试,简化成只检查正确情况的主流程的测试,然后设计一个自动执行程序,自动执行测试,如果测试不通过,就发送告警。这就变成了一个定制化的自动化监控工具了。

b.自动化测试团队的考核内容

与手工测试相同的:

测试用例数量,质量

测试覆盖率:白盒测试的代码覆盖率,Api接口的覆盖率,功能模块的覆盖率

测试的有效率:未检出的线上系统Bug数量,手工检出的Bug数量

与手工测试不同的:

测试执行效率:测试耗时,回归次数等

测试代码的考核:代码行数,代码规范性,可扩展性等编程考核的内容

以上是我随便编的,哈哈。因为也不是专业测试,我接触到的,随便列了一些。欢迎高级测试人员来补充。

c.让老板看到价值,那最好的方法就是对比。

还是要从价值的两个角度去对比。

举例:测试效率的提升

修改一个小功能后,对系统所有模块主要功能的自动化回归测试。告诉老板,每次手工测试需要多少个人工,自动化测试需要多少个开发成本,之后测试时间和人工需要多少?

举例:手工测试解决不了的问题

测试Android手机兼容性问题,用人工基本不可能去做,量太恐怖。而现在自动化测试已经有了相关的解决方案。

其他相关 RELEVANT MATERIAL
入警体能测试项目有哪些?

入警体能测试项目有哪些?

admin admin
596
2022-04-14
谢邀,我是一枚警校小老师,喜欢警校的可以关注我,了解更多最新警校信息政策! 人民警察招录体能测试项目一般都采用10米*4往返跑,纵跳摸高,再就是男生1000米,女生800米跑。具体标准如下图 如果你还有其他警校相关问题可以留言评论,或者有新的警校相关问答,可以邀请或分享......
linux运维之ZABBIX通过自带web检测功能检测网站是否正常?

linux运维之ZABBIX通过自带web检测功能检测网站是否正常?

admin admin
552
2022-04-14
Web 监控 您可以使用 Zabbix 对多个网站进行可用性方面监控: 若要使用Web监控,必须编译(configured)安装时加入cURL (libcurl) 库支持 要使用 Web 监控,您需要定义 web 场景。Web 场景包括一个或多个 HTTP 请求或“步......
银行系统测试岗位待遇如何?

银行系统测试岗位待遇如何?

admin admin
919
2022-04-14
银行系统测试岗位比较注重银行业务,对测试技术要求不怎么高,初级测试工程师只要具备基本的测试基础知识,比如会进行需求分析,会设计测试案例,会提交验证Bug,然后就是能做重复性工作能接受加班基本就没啥问题,薪资大概5000-7000左右,机会好也有可能达到8000多。中级测......
为什么测试工程师女生偏多?

为什么测试工程师女生偏多?

admin admin
735
2022-04-14
1.男性普遍更愿意做研发,不是测试岗位不想招男性 2.计算机专业的女性多数对研发不擅长,但就业领域,测试岗位对女性写代码没什么要求,这样女性就更多的前往测试岗位 3.测试岗位的事情比较琐碎和枯燥的,女性在这方面也是有相对优势,能沉得下心。 谈到测试大家的第一映像就是入......
疫情过后,你认为学校会更加重视学生的体质健康吗?

疫情过后,你认为学校会更加重视学生的体质健康吗?

admin admin
782
2022-04-14
应该会更加重视吧 因为学生是国家未来发展的栋梁之材,无论是哪一行业 哪些科技方面的置位,都得需要有人来操作。 谢邀! 这次来势汹汹的新冠疫情,是地球村的一次重大灾难,也是对人类体质健康的挑战和考验。当下,我们国家的内控疫情形势曰趋向好,复产复工步入正轨,人们的生活也恢......
软件测试员怎么样?前景如何?

软件测试员怎么样?前景如何?

admin admin
425
2022-04-14
朋友所提的问题可以从以下几个方面来分析回答: 1、IT软件开发的工资是相对高的,例如JAVA开发工程师,科班出身,两年以上的实际工作经验很多都可以拿到万元以上工资 ,作为软件开发中必须要经过的一道工序,软件测试工程师,目前在人才市场上还是有一定的需求量的,工资相对来说也......
评论 SAY SOMETHING
年度爆文
热门标签