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

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

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


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


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

相关文章
|
项目管理 开发者 Windows
【KiCad镜像】下载与安装
KiCad EDA 是一款用于印刷电路板设计的开源自由软件,基于 GPLv3 开源协议。 软件包含工程项目管理、原理图设计、线路板绘制、符号库设计、封装库设计、线路板 3D 显示、Gerber 查看、线路板实用计算等工具。
1339 121
|
Web App开发 移动开发 JavaScript
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
1579 0
|
8月前
|
监控 供应链 数据挖掘
京东平台 API:功能解析与典型应用场景
京东开放平台API涵盖商品、订单、库存、物流等核心功能,支持开发者与商家实现系统对接与数据协同。广泛应用于比价监控、多平台库存同步、ERP集成、数据分析等场景,助力企业提升运营效率,构建电商生态应用。
|
缓存 运维 容灾
入行5年,谈谈我在阿里做测试开发的经验
作者在阿里一直从事测试开发相关工作,这几年学习很多、收获很多,作者希望给还在该方向摸爬滚打的同学一些启发和方向。
|
人工智能 自动驾驶 机器人
AI元年:2024年人工智能发展大事纪
3分钟了解2024年人工智能AI领域都发生了哪些改变我们生活和生产方式的大事儿。
3409 2
AI元年:2024年人工智能发展大事纪
|
测试技术 开发者 Docker
llama2 70B mindie推理开箱报错问题
遇到问题,先从基本的检查开始,先检查卡有没有被占用,有的话就kill掉(如果是别人的任务,先知会一下哈)!其次,不要自己随意组合版本,否则会因为经验不足卡在莫名其妙的问题上。
334 3
|
机器学习/深度学习 人工智能 分布式计算
人工智能与大数据的融合应用##
随着科技的快速发展,人工智能(AI)和大数据技术已经深刻地改变了我们的生活。本文将探讨人工智能与大数据的基本概念、发展历程及其在多个领域的融合应用。同时,还将讨论这些技术所带来的优势与挑战,并展望未来的发展趋势。希望通过这篇文章,读者能够对人工智能与大数据有更深入的理解,并思考其对未来社会的影响。 ##
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS(阿里云容器计算服务)推出Serverless容器算力,提供更普惠、柔性、弹性的算力资源,适用于多种业务场景,如复合应用、ACK集成、EMR大数据处理等,帮助企业降低成本、提升效率。
|
存储 安全 测试技术
确保软件安全性:在软件开发中的关键挑战与最佳实践
确保软件安全性:在软件开发中的关键挑战与最佳实践