软件测试人员迷茫之中如何找到职业发展的方向?

news2024/11/25 7:51:40

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

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

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

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

  3、35岁是一个门槛,许多人也担心到了这个年龄,公司就可能不和自己续签合同。虽然这不只是测试人员所面临的达摩克利斯之剑,开发人员也会感受到即将到来的末日。

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

  如何走出迷茫?

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

  1、坚守现在的测试岗位,把各项工作做得极致,迅速成长为某个方面的专家或测试架构师,也可以成为技术管理者(如测试经理/测试总结,但这个风险会大些),对公司或对个人有很高的价值,使自己立于不败之地。

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

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

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

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

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

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

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

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

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

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

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/616552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日一练 | 华为认证真题练习Day53

1、现在有以下10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24四个网段,这四个网段可以汇总为以下哪个网段?(多选) A. 10.24.0.0/23 B. 10.24.1.0/23 C. 10.24.0.0/22 D. 10.24.0.0/2…

Window环境rabbitmq安装教程

首先我们需要取官网下载对应的两个安装包 第一个是rabbitmq安装包路径在括号里(Installing on Windows Manually — RabbitMQ) 我们选择window下载即可。 下图是下载的样子,确认是这两个就没问题了 第二个是erlang(http://erlang…

上海市计算机学会竞赛平台五月月赛题目汇总

我又来了! 爆切了一大堆没用的水题后,我终于来发题解啦!!! T1原题https://iai.sh.cn/problem/792 我们考虑通过计算最长上升连续自然数串(是这么叫的吗)来获取答案 可以开两个数组 和 来计…

从飞书妙记秒开率提升,看火山引擎A/B测试在研发场景的应用

作者:DataTester 用户体验是决定互联网产品能否长久生存的关键,每一个基于产品功能、使用和外观的微小体验,都将极大地影响用户留存和满意度。 对于企业协作平台飞书而言,用户体验旅程从打开产品页面的一瞬间就已开始,…

如何安装多个node版本(使用nvm)

1、卸载之前安装的所有node 2、下载nvm安装包,下载地址https://nvm.uihtm.com/ 3、安装nvm 4、打开cmd,运行命令 nvm install node版本号,安装对应版本的node 5、打开nvm的安装路径,可以看到安装的对应的node版本的文件夹 6、若有…

K8S之Deployment控制器管理应用(十一)

Deployment介绍 Deployment是最常用的K8s工作负载控制器(Workload Controllers), 是K8s的一个抽象概念,用于更高级层次对象,部署和管理Pod。 Deployment的主要功能: • 管理Pod,即应用程序 •…

CS1237 数据实测

目录 硬件 测试数据 结论 性能 转换时间 硬件 外部电阻电位器 模拟 传感器信号 测试数据 一下记录数据为ADC原始数据未经过软件滤波 跳动幅度图片DEV_FREQUENCY_10DEV_PGA_1751DEV_FREQUENCY_40DEV_PGA_11562DEV_FREQUENCY_640DEV_PGA_18243DEV_FREQUENCY_640DEV_PGA_644…

Spring:什么是SpringBoot框架?①

前言: 我们说任何一个阶段的技术更迭都是在代码量,代码简洁度,封装后复杂关注度降低上下功夫,不断提升生产力。 Spring已经足够牛了,它的bean容器思想启迪和影响了众多的程序员,奠基引领了技术的发展。 在应…

人工智能直播的趋势分析报告

人工智能直播是指通过人工智能技术来模拟真人直播,通过机器学习和自然语言处理等技术实现。随着人工智能技术的不断发展,人工智能直播在近年来得到了广泛应用。 一、人工智能直播的优势 节省成本:相比传统直播,人工智能直播不需要…

校园垃圾回收处理APP

摘 要:本文开发的是校园垃圾分类回收APP。随着互联网的快速发展,现如今使用互联网对信息进行管理这一方法也被各行各业所使用,因为实现信息管理最好的方式就是建立良好的网络管理平台,并对其进行综合管理。与此同时,A…

C++模板类及其应用

C模板类及其应用 在本文中,我们将探讨C中的模板类及其应用。模板类是一种通用的编程技术,它允许您创建可重用的代码,同时保持类型安全和高性能。我们将通过以下几个方面来介绍模板类: 文章目录 C模板类及其应用什么是模板类&…

tomcat集群下的session共享和负载均衡(apache实现)

环境 操作系统:windows tomcat1:Apache Tomcat/7.0.52(8085) tomcat2:Apache Tomcat/7.0.52(8086) jdk:1.8.0_251 apache-http:httpd-2.2.17-win32-x86-no_ssl&#xff0…

rabbitmq集群搭建

rabbitmq集群 环境初始化配置集群配置集群节点通信配置节点加入集群 常用命令集群搭建避坑 节点IPrabbitmq01(磁盘节点)192.168.200.80rabbitmq02(内存节点)192.168.200.81rabbitmq03(内存节点)192.168.200…

【Android开发基础】四大组件之一Service(服务)的应用场景及使用(以实时聊天为例)

文章目录 一、引言1、什么是服务?2、应用场景3、其他类同 二、生命周期三、基础使用1、创建服务2、注册服务3、启动服务 四、进阶使用(实时聊天)1、实现效果2、数据流图3、服务部分 一、引言 1、什么是服务? Service(…

路径规划算法:基于海洋捕食者优化的路径规划算法- 附代码

路径规划算法:基于海洋捕食者优化的路径规划算法- 附代码 文章目录 路径规划算法:基于海洋捕食者优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能…

nginx系列第五篇:nginx中相关通信总结

目录 1.master进程监听socket 2.master和worker进程通信机制 2.1通信渠道 2.2通信方法 2.3通信内容 2.4子进程事件处理 3.epoll封装 4.linux系统下信号查看 1.master进程监听socket nginx在master进程socket bind listen,accept在通过epoll在子进程中控制&a…

ThreeJS 炫酷特效旋转多面体Web页 Demo 01《ThreeJS 炫酷特效制作》

本案例为一个 threejs 的特效网页,大小球体进行包裹,外球体为透明材质,但是进行了线框渲染,使其能够通过外球踢查看其内球体。 注:案例参考源于互联网,在此做代码解释,侵删 本案例除 ThreeJS 外…

Kafka原理

生产者原理解析 生产者工作流程图: 一个生产者客户端由两个线程协调运行,这两个线程分别为主线程和 Sender 线程 。 在主线程中由kafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用之后缓存到消息累加器(Rec…

uniApp 页面通讯统一解决方案

文章目录 往期回顾统一解决方案uni.on和eventChannel之间的选择如何设置触发器最终范例距离 往期回顾 uniapp 踩坑记录 uni.$on为什么不能修改data里面的数据 uniApp页面通讯大汇总,如何页面之间传值 统一解决方案 uni.on和eventChannel之间的选择 uni.on和eve…

61082-041502PLF(0.80mm)40 位置 连接器 插座,G846A050210T1HR 集管和线壳 WTB 1.00 PITCH

61082-041502PLF(0.80mm)FCI紧凑型Bergstak连接器提供广泛的堆叠高度和电路尺寸,以支持广泛的夹层,板堆叠通信,数据和工业应用。 连接器类型:插座,外罩触点 针位数:40 间距&#xff…