优秀的测试开发应该具备的六大能力

简介: 在国内测试开发很重要的一点是具备大部分测试所不具有或不擅长的coding能力以及技术广度,他可以通过借助已有的成熟工具框架或者二次开发,快速解决测试过程遇到的各种block效率的问题,以及为技术团队内部提供一些更高效的研发测试工具,提高交付过程的效率,并保障测试过程的质量。

前言


前几天一个前同事找我聊了个问题:一个好的测试开发同学需要具备哪些能力?我思考了一下,给了他如下答复:


640.png


从我工作中接触到的测试开发,以及面试测试开发候选人时问的问题,我将自己对测试开发这个岗位的理解,总结了如下六点能力。我个人认为,具备如下六点能力,会是一个优秀的测试开发同学。这篇文章,就来聊聊我对这六点能力的看法,观点仅供参考。


什么是测试开发工程师?


我对测试开发的定义


从我工作中接触到的测试开发,以及面试测试开发候选人时问的问题,我个人对测试开发这个岗位的定义如下:


技术广度的拥有者,测试团队过程效率的提升者,解决落地交付痛点的终结者。


如何理解我上面的定义呢?


在国内测试开发很重要的一点是具备大部分测试所不具有或不擅长的coding能力以及技术广度,他可以通过借助已有的成熟工具框架或者二次开发,快速解决测试过程遇到的各种block效率的问题,以及为技术团队内部提供一些更高效的研发测试工具,提高交付过程的效率,并保障测试过程的质量。


测试开发日常做什么


从我接触到的测试开发来看,测试开发工程师的日常,大多在做如下几点事情:


  • 借助已有的成熟工具或者框架,搭建内部的各种测试过程平台或者框架,如提测平台、用例管理、自动化测试平台、单元测试覆盖率、线上冒烟验证平台、测试的造数工具等;
  • 业务需求较多时临时去支援业务的版本迭代测试,照样需求评审、写测试case、提BUG、线上发布验证;
  • 内部技术分享、新人技术培训等;


QA最核心的就是交付效率和质量。测试开发的本质,还是和测试过程以及线上交付有关。


测试开发工程师一方面通过工具和平台来提高测试过程的效率, 另一方面也要保障最终线上的交付质量。


测试开发的六大能力


基础能力


上面提到了,测试开发的本质还是做测试交付相关的工作。


基本的如需求分析、设计测试场景、编写测试case、发现和验证bug、沟通协调以及测试流程管理、质量把控等。


技术能力


测试开发需要借助已有的成熟工具或者框架,搭建内部的各种测试过程平台或者框架。


因此除了coding能力,还需要负责对业内广泛使用或者成熟度较高的工具框架进行引入落地,来解决日常测试过程中的种种问题,提高测试过程效率,保障线上的交付质量。


常见的有工具框架有:


  • 单元测试框架如Junit;
  • 单元测试覆盖率如jacoco;
  • 自动化测试框架或工具,如apifox、pytest;
  • 内部的持续集成工具,常见的就是jenkins和gitlab;
  • 流量录制回放,常见的有GoReplay、JVM-sandbox;
  • 混沌工程异常注入工具,常见的有ChaosBlade、Monkey-Ops;


沟通协调能力


沟通协调能力是一项软能力,但在今天的职场,却是一项非常重要的能力。


无论是平台工具推广落地,还是和其他团队的技术同学沟通配合,都需要大量的沟通协调。


很多同学梦想着安心做技术,不要有人打扰。但实际上,职场上特别是一些大厂,沟通协调能力甚至比技术更重要。


产品设计能力


前面提到了测试开发需要去做一些平台或者工具落地,这里并不是说只要把工具用起来就OK了。因为团队里的同学技术能力各有不同,需要通过平台或者工具来规范流程,提供便捷的操作方式来提高效率。


而且每个公司的流程、业务特点导致了对平台的诉求各不一样。因此需要针对性的进行平台交互逻辑设计,甚至一人搞定原型图PRD前端后端开发各种事情。


画饼和落地能力


互联网行业打工人,几乎都逃不了KPI/OKR的真香定律。做产出,推落地,拿结果,讲价值,哪个不需要画饼落地能力。

因此学会给领导画饼,并且把饼做出来,是很考验个人的一个技术活儿。这不仅关心到绩效的好坏,也是一个自我价值诉求的主动传递过程。这里强调一句:向上管理,很重要!


项目管理和交付能力


聊到最后一个能力,实际上不仅仅是测试开发同学,测试同学有时候也会做这些事情。日常工作中除了固定的版本迭代,偶尔还有一些独立的业务或者技术项目要参与其中。


很多互联网企业都会强调员工的主动性,什么ownership,向前一步,不推活儿主动承担责任啥的。但凡你向前一步了,基本逃不开跟进项目进度、把控项目质量、评估风险、协调资源甚至保证按时交付。

干这些事情,不就是日常项目经理的事情么?身兼多职,有责任没利益,做的好是应该的,做不好就是你的锅,可太有意思了。


聊到最后其实我想表达的是:现代职场一方面对于岗位的职责划分粒度越来越细,另一方面又要求员工的综合能力要高,最本质的因素还是以前粗放的时代过去了,增长放缓利润降低,沟通成本越来越大,造轮子推倒重构的频次越来越高。这何尝不是另一种内卷呢?


当然,这种情况会锻炼个人的综合素养和能力,但其中一得一失,个中滋味只能自己品尝了。

相关文章
|
4月前
|
项目管理 UED 开发者
优秀技术产品经理应具备的关键能力
在技术开发领域,技术产品经理在项目中起着至关重要的作用,他们不仅需要具备项目管理的技能,还需要精通技术领域,能够理解和引领团队在技术层面上的决策,他们以技术的视角对项目进行管理,确保项目按时高质量交付。而且优秀的技术产品经理不仅是项目组的主心骨,还是技术决策的参与者和项目推进的关键人物。那么本文就来探讨一下如何成为一名优秀的技术产品经理,一个优秀的技术产品经理应该具备的关键能力,希望能够为那些渴望成为优秀技术产品经理的人提供一些启示和指导。
63 2
优秀技术产品经理应具备的关键能力
|
2月前
|
移动开发 前端开发 架构师
前端架构师需要具备什么能力以及代码能力?
【7月更文挑战第17天】 前端架构师是技术、领导与管理的融合,需精通HTML/CSS/JS及React/Vue等框架,擅长工程化、跨平台开发与安全。他们设计高效架构,优化性能,领导团队,做技术选型,并持续学习分享,确保代码质量和团队成长。
102 7
|
3月前
|
开发框架 运维 前端开发
构建一体化运维平台的八大功能
【6月更文挑战第6天】构建一体化运维平台的关键8个基本功能。
|
11月前
|
运维 监控 NoSQL
【面试精品】运维工程师需要具备的核心能力有哪些?
【面试精品】运维工程师需要具备的核心能力有哪些?
525 0
|
架构师 项目管理
如何平衡架构师的技术能力和项目管理能力?
架构师和项目经理(PM)都是在项目中扮演着重要的角色,他们都需要对项目的进度和里程碑进行关注和管理。然而,过度关注进度和里程碑,很容易导致架构师“PM化”,从而脱离实际、脱实向虚。关于如何平衡架构师的技术能力和项目管理能力,个人认为一名架构师,需要有很强的技术能力,同时也需要对项目的进度和里程碑关心。然而,过度的关注进度和里程碑,很容易导致架构师“PM化”,从而脱离实际、脱实向虚。
198 1
如何平衡架构师的技术能力和项目管理能力?
|
敏捷开发 存储 设计模式
大型项目技术负责人应该具备的能力
大型项目技术负责人应该具备的能力
92 0
|
程序员
职场人最基础的核心能力是什么
职场人最基础的核心能力是什么
90 0
职场人最基础的核心能力是什么
|
程序员
1分钟了解职场人最基础的核心能力是什么
1分钟了解职场人最基础的核心能力是什么
94 0
1分钟了解职场人最基础的核心能力是什么
|
存储 缓存 分布式计算
大数据架构必须具备的七大核心能力
大数据架构提供了新数据环境下的处理能力,大数据架构不仅必须扩展到包含传统和大数据源,而且还需要更广泛的功能集来支持数据的消费、处理和交付。
大数据架构必须具备的七大核心能力