软件测试真的看不到前途吗?

看到这个问题和问题后的说明,题主的显性问题就有两个:

1、软件测试有没有前途
2、若从事没有前途的测试,该怎么办(真的只能转行么)?

一、软件测试有没有前途?

先说结论:如果在2020年后你还只会从事功能测试,那真的看不到前途了。

在北京这薪资活着都难,更何况前途

再说原因:这两年在互联网上,针对测试是不是好找工作,出现了两种极为矛盾的声调:

一方面大量手工测试人员,在知乎贴吧吐槽测试饱和不好找工作。

另一方面却是大量互联网公司在招聘网站疯狂招聘自动化测试,测试开发,导致测试平均薪资年年上涨,现在已经快达到20K(看下方截图)。

之所以会出现这两种矛盾的的声调,是因为低薪的手工测试正在被慢慢淘汰,高薪的自动化测试和测试开发人员不到涌入,提升了测试的平均薪资。

测试有没有前途,不用讲大道理,不断上涨的平均薪资已经告诉了答案。

所以:
1、 是功能测试没有前途,而不是测试没有前途,若怀疑请再看到连续上涨的测试平均薪资;
2、现在还从事慢慢淘汰的手工测试,就像1910年加入“清军”,1945年加入“皇协军”,1949年加入“国军”,真的看不到前途。

二、若从事没有前途的功能测试怎么办?

方法1,转行到开发岗

大部分人把功能测试没有前途看成是测试没有前途,所以,很自然的就想转行到开发。

真相是:

因为开发有35岁危机,所以开发转测试很多很多,因为开发转测试相对较容易。
而测试转开发,却会很难很难。因为学习门槛、所需能力完全不一样。

所以,若已经有了多年的功能测试经验去转做开发,不仅要花费巨大精力,就算成功,也未必是好的选择(你又要从0开始重新积累)。

方法2:转行到自动化测试岗

看完上面两张截图大家就会发现,只要你会自动化测试(接口 或 UI或 接口+UI),薪资将大幅上涨。为何懂自动化测试薪资会上涨这么快呢?

1)根本原因—对比手工测试,自动化测试和当前开发模式更匹配,企业急需

国内互联网行业早期,软件产品种类并没有现在这样繁多,用户量也没有这么庞大。

因此很多软件产品不需要经过多么专业系统的测试检测, 也可以上线发行给用户使用。因此软件测试人员相对的较少和不那么专业。

而且就算能实现测试,也仅仅局限于手工测试的点点的程度。 这种点点点的工作,只要花几天时间学点测试理论,再花个一两天时间学一些常用的测试工具就能胜任。

而目前的软件产品,往往是大负载,大并发,大数据。

加上目前软件的开发模式,往往是频繁迭代,小步快走的模式。手工测试没有办法保证之前的功能都有效覆盖。只能通过自动化的方式,提高测试效率。

所以企业急需自动化测试人员。

2)重要原因—手工测试饱和,但自动化测试因学习门槛较高,目前还非常紧缺

为了更好展示手工测试和自动化测试学习门槛的不同,现在将测试的各种技能整理如下:

  • 初级必备技能
    • 测试理论:熟悉测试流程、了解开发模型
    • 需求分析:能读懂需求、分析需求,并且根据需求设计测试点
    • 测试计划:能看懂计划,了解进度安排、测试策略以及风险事项对策
    • 设计用例:能根据常用用例设计方法编写测试用例(边界值、等价类、场景法、判定表、错误推断法、因果图法)并且能对用例进行评审
    • 执行用例:按时按量完成用例执行
    • 提交缺陷:对于遇到的异常问题能提交缺陷进行管理(新建、修复、验证)
    • 测试报告:能总结测试结果,并以报告形势输出产品质量情况
  • 中级必备技能
    • Linux相关知识:测试环境搭建、Linux常用命令、日志分析等
    • 数据库相关知识:掌握SQL语言,掌握建表语句、增删改数据语句,数据查询(单表查询、多表查询)
    • 接口测试:API文档研读、接口用例设计、接口测试工具执行(Postman、Jmeter、Loadrunner等)、接口日志分析
    • Bug定位能力:能定位前、后端Bug
    • APP专项测试能力:兼容性测试、安装测试、卸载测试、升级测试、交叉(干扰)测试、弱网测试、Push消息测试
    • 抓包工具使用:能使用抓包工具抓取数据包,并进行分析;
    • 性能工具使用:能使用性能工具监控软件性能指标,分析结果数据
  • 高级必备技能
    • 开发语言:掌握一门开发语言(Python或Java)
    • 接口自动化:能编写接口自动化脚本并对项目实施测试
    • UI自动化:能编写UI自动化脚本并对项目实施测试
    • 性能测试:能针对接口性能、软件性能进行测试
      ……
作为手工测试人员,只需要掌握初级必备技能即可,不用报班,自学就可以学会。
作为自动化测试人员,除要掌握初级必备技能(测试工作的基础+核心),还必须掌握中级必备技能+高级必备技能。最重要的是还需将上述技能应用于实战项目,具有一定的项目实战经验。这些在自学过程中是很难完成的。所以掌握自动化测试技能的人很少,非常紧缺。

一方面企业急需自动化测试,一方面自动化测试学习门槛高,人才少。根据经济学的供求理论,供不应求,当然薪资水涨船高。

2021年某机构统计各学科薪资,自动化测试薪资已高过java和前端

三、功能测试是不是适合转自动化测试?

适合。

理由1:功能测试的经验不会浪费

成功的道路上,有一个“一万小时定律”。

这个定律,通俗来讲,就是告诫我们做的每一件事,都产生「积累」的效果,前一件事是后一件事的预动作,过去的经验是今天的铺路石,让时间成为你的朋友,产生复利效应。

就像把一壶水烧开的过程,你必须持续对水加热,水温每升高一度,都让下一秒钟的加热,有了更高的起点,这样温度就能持续升高,直到某一刻的到来,量变到质变。

用四个字来概括,就是:积少成多

转行开发,功能测试从业人员相当于要将自己的工作经验归零,又重新开始积累。

而若转行自动化测试,因为还在测试领域,功能测试的经验不仅不会浪费,而且还能成为未来方向的坚定铺路石(功能测虽然饱和,但却是整个测试行业的基础+核心)。

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

C++刷题 -- 字符串

C刷题 – 字符串 文章目录 C刷题 -- 字符串1.重复的子字符串 1.重复的子字符串 https://leetcode.cn/problems/repeated-substring-pattern/submissions/490209402/ 暴力解法 第一个for循环用来标定子串的末尾,根据末尾取出子串 第二个while循环用来检查原字符串是…

我在代码随想录|写代码Day6之 454.四数相加II ,三数之和

第一题: 454.四数相加II 题目 解答思路 我们要四数相加等于0一般的思路是暴力破解直接4个for循环,然后通过4个for循环得到答案, 但是这样的时间复杂度是O(n4),会超时然后我们通过将循环拆分,比如将 代码 第二题 : 题目: 代码 class Solution { public:vector<vector<…

后台管理项目多数据源管理方案实战

后台管理项目多数据源管理方案实战 整个权益商城后台本质上是一个访问频率比较低的CRUD管理系统&#xff0c;所以本身不需要考虑微服务拆分的事情。接入微服务体系也只是为了能够调用其他的微服务。 但是&#xff0c;在做电商管理项目时&#xff0c;我们为了简化业务流程&…

图书管理系统jsp + servlet+mysql

图书管理系统 项目使用jsp servletmysql实现&#xff1b; 登陆注册 首页 首页显示图书信息 图书管理 1添加书籍 2查询书籍 3预览书籍 4修改书籍 用户管理 1查询用户 2修改用户 3 删除用户 链接&#xff1a;https://pan.baidu.com/s/1QXK--ypb6OadbmKFlc0jUQ

【Deformable DETR】

最近学习CV中的Transformer有感而发,网上关于Deformable DETR通俗的帖子不是很多,因此想分享一下最近学习的内容。第一次发帖经验不足,文章内可能有许多错误或不恰之处欢迎批评指正。 Abstract DETR消除了目标检任务中的手工设计痕迹,但是存在收敛慢以及Transformer的自注…

macOS系统下载百度网盘的操作流程

第一步 进入百度网盘的官网&#xff0c;链接&#xff1a;百度网盘-免费云盘丨文件共享软件丨超大容量丨存储安全​​​​​​​&#xff0c;选择“客户端下载” 第二步 根据自己的电脑配置选择版本进行下载。芯片的查看路径是系统设置-通用-关于本机 第三步 点击右上角的图标…

自监督学习综述

1.简介 其实自监督学习的核心思想很简单&#xff0c;利用大量的无标签数据训练模型&#xff0c;然后将其作为预训练模型在下游任务上进行微调&#xff08;有标签&#xff09;。在用无标签图像训练模型时主要通过设计辅助任务&#xff0c;用图像自身的信息作为标签训练。常见的…

linux存储管理

固态硬盘SSD SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术&#xff0c;拥有极高的存储性能&#xff0c;被认为是存储技术发展的未来新星。 内存直接当成硬盘使用 与传统硬盘相比&#xff0c;SSD固态电子盘具有以下优点 第一&#xff0c;SSD完全的半导体化&…

go语言函数二、init函数定义与作用

go语言init函数定义与作用 在go语言中&#xff0c;每一个源文件都可以包含一个init函数&#xff0c;这个函数会在main函数执行前&#xff0c;被go运行框架调用&#xff0c;注意是在main函数执行前。 package main import ("fmt" )func init() {fmt.Println("i…

实战案例:缓存不一致问题的解决(redis+本地缓存caffine)

一.问题引入 目前在写项目的时候&#xff0c;在B端查看文章&#xff0c;A端修改文章。为了增加效率&#xff0c;以及防止堆内存溢出&#xff0c;在B端选择本地缓存文章的方案。但是目前出现了A端对文章修改之后&#xff0c;B端读的还是旧数据&#xff0c;出现了缓存不一致的问…

阿赵UE学习笔记——2、新建项目和项目设置

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。继续来学习虚幻引擎的使用。这次介绍一下新建项目和项目设置。 一、新建项目 通过桌面快捷方式&#xff0c;或者EPIC Games Loader&#xff0c;启动虚幻引擎。 启动完成后&#xff0c;会打开项目管理的界面&#xff0c;可以看…

C++共享和保护——(5)编译预处理命令

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 耕耘者的汗水是哺育种子成长的乳汁&am…

超结MOS/低压MOS在5G基站电源上的应用-REASUNOS瑞森半导体

一、前言 5G基站是5G网络的核心设备&#xff0c;实现有线通信网络与无线终端之间的无线信号传输&#xff0c;5G基站主要分为宏基站和小基站。5G基站由于通信设备功耗大&#xff0c;采用由电源插座、交直流配电、防雷器、整流模块和监控模块组成的电气柜。所以顾名思义&#xf…

vue中的侦听器和组件之间的通信

目录 一、侦听器 监听基本数据类型&#xff1a; 监听引用数据类型&#xff1a; 计算属性和watch区别&#xff1f; 二、组件通信/传值方式 1.父子组件传值 父组件给子组件传值&#xff1a; &#xff08;1&#xff09;props &#xff08;2&#xff09;provide inject &…

玩转大数据20:大数据应用容器化与部署实践

一、容器化技术介绍和优势 随着云计算的快速发展&#xff0c;容器化技术作为一种轻量级虚拟化技术&#xff0c;已经成为应用部署的主要方式。容器化技术通过共享操作系统&#xff0c;将应用程序及其依赖项打包成一个独立的、可移植的容器&#xff0c;从而实现应用的快速部署和…

Android Studio: 解决Gradle sync failed 错误

文章目录 1. 前言2. 错误情况3. 解决办法3.1 获取gradle下载地址3.2 获取gradle存放目录3.3 替换并删除临时文件3.4 触发Try Again 4. 执行成功 1. 前言 今天调试项目&#xff0c;发现新装的AS&#xff0c;在下载gradle的过程中&#xff0c;一直显示连接失败&#xff0c;Gradl…

构建陪诊预约系统:技术实战指南

在医疗科技的飞速发展中&#xff0c;陪诊预约系统的应用为患者和陪诊人员提供了更为便捷和贴心的服务。本文将带领您通过技术实现&#xff0c;构建一个简单而实用的陪诊预约系统&#xff0c;以提升医疗服务的效率和用户体验。 技术栈选择 在开始之前&#xff0c;我们需要选择…

AUTOSAR CanTSyn模块配置与代码实现(二)

AUTOSAR CanTSyn模块配置与代码实现 1、FUP message处理 CanTSyn_process_FUP_message 先比较和SYNC报文的Sequence是否相等&#xff0c;如果不相等则不接受该报文。 然后调用CanTSyn_unpack_store_fup处理fup报文。 获取接收到FUP时的本地时间&#xff0c;并与接收到的SYNC…

Linux静态ip

Linux静态ip Ⅰ、修改静态ip Ⅰ、修改静态ip 修改静态ip必须是root用户 su root //切换root用户 ip a //查看修改前的动态ipvi /etc/sysconfig/network-scripts/ifcfg-ens33 //打开网卡配置文件&#xff0c;修改一处&#xff0c;新增四处 BOOTPROTO&quo…

3 使用postman批量创建测试数据

上一篇:2 使用postman进行接口测试-CSDN博客 在软件测试实际工作中,因测试需要,我们要批量创建测试数据。如果某些接口不允许输入重复数据,我们在做批量请求时就要做参数处理了。 比如在上一篇介绍的用户注册接口,一般注册的时候用户名是不允许重复的,如果要批量创…