Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >降本增效大环境下,培养全栈技术能力是测试工程师的“保命符” | 展望测试工程师的 2023

降本增效大环境下,培养全栈技术能力是测试工程师的“保命符” | 展望测试工程师的 2023

作者头像
深度学习与Python
发布于 2023-02-10 09:46:43
发布于 2023-02-10 09:46:43
6050
举报

作者 | 李冬梅

提起软件测试工程师,更多人联想到的是工作轻松,不需要敲代码、工资高、涨薪快,甚至可以发展成为管理层,那么现实真的是这样吗?

刚刚过去的 2022 年,测试工程技术领域又有哪些重要进展?在未来的发展中又面临着哪些机遇与挑战?InfoQ 年度技术盘点与展望栏目特别邀请到了腾讯技术工程事业群,米大师计费测试负责人朱志杰,请他来和大家分享并展望测试工程师的 2023 年。

朱志杰,15 年腾讯米大师计费服务端测试及团队管理经验。专注于米大师分布式计费、营销、风控、账户以及 TDSQL 数据库等产品的高一致性测试能力构建,支持公司游戏、腾讯云、广告、视频号等业务的计费测试工作;牵头构建了计费完整的质量支持体系,建设了基于服务端的自动化功能 / 性能测试、现网引流对比应用、环境治理等测试能力。目前聚焦于基于 DevOps 的研效改进工作。

视频回放地址: https://www.infoq.cn/video/z0xL4IhkjkFQiWp5eq50

以下内容节选自当天的分享,InfoQ 做了不改变原意的编辑:

InfoQ:志杰老师您好,您当时为什么会选择测试工程师这样一个职位,可以分享以下您的成长经历吗?

朱志杰:其实我选择从事测试岗位是具有偶然性的。我在大学期间主要学习.NET、Java 以及 PHP 等开发,也做过 OA 类的项目,一直想从事应用开发工程师。毕业进入华为后,被内部分配到了华为智能网平台的平台测试部,也是在工作之后才发现原来测试没有想象中的基础、简单。我当时做的是在 Linux 服务器平台上进行大数据量实时处理的系统,而这之后也做过一些跨城容灾性等非常具有挑战性的项目,慢慢地就扎根在测试的行业之中了。

我在华为做了两年测试后,后面来到腾讯。和在华为智能网中做电信的计费测试相类似,我在腾讯也恰好是在一个做聚合支付的内部计费部门。直白点来说就是早期的 Q 币计费,是与我个人蛮契合的产品和项目。

我在腾讯计费团队,从最初没有 DTO 分离,与开发相捆绑,给开发做辅助的测试角色,慢慢地将自己的测试能力、测试流程化都发展了起来。随着公司的业务开展,我也参与了公司开放平台、国际化、腾讯云等产品,渐渐地在这里扎下了根。部门的项目在发展,团队也在发展,我个人收获了很多锻炼和成长。

InfoQ:您从事多年测试行业,是如何从普通工程师成长为资深工程师的,中间又付出了那些努力呢?

朱志杰:随着业务的发展,我个人得到了很多锻炼和提升的机会,逐渐获得成长。

同每一位刚进入职场的人一样,刚开始也面对团队缺乏测试方法论、测试能力、测试平台,以及流程规范,这时我就主动站出来推进测试的流程化、工具平台化,完善测试能力,这也是我收获的个人第一阶段成长。

在第二阶段中,随着腾讯的业务做大,我们迎来了开放平台、腾讯云的产品接入,以及王者荣耀等国民级游戏的出现,数据量的增长也给我们带来了非常多的挑战。开放平台的服务质量问题,以及随着王者荣耀所带来的线上最大容量支撑问题,这些涉及到线上拨测、压测等技术,促使我们在这方面能力体系上进一步打磨夯实。随着这些能力的构建和打造,我个人的技术能力在成长,测试团队也随着发展和建设起来。

至于第三阶段,目前我的工作重心主要在于团队的测试效率建设,随着业务服务化发展后,在研发体系上会更倡导测试能力左移、组织效率提升、DevOps 的转变等新模式去契合。

从我个人角度来说,随着业务的发展,我们需要去解决伴随业务出现的问题,去构建测试能力,并在这过程中收获技术上的成长与经验的提升。此外,随着团队规模壮大,也拥有了自己的团队、参与公司测试通道与人才能力的培养,以及公司层面上技术的协同,这一路上持续发现有很多锻炼与发挥的机会。

InfoQ:在刚才提到的许多测试工程的细分方向,您平时的工作内容,或者说最具有挑战的是哪些部分呢?

朱志杰:我们是服务端的测试,因此会更偏向于基础架构上模块化的测试。

从技术层面来说,我认为要想做好这方面的测试,必须要能深刻理解架构。以高并发存储模块为例,我们需要对其架构进行评估:其数据更新应用、缓存能力的设计能否满足高并发的查询?热点是否过于集中?高并发时数据如何防重?如何进行服务降级?是否会发生内存数据错位?在分布式容灾能力下要如何保证数据的一致性?这些都需要对架构有较好的理解。

我们还要考虑应用场景。新老业务的版本迭代中要如何保证向前的持续兼容?团队应保证有自动化的能力覆盖。

此外,在业务方面,将业务从旧模块割接到新架构时,要如何做到百分百的兼容?人工测试是否会导致的场景覆盖不充分?是否会有场景遗漏?其中的数据多样性与真实性要如何考虑?一个很好的方法是借助线上场景的对比模拟来解决这些问题。

以上这些都是我们在模块测试中会更多考虑的方面。

InfoQ:我们平时提起测试岗位可能都会觉得很厉害,是需要掌握很多技术的。那么作为多年从业的老开发者,您觉得实际是如此吗?

朱志杰:其实在互联网行业中,测试都是蛮苦逼的。我们的定位是项目中承前启后、非常重要的助手,不仅要支撑研发交付高质量的版本及功能,同时也要协助线上运营,提前排查相关风险及问题。因此,我们的工作就是解决问题,是非常务实的。

InfoQ:会感觉压力很大吗?

朱志杰:每个岗位都有各自的压力,侧重点不一样而已。我们作为互联网服务端的测试,和一般业务测试不同。简单点点鼠标、理解测试理论、设计测试用例,这些对于我们来说都是非常基础的。

我们希望同事们能成为更全栈的工程师,去了解更多、更广的方面。

  • 业务相关能力。由于我们是基于服务端的业务,如 Linux、Docker 容器Kubernetes、MQ 或卡夫卡消息队列等组件,这些都是我们需要掌握的服务器组件。
  • 测试开发的能力。针对 Go、C++、Python,以及 Java 等业务服务做自动化时,要根据业务的测试需要去应用,熟悉相关开发语言及其 IDE
  • 熟悉 JMeter、CPP check 等市面上常见的测试工具,以及针对特定业务场景所需的工具,如数据库 ACID 场景的测试方法。
  • 流程管控。掌握代码库 Git 的管理、流水线,甚至是 Excel 的度量分析等技能。

InfoQ:在您看来,作为一名优秀的技术工程师,除了前面提及的技能掌握,还需要逻辑性、思考能力等特征吗?

朱志杰:我认为优秀的测试人员需要具备三个通用素质。

  • 沟通与思辨能力。作为开发与后端运维间承前启后的角色,测试要积极对开发运维与产品进行沟通协调。此外,也要能快速把握业务需求,明确业务需求从开发端传递的是否准确,要如何从前往后进行信息传导,抓住问题本质及需求改造点,评估其可能造成的影响。
  • 快速学习能力。无论是校招还是社招,学习能力对测试都是非常重要的。面对业务测试时要能快速熟悉架构、掌握需求,快速将复杂场景环境构建起来。如果新业务需要用到卡夫卡或 RabbitMQ 消息队列,测试人员要能快速掌握对应工具。
  • 主动性。成绩突出的人往往拥有更强的主动性。主动思考所负责项目产品的痛点,主动发现问题,找到解决问题的机会点。此外,在交付版本或业务后,要有将其中的能力或问题提炼出来,作为公共能力或公共模块的意识。

InfoQ:如果您面试的求职者具备了以上三点通用素质,会是加分项吗?

朱志杰:可以是加分项,但对技术岗位而言,测试开发能力也是很重要的加分项。

InfoQ:测试开发工程师要如何做好职业规划?职业的发展路径又是怎样的呢?

朱志杰:腾讯有设计技术与管理两个能力提升通道,我个人同绝大多数人一样是走技术通道。但如果公司没有较强的职业指引或规范化工程师培养,可先以全栈的能力做自我要求。

测试理论只是个非常基础的概念,我们要在此基础上深刻掌握所负责的业务。要能从开发或产品的角度掌握业务,也要从运维的角度使用业务,我们才能在评审会议上提出有价值的问题,才能发现项目潜在的问题和风险点。

我们也要能结合业务需求,在具体问题解决上深入掌握相关技术。在遇到问题时,不能死读书,而是要从公司内部或外界同行中寻找好的解决方案。以数据库产品为例,我们要参考并尝试完善别人在面对 ACID 或高一致性问题上的方案,研究 ACID 场景上的差别,最终用其解决了实际问题,才能算是真正掌握了一项技术。

从长期来看,我们个人也需要打造自己的专长。可以深入研究自动化,做服务端接口自动化、基于接口协议自动化生成、通过模型化场景生成用例,甚至可以做流量自动化,将线上流量引入测试环境中进行回放。我们也可以将自己打造为效能专家,通过全流程进行效能分析,从而推动提升效能。

InfoQ:工程师常常要与产品经理及同僚交流,但很多技术人实际并不擅长沟通。您是如何看待沟通能力对技术人的重要性呢?我们又要如何提升自己的沟通能力?

朱志杰:我在回答前面问题时,将沟通思辨放在了第一位。我认为沟通会影响很多方面:

  • 有效沟通可以快速把握需求,把握改动。
  • 快速准确地将所发现的问题同步给相关人员。
  • 推动问题或改进流程化需要通过沟通调用开发、PM,及相关业务人员的配合完成。
  • 有利于合作关系的维护,互利互补开发与测试的关系。
  • 个人能力的呈现。

好的沟通不一定需要出口成章的能力,我个人的沟通能力也不算很好,关键是要能表达清楚问题和做事的思路,这是非常值得从日常工作中锻炼和提炼的。

InfoQ:对于善于埋头做事、不爱表达的技术人而言,您有什么可以让人走出舒适距离的方法论吗?

朱志杰:这受个人性格方面的影响,自驱力很强的人会强迫自己进行表达,或许很有帮助,但对我而言却不一定要这样。在工作的小团体中,大家都非常熟悉、没有太多戒备,我们能将事情讲清楚,在向上级表达问题时有很好的呈现,就是一个很好的沟通形式了。

InfoQ:您认为测试开发工程师在 2023 年所面对的最大技术挑战是什么呢?

朱志杰:技术上可能没有什么太大的挑战。从大环境而言,近两年行业上都在关注降本增效,这对测试而言也是较大的挑战。大厂相对会看得更全面,但对中小公司或团队而言,如果测试左移、开发自测,或者产品运维自测上线,那么我们是否还需要测试呢?这个问题我觉得关键在于测试的价值与产出的呈现,在于项目对测试的依赖。

举例来说,项目的左移意味着开发要在较好的测试环境中进行测试,但这对开发而言是具有困难的,如果测试可以提供平台化工具、保持流程通顺,并提供验证、引流的能力,协助项目左移,那这不失为一个很好的解法。

测试的价值也体现在 Ops 运营类的项目中。测试可以为运营的灰度减少问题出现,提供上线后除监控外的其他测试手段快速发现问题,通过拨测、上线后压测、容量评估等手段,对 Ops 环境右移的能力给予有力支持。

在 2023,甚至是 2024 年,测试人员可能都要面临这一挑战,但我们也可以借此重新定位自己的价值,调整提供价值或服务能力的方向,主动适应环境。

InfoQ:在降本增效的大环境下,在职的测试人员也会面临就业压力。那么对于想要成为测试工程师的年轻人,您会给出什么建议或忠告呢?

朱志杰:持有“测试比开发简单、轻松”想法的人,所能做的测试内容是有限的,在测试中产生的价值也是有限的。我们也要将自己培养为全栈工程师,找出项目的问题所在,并随时准备为其提供解决问题的能力。

InfoQ:您反复强调了全栈的能力,那么除了测试工程师之外,您会建议不适合做测试开发的人,求职 PM 等岗位吗?

朱志杰:每个人大概都要找到合适自己的工作。我前面的建议对刚毕业,或刚刚走上测试工程师的人而言会更合适。如果你具有沟通推动,以及很好的组织协调能力,那么转职 PM 未尝不是一个好的方向。如果你对产品比较敏感,那么产品方向也是可以的。但如果你只想做业务测试,也可以走交付测试的方向。因为我个人主要关注服务端模块化测试,因此会更强调全栈的能力,要求有更高的平台化能力。

InfoQ:过去一年中,在事业上您比较有成就感,印象较深的有什么呢?

朱志杰:我做过的很多事情都是微不足道的。比较有成就感: 一是在过去大环境动荡的 2022 年中,我们团队上下二十余人整体都比较稳定,大家携手共进攻克挑战、提升效能,没有因为过多的冲击而动摇想法或信心。

二是我们在去年成功承担了腾讯广告计费能力下沉项目。我们通过完备的测试方案、测试引流对比、反向对比验证,完成了系统架构和计费能力的合并融合,整体构建过程没有出现故障,我认为是非常了不起的。项目历时一年半,从 2021 年下半年直到 2022 年上半年完成的主要项目进展,并在 2022 年下半年完成了收尾工作。在这一年半的时间中,大家心里的弦一直都没有放下来。

InfoQ:在这样的大环境中承担如此重的任务量,您是如何缓解团队紧绷的情绪呢?

朱志杰:我认为测试首先需要有一个很好的抗压能力,其次也要能正确地分析工作,让团队成员在面对问题时有章法,有思路。在确定方案与策略后,按照节奏推进,大家都会心里有底。

此外,我们其实负责了腾讯收入的百分之七十的虚拟计费,每分每秒都有很高的交易量,因此基于我们测试保障体系、自动化能力、引流能力、代码安全性能力,包括线上拨测与压测等比较完备的保障能力,让大家还是比较放心的,没有感到特别大的压力。

最后,我也会给团队一些宽松度,让大家能较好地劳逸结合,不会产生过多的疲惫感。不会紧盯进度,但如果成员告诉我卡进度了,去协调人力,涉及较大的方案时协助拉相关的专家一起评审,帮助给出建议。

InfoQ:您可以给我们推荐一些您最近在看的,比较有启发性的测试相关书籍吗?

朱志杰:前面提到过技术基础,那么《Linux 从入门到精通》这本我十年前看过的书还是很值得看的。此外,《谷歌软件测试之道》这本书中介绍的很多谷歌测试的思想也很值得借鉴。达里欧的《原则一》我看过,《原则二》还没看,但书中介绍的关于工作透明化、管理方式也很具有启发性。

InfoQ:网友提问,2023 年测试工程师要如何做职业规划?您可以说得更具体些吗?

朱志杰:在未来两年中,我个人会更侧重于测试支持研效的建设,通过提高测试效率帮助研发提效。不止腾讯,对业界内很多公司来说,我觉得在这个方向上都可能在做一些事情,我觉得往这个方向可以去努力一下。比如你怎么样把自动化变得更简单一些,将自动化的成本降得更低 ; 怎么样把一个线上的流量用起来。

通过用流量建设减少自动化,或者说怎么样去除了满足自己的测试需要,去帮助开发去做测试左移,开发自测,支持他在测试环境,自动化的能力,支持他一些工具化的能力,帮他把整个理顺拉通。这个也是我个人 23 年要去做的一个方向。

InfoQ:在 2023 年的开端,您能为测试工程师们送上一些祝福吗?

朱志杰:2023 年是新的一年,祝大家能在测试的工作中找到自己的成就感,找到让自己变强的方法和钥匙,也希望 2023 年测试人员们能更自信。最糟糕的时候已经过去了,未来是美好的,我们要充满憧憬。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手工测试向左,测试开发向右:路径抉择与未来舞台
在移动互联网和大数据蓬勃发展的今天,互联网企业面临着前所未有的挑战。产品功能日益丰富、用户基数庞大、业务逻辑复杂、更新迭代迅速、海量数据不容许出现丝毫差错以及对实时性的高要求,都使得企业在追求质量的同时也必须兼顾效率。
霍格沃兹-测试开发学社
2025/07/30
1060
手工测试向左,测试开发向右:路径抉择与未来舞台
自动化测试工程师的核心技能栈:你需要掌握哪些硬技能和软技能?
在互联网产品高速迭代的今天,自动化测试已成为保障软件质量的关键环节。 一位优秀的自动化测试工程师,既要精通技术工具链,又要具备高效协作的软实力。
程序员二黑
2025/08/13
390
自动化测试工程师的核心技能栈:你需要掌握哪些硬技能和软技能?
测试开发都这么厉害了?为啥不直接转业务开发?
前段时间,在后台收到一则留言:"请问一下,你觉得开发技术好,还是测试技术好,如果测试技术好,为什么不直接开发,干嘛做测试?"
测试开发技术
2024/03/28
2120
软件测试工程师 25 条可行性职业发展路径
先说观点:那些,担心30岁后、35岁后、40岁后,无路可走的、找不到工作的。基本属于能力不够,或者思维太局限,或者思考太少的 。
IDO老徐
2022/05/27
8530
测试工程师-简历真的拿得出手吗
保障xxx的整体测试质量 负责xxx版本管理以及发版工作 参与招聘测试工程师并对其进行培训 编写及评审测试用例,参与项目的整体测试 负责与各部门之间沟通协调,以推动项目测试工作的及时完成 负责测试环境搭建
测试开发社区
2019/09/20
1.2K0
测试工程师如何“攻城”(下)
引用之前听到的一段语音,我觉得对我影响非常大: 中国现在成长非常快,主要原因是它可以全方位的学习,科学技术可以学苏联、美国,工业制造学德国,管理学日本,分解房地产的使用权学香港,工业园区学新加坡,农业还可以学以色列,中国没有意识形态的障碍。
Wu_Candy
2022/07/04
3340
测试工程师如何突破职业瓶颈?
继教育培训、社区团购领域大幅度裁员之后,互联网大厂裁员消息也开始陆续传出,百度爆出游戏部门300多人接近全部被裁,直播业务被裁员90%;爱奇艺大规模裁员,裁员比例在20%到40%;而腾讯在年度员工大会表示,PCG事业群将开始大规模人员优化,此外,字节、阿里、携程等一众互联网企业,都开始削减支出、裁员过冬,不得不承认互联网企业的寒冬已来。
霍格沃兹测试开发
2022/03/25
5741
功能测试工程师的自动化学习之路
绝大多数测试同学都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。
吾非同
2020/10/23
4260
Gmail测试工程经理Ankit Mehta的访谈
Ankit Mehta在成为测试工程经理之前是一名测试工程师(TE)。在最初的几年,Ankit Mehta一直在和测试自动化代码打交道。他作为技术经理的第一个大项目正是Gmail。 Gmail是个巨大挑战。它非常庞大,涉及很多快速发展的部分。Gmail整合了很多Google的产品,如Buzz、Docs、Calendar等。它需要处理那些已经站稳脚跟的竞争对手所支持的邮件格式。Gmail有非常庞大的后台系统。要知道Gmail是一个云服务,用户可以通过任意一种主流浏览器进行访问。有数亿用户在使用Gmail,他们
张树臣
2018/05/15
8390
初级测试如何进阶为中级测试工程师?
相信经常看公众号以及逛论坛的小伙伴肯定看到过诸如:普通程序员35岁之后的出路在哪里?互联网大厂裁员浪潮,35岁左右互联网人该何去何从?大龄程序员转行做什么呢……
测试蔡坨坨
2022/09/26
3880
再谈软件测试工程师发展的 2 个方向
首先说明下,这次话题我把受众做了下限定,主要面向的是有 5 到 10 年测试经验的老手。
sylan215
2022/03/30
3820
关于测试工程师有感
首先介绍一下自己:本人13年毕业,做文字编辑,直到15年转行入了软件测试,至今三年有余。职场经历也比较好说,第一份工作一直到17年初,然后换了两次工作,职位从测试工程师->自动化测试工程师->测试开发。目前工作内容主要框架维护、测试服务开发以及测试人员培训等。目前技术上努力的方法还是开发,当下要开发一个MongoDB的埋点数据统计平台,因为设计三个项目,也很考验自己的协调能力。
FunTester
2020/06/11
7990
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
读了《测试架构师修炼之道》之后,内心还是惶恐的,程序员35、40岁这两道坎如何应对,测试工程师其实也不例外。这本书第2章节主要讲了软件测试工程师的职业规划,内容还是非常不错的,对一些内容整理下,留作笔记,以备后用。
虫无涯
2023/02/01
1.3K0
技术之外的测试工程师成长指南
今年是我从事软件测试工作的第八年,之间经历过实体零售、银行、互联网电商等行业,遇到过不少挫折和挑战,也遇到了不少好的同事和领导,总归还是收获满满。
老_张
2022/05/17
3410
技术之外的测试工程师成长指南
什么是测试开发工程师?
测试开发工程师 (Software Development Engineer in Test,简称SDET)是指那些既可以称作是开发人员,同时也负责软件开发阶段和测试周期的测试工作的技术人员。一个专业的SDET更关注软件产品的可测性,稳健性和性能。他们还可以在生产软件的设计初期发挥推波助澜或审阅的作用。
测试开发社区
2019/11/23
7.5K0
DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
前阵子在知乎闲逛时,有个问题激起了大家的热议:“DeepSeek 如何颠覆传统软件测试?测试工程师会被淘汰吗”。这看似简单的一问,激起层层思考,针对这个问题,今天简单来聊聊。
测试开发技术
2025/03/14
1560
DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
软件测试工程师承受的压力(二)
其他两点:4.收入的压力 5.家庭的压力,因为所有职场人都会有遇到,暂时不说了。
muntainyang
2020/10/23
8700
软件测试工程师承受的压力(二)
未来的QA测试工程师
软件测试和编程项目快速增长的体量已经让QA别无选择,只能用更有效的自动化解决方案代替人工操作。IT领域正在朝着自动化软件技术方面快速发展。由于越来越多的企业采用敏捷方法并应用DevOps,因此质量保证不再是启动前的阶段。它贯穿整个产品生命周期。
FunTester
2020/01/10
6880
软件测试工程师发展的 3 个方向
关注我比较早的同学应该知道,我之前写过几篇关于软件测试发展的文章: 《做软件测试有前途么?》 《做软件测试到底要不要学编程?》 《技术导向下的业务测试何去何从?》 《全自动化测试离我们还有多远?》
sylan215
2021/11/11
1.1K0
软件测试工程师发展的 3 个方向
聊一聊初级测试工程师如何才能做好测试?
昨天的时候有位网友咨询我,如何才能做好测试工作。作为从事多年测试工作的老司机做了简要回复,今天主要聊一聊一位初级从业者的“生存指南”。
漫谈测试
2025/05/29
1060
聊一聊初级测试工程师如何才能做好测试?
相关推荐
手工测试向左,测试开发向右:路径抉择与未来舞台
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档