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

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

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


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


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

相关文章
|
Web App开发 移动开发 JavaScript
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
723 0
|
缓存 运维 容灾
入行5年,谈谈我在阿里做测试开发的经验
作者在阿里一直从事测试开发相关工作,这几年学习很多、收获很多,作者希望给还在该方向摸爬滚打的同学一些启发和方向。
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
10月前
|
数据采集 监控 Java
go语言编程学习
【11月更文挑战第3天】
158 7
|
9月前
|
监控 搜索推荐 测试技术
电商API的测试与用途:深度解析与实践
在电子商务蓬勃发展的今天,电商API成为连接电商平台、商家、消费者和第三方开发者的重要桥梁。本文深入探讨了电商API的核心功能,包括订单管理、商品管理、用户管理、支付管理和物流管理,并介绍了有效的测试技巧,如理解API文档、设计测试用例、搭建测试环境、自动化测试、压力测试、安全性测试等。文章还详细阐述了电商API的多样化用途,如商品信息获取、订单管理自动化、用户数据管理、库存同步、物流跟踪、支付处理、促销活动管理、评价管理、数据报告和分析、扩展平台功能及跨境电商等,旨在为开发者和电商平台提供有益的参考。
254 0
|
SQL 关系型数据库 MySQL
navicat如何获取MySQL数据库的所有表名称
【8月更文挑战第7天】navicat如何获取MySQL数据库的所有表名称
892 4
|
SQL 关系型数据库 MySQL
MySQL中一定要遵守的12个SQL规范
本文档提供了12条SQL编写和数据库管理的最佳实践建议,旨在帮助开发者提高SQL查询效率、增强数据库安全性及可维护性。
365 1
|
消息中间件 存储 Kafka
Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
【2月更文挑战第19天】Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
412 1
Appium Server 启动失败常见原因及解决办法
Appium Server 启动失败常见原因及解决办法
650 0
|
运维 监控 算法
AIGC时代,智能运维真的来了吗?
【1月更文挑战第22天】AIGC时代,智能运维真的来了吗?
410 1
AIGC时代,智能运维真的来了吗?