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

简介: 在国内测试开发很重要的一点是具备大部分测试所不具有或不擅长的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,向前一步,不推活儿主动承担责任啥的。但凡你向前一步了,基本逃不开跟进项目进度、把控项目质量、评估风险、协调资源甚至保证按时交付。

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


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


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

相关文章
|
24天前
|
项目管理 UED 开发者
优秀技术产品经理应具备的关键能力
在技术开发领域,技术产品经理在项目中起着至关重要的作用,他们不仅需要具备项目管理的技能,还需要精通技术领域,能够理解和引领团队在技术层面上的决策,他们以技术的视角对项目进行管理,确保项目按时高质量交付。而且优秀的技术产品经理不仅是项目组的主心骨,还是技术决策的参与者和项目推进的关键人物。那么本文就来探讨一下如何成为一名优秀的技术产品经理,一个优秀的技术产品经理应该具备的关键能力,希望能够为那些渴望成为优秀技术产品经理的人提供一些启示和指导。
23 2
优秀技术产品经理应具备的关键能力
|
4天前
|
运维 监控 安全
构建高效自动化运维体系的五大策略
【4月更文挑战第27天】在数字化转型的浪潮中,企业对于IT系统的稳定性和敏捷性要求日益增高。自动化运维作为提升效率、降低错误率、实现快速响应的关键技术手段,已经成为现代IT管理的重要组成部分。本文将探讨构建一个高效自动化运维体系的五大策略,包括基础设施即代码(IaC)的应用、监控与告警系统的集成、持续集成和持续部署(CI/CD)的实践、日志管理和分析以及灾难恢复计划的自动化,旨在为运维团队提供一条清晰的道路图,以支持他们在不断变化的技术环境中保持竞争力。
|
3天前
|
运维 Prometheus 监控
构建高效自动化运维体系的五大关键策略
【4月更文挑战第28天】在数字化转型的浪潮中,自动化运维作为提升IT效率、确保系统稳定性的重要手段,正受到越来越多企业的重视。本文将探讨构建一个高效自动化运维体系的五大关键策略,包括基础设施即代码(Infrastructure as Code, IaC)、持续集成与持续部署(CI/CD)、监控与告警、故障响应以及知识管理与文档化。通过实践这些策略,企业能够实现快速响应市场变化,降低人为错误,优化资源配置,并提高整体服务质量。
12 1
|
7天前
|
人工智能 运维 监控
构建高效自动化运维体系的五大关键步骤
【4月更文挑战第25天】 在现代IT架构的复杂多变环境中,传统的手动运维方式已无法满足快速迭代与稳定性的双重要求。本文将深入探讨构建一个高效自动化运维体系的关键步骤,涵盖从工具选型到流程优化的全方位考量。通过引入自动化工具、实施标准化流程、建立监控预警机制、持续集成与部署以及文档化管理,组织能够实现运维效率的显著提升,确保系统的稳定性和可靠性。
9 0
|
1月前
|
存储 人工智能 运维
构建高效自动化运维体系的五大支柱
【4月更文挑战第2天】在数字化转型的浪潮中,企业IT基础设施的管理与维护日益复杂。传统的手动运维方式已无法满足快速迭代和高稳定性的需求,因此,构建一个高效的自动化运维体系成为提升IT效率的关键。本文将探讨构建自动化运维体系的五大支柱:标准化、自动化工具的选择与应用、监控与报警、日志管理以及持续集成与持续部署(CI/CD),并分析每个支柱的核心要素及其在整体运维体系中的作用。通过实践案例和最佳实践的分享,为读者提供构建和维护自动化运维体系的具体策略和方法。
|
7月前
|
运维 监控 NoSQL
【面试精品】运维工程师需要具备的核心能力有哪些?
【面试精品】运维工程师需要具备的核心能力有哪些?
220 0
|
10月前
|
敏捷开发 存储 设计模式
大型项目技术负责人应该具备的能力
大型项目技术负责人应该具备的能力
67 0
|
存储 缓存 分布式计算
大数据架构必须具备的七大核心能力
大数据架构提供了新数据环境下的处理能力,大数据架构不仅必须扩展到包含传统和大数据源,而且还需要更广泛的功能集来支持数据的消费、处理和交付。
大数据架构必须具备的七大核心能力
|
数据可视化 搜索推荐 IDE
一款具备零代码和低代码能力的大数据可视化分析平台
什么是低代码平台: “低代码开发”旨在开发人员可以通过编写少量代码就可以快速生成应用程序的一种方法。 使用低代码开发平台类似于使用IDE,因为它包含了一套可以供开发人员直接使用的功能,和一套供开发人员使用的工具。然而,它实际上能提供的远远超过一个传统的IDE。简单来说,低代码开发就是将已有代码的可视化模块拖放到工作流中以创建应用程序的过程。由于它可以完全取代传统的手工编码应用程序的开发方法,技术娴熟的开发人员可以更智能、更高效地工作,而不会被重复的编码束缚住。相反,他们可以将精力集中于创建应用程序的10%部分,并使其具有与众不同的功能。与“低代码”开发相对的另一种方式是编写数千行复杂的代码和语
一款具备零代码和低代码能力的大数据可视化分析平台
|
存储 消息中间件 缓存
支撑性服务 & 自动化能力
云原生系统依赖于许多不同的辅助资源,例如数据存储、消息队列、监视和身份服务,这些服务统称为支撑性服务。
支撑性服务 & 自动化能力