在迷茫之中找到职业发展的方向!软件测试人员的迷茫

news/2025/3/16 5:50:46/

目录

出现迷茫或焦虑的原因是什么?

  1、敏捷和DevOps开发模式的推行

  2、测试的天花板比较低,自己上升的空间比较小

  3、35岁是一个门槛,许多人也担心到了这个年龄

  4、测试工作被机器人替代

  如何走出迷茫?

  1、坚守现在的测试岗位,把各项工作做得极致

  2、看清未来发展趋势


出现迷茫或焦虑的原因是什么?

  也许每个人的原因不一样,但不外乎是下面这些原因叠加的结果。

  1、敏捷和DevOps开发模式的推行

虽然20年的历史是否已经证明“敏捷已经失败了” 暂且不管,但敏捷/DevOps之风刮的还是很厉害,开发和测试越来越融合,一些头部企业正在取消“测试工程师”这样的岗位,从国外的微软到国内的腾讯,而不少企业也在不断追求越来越高的开发测试比,或者现在只招“测试开发工程师”。

  2、测试的天花板比较低,自己上升的空间比较小

在职位上升通道上,测试工程师很难成为研发部门负责人、研发总监、研发VP、CTO等;虽然有些公司专门也为测试人员设置了专家、高级专家、架构师这样的岗位,但不少公司没有这样高端的测试职位。

  3、35岁是一个门槛,许多人也担心到了这个年龄

公司就可能不和自己续签合同。虽然这不只是测试人员所面临的达摩克利斯之剑,开发人员也会感受到即将到来的末日。

  4、测试工作被机器人替代

人们经常分享AI助力自动化测试、机器人完成稳定性/性能/用户体验等测试,也会给测试人员的危机感。

  如何走出迷茫?

  先概括为基本的两点,后面再展开讨论。

  1、坚守现在的测试岗位,把各项工作做得极致

迅速成长为某个方面的专家或测试架构师,也可以成为技术管理者(如测试经理/测试总结,但这个风险会大些),对公司或对个人有很高的价值,使自己立于不败之地。

  2、看清未来发展趋势

勇于接受挑战,不害怕,努力转型,成为一名开发人员、产品经理、项目经理或市场经理等。

  先说“坚守岗位”。即使开发和测试融合,测试工作始终少不了。在一个全功能的团队中,各个成员的分工还是会有不同,会发挥各自所长,自然也会发挥测试人员的测试强项,侧重测试工作,至少在团队转型的初期。即使在之后的相当长时间,也需要一个Test Owner(测试的负责人),负责整个测试/产品质量的工作,具体负责测试的计划、测试整体方案设计、指导整个团队做好测试。如果系统复杂,会在团队之上,在整个产品线的组织架构上设置专业的岗位,如性能工程、用户体验、混沌工程等技术岗位。

  所以,如果你成为测试某个方面的专家,如业务测试专家、测试需求建模专家、用户体验专家、性能测试专家、混沌工程专家、性能工程专家、质量工程专家等,在公司就一定有立足之地的,即使公司老板追求越来越高的开发测试比,也只会淘汰一般的测试工程师,不会淘汰专家。

  “35岁”那个槛,也不会对专家起作用,我在(盛行35岁会被淘汰的)某家公司看到白发苍苍的测试专家。如果只是一个普通的工程师,无论是开发还是测试,到了35岁的确有危机,而如果是专家,这个危机基本不存在(虽然会有其它危机,危机总是存在的)。

  要想成为专家,一定要有良好的思考能力,经常反思,不断总结,并具有工匠精神,把事情做到极致。

  其中批判性思维是我最为推崇的,善于反思,更容易看到问题,纠正自己的问题。同时,要经常写文章发表,或走出去参加沙龙、大会分享,把自己的想法、思考和问题的解决方法进行总结并讲出来,看看其他人的反馈,如果经得起别人的质疑或挑战,说明就是对的。绝不能自己躲起来,一个人自嗨,总觉得自己是对的,那将害了自己,要么将一条错误的道路走到底,要么进步很慢。

  工匠精神,精益求精,例如对用户体验测试的研究,其中有个指标是响应时延,可以分为启动响应时延、切换响应时延、滑动响应时延等指标的验证,然后进一步进行人因分析,查找相关论文研究成果,了解可感知的时延是多少毫秒,点击时延和拖动时延有多大的差异等等,如下图(来自绿盟标准)所示。

  要成为专家,不仅要专,深入某个领域研究,有精湛的技术和丰富的经验,而且也需要有广度的知识,如了解研发的开发模式、产品的业务架构/技术架构,了解软件的设计模式、面向对象的分析/设计/编程、操作系统、数据库、网络等等,还包括领导力、沟通/协同技巧等软实力,成为T型人才。

  再说转型,更不用怕。团队要转型,像微软那样的航空母舰都要转型,个人转型岂不是很简单吗?况且人生没有几个转型,也就枉来地球一趟。如果一辈子只做一件事,也有遗憾。

  从测试转开发,没那么难。在做测试时,可以做些储备,例如从自动化测试入手,接触测试工具、学习编程语言,借助Java、Python开发测试脚本,然后再深入一些,针对一些开源的测试工具,进行二次开发 或 为工具(如JMeter)开发插件,增强某项功能(如更酷的测试结果展示)。平时或工作之外,也可以给自己安排开发任务,去开发一个测试工具,或参与开源软件项目。而且,今天学习材料,无论是图书、视频、MOOC还是代码练习平台、社区交流平台等等都不缺,只要学习,就不缺材料,只是缺少毅力和坚持。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可:

【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=BHdzgqNXipqTndRjIrF6GAKC5-OmgB6o&authKey=rcWrerWOeUI1fnBF%2B02IJwI9GjXgXT2B%2BlJj974rhIy7DGIcveA%2BhtIzgWnWoeih&noverify=0&group_code=574737577


http://www.ppmy.cn/news/243332.html

相关文章

Linux 进程信号的基本概念、信号类型、信号处理方式、信号传递机制以及如何使用进程信号进行进程间通信、异常处理

进程信号是在操作系统中用于进程间通信和控制的一种机制。当一个进程接收到一个信号时,操作系统会做出相应的处理,例如终止进程、暂停进程等。在 Linux 中,进程信号被广泛应用于多种场景,例如进程间通信、异常处理、线程同步等。本…

rocketmq消息注解基于springboot的简单应用及默认详细配置

概述 rocketmq消息组件在springboot框架中的应用&#xff0c;使用rocketmq的整合包进行编码实现。 编码参考 引入rocketmq依赖jar, 最新版本参考GitHub - apache/rocketmq-spring: Apache RocketMQ Spring Integration <dependency><groupId>org.apache.rocketmq…

初学SpringBoot—01

注明&#xff1a;本人学习来源SpringForAll社区资料 我看到的资料中的springboot和idea版本较低&#xff0c;所以我这里在我学习后&#xff0c;理解并掌握的基础上将我用到的IDEA2022版本和Maven3.8.6做一个记录 学习SpringBoot前最好学习一下Maven和SSM框架 一、新建SpringBo…

8086_14个寄存器

8086有14个寄存器&#xff1a;AX,BX,CX,DX,SP,BP,SI,DI,DS,ES,SS,CS,IP,flags。 // 以下为这14个寄存器的速查表。要记清楚每个寄存器的详细用法&#xff0c;还是多写代码&#xff0c;汇编&#xff1a;王爽-汇编 如图&#xff1a;在debug下用r命令查看各个寄存器Register&…

Spring架构篇--2.7.1 远程通信基础--Netty原理--NioEventLoopGroup

前言&#xff1a;在使用Netty 时不管是服务端还是客户端都需要 new NioEventLoopGroup 对象进行工作&#xff0c;NioEventLoopGroup的作用是什么呢&#xff1b; 1 NioEventLoopGroup 类图&#xff1a; 从类名字来看它是一个Nio 流的事件轮询器组&#xff0c;既然是一组顾名思…

【微机接口】8086中断指令

4个指令 开中断指令STI&#xff1a;F寄存器中I标志置1&#xff0c;CPU处于开中断 I标志用于控制CPU是否响应来自引脚INTR的可屏蔽中断请求。I为0表示CPU不响应可屏蔽中断请求。 关中断指令CLI&#xff1a;F寄存器中I标志置0&#xff0c;CPU处于关中断 软件中断指令INT n n…

8086的编程结构

8086的编程结构 8086是Intel系列的的16位微处理器&#xff0c;有16根数据线和20根地址线。因为可用20位地址&#xff0c;所以可寻址的地址空间达220字节即1MB。 几乎在推出8086微处理器的同时&#xff0c;为了与当时已有的一整套Intel外围设备接口芯片直接兼容&#xff0c;In…

8086指令系统(8086基本知识点)

目录 一.指令的寻址 1 操作数寻址 1.1 立即数寻址 1.2 寄存器寻址 1.3 直接寻址 1.4 寄存器间接寻址 1.5 寄存器相对寻址 1.6 隐含寄存器的操作数 2 指令地址寻址 二.8086指令系统 1 数据传送指令 1.1通用传送指令MOV 1.2堆栈操作指令PUSH与POP 1.3交换指令 XCHG…