为什么都说测试岗是巨坑,趁早跳出去?10年测试人告诉你千万别上当了...

news2024/11/25 5:32:41

每次都有人问我软件测试的前景是什么样的,每年也会有人很多人纷纷涌入测试的岗位上,希望自己能够进入阿里、华为等大厂。

但是测试岗位真的那么吃香吗?今天我结合从零基础小白到测试开发的成长经历,来说下这个行业的发展前景,以及要入行的同学应该从哪个地方入手学习

一、软件测试行业的发展
最近很多同学在找工作的时候,会发现功能测试岗位很难找到工作,大多数都是外包,甚至外包都要求会性能或者自动化测试,所以对于纯手工测试,不好找工作的情况是真实存在的。

另外就是技术的发展,CI/CD/Devops的项目管理迭代的方法论的流行加大了测试压力,你要是刚开始进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保证。

 短时间迭代越来越快的节奏下,其实已经没有办法再靠人力去支撑了,所以最后肯定是要加班,但是光加班也解决不了任何的问题。

行业大量技术根基薄弱的测试工程师面临淘汰或者外包。这句话听起来比较残酷,但是你必须要看到这种变化,通过和一些测试经理进行沟通,也都是认为现在很多的测试工程师都不及格,要么是会点点点,要么是会一点自动化。

所以,这也就是为什么很多公司都要招聘测试开发

说到这里,肯定很多会点点点的,都在抱怨为什么招普通的测试,还要会自动化,会语言基础?如果前面行业发展你可以理解,那么你也就可以懂得,他们对测试是有更高的期待的,已有的测试又不能解决,所以只能在招聘中体现这一点。

 

 从行业调查数据也可以看出,如果想要在这个行业混口饭吃,手工点点点已经满足不了了,基本的也得会自动化,你说你为了不写代码,想进入这个行业,你觉得你能多久不被淘汰?

因此,整个行业的趋势及前景就是:

纯手工测试逐渐淘汰或大量被外包吸收

有语言基础是基本的招聘需求,会性能或者自动化测试是普遍要求

大厂更多倾向于直接招测试开发,手工测试基本都是外包出去

测试和开发以及运维之间的“墙”在逐渐打破

由于测试开发重要性不断的显现,测试开发工程师的薪资也会不断提高,行业内部薪资差距拉大

测试行业的管理会逐渐扁平化

不懂开发的测试工程师已经是新时代的文盲

测试行业的门槛增加,但薪资会提高

更多的研发工程师进入测试领域

1表面"衰落"的测试行业
二、软件测试工程师的生命周期
产品的生命周期是从准备进入市场到淘汰退出市场的全部过程,一个软件测试工程师的职业生涯的周期也是这样。如何把“生命周期”的每个阶段都最大程度地利用好,是我们每个软件测试从业者都应该关注的问题。

1、入门阶段
前些年培训大热的时候,很多同学听到“前景很好,互联网薪资高,不用写代码,不用加班,越老越吃香”地吹嘘,便一股脑的投入到这个行业来。干了几年,钱没挣到,技术也没有沉淀,混不下去只能再次转行。

如果你还没有进入这个行业或者刚开始了解,那么几个问题你一定一定要进行思考:

你是否能够接受互联网行业的工作节奏?

你是否真的热爱这个行业,起码有足够的热情愿意去钻研?

你的学习能力是否能够让你在日新月异的技术浪潮中不掉队?

首先作为互联网行业,必然会有加班,即使不是996,也必然会有紧急任务或者上线,问下自己是否能够接受这样的工作节奏。如果赶到要上线了,通宵也是常有的,第二天早上你下班了,你的同事刚刚拎着早餐上班。

其次,如果你对这个行业者基本的热情,或者说不讨厌这个行业,那么起码你能够有动力去钻研,去自我驱动,这样才能保证你的工作对自己不是一种煎熬。

最后,互联网行业,技术日新月异,能够在软件测试这个行业长久地走下去,必然要不断的学习。如果讨厌学习,或者上进心比较差,那不建议你进入这个行业。

如果上面3个方面都没有问题,那么恭喜你可以进入下一个阶段。

2、初级阶段
到了这个阶段,你已经开始上手做测试了,哪怕是最基础的点点点,你也已经知道互联网企业测试流程是什么样子了,可以说这个时候是你最朝气蓬勃的时候。

你在工作中遇到问题时的窘、遇见大神时的敬仰,都会转化为你努力求知的动力。阅读书籍、看公开课、逛论坛,你的各种知识和技能会在这个阶段急剧扩充。

但是这个时候,也尤其要注意不要病急乱投医。

这个阶段我不建议基础没有打牢,就开始学习自动化,最后啥也没有搞明白。业务能力才是最重要的,自动化玩得再溜,也只是个辅助。基础不牢,地动山摇。

3、中级阶段
这个时候的你,或许已经做测试有1-2年的时间了,很多工作也得心应手,薪资也基本稳定,技术上知道的也比较多,但是仍然感觉自己什么都不会。

对,你缺少某个方向的深入研究!

处于软件测试行业的中级阶段,必然要面临的一个问题就是我该朝哪个方向去深入发展。自动化还是性能?Python还是Java?APP还是web?

我以我的经验给你一点建议:

关于发展方向
无论APP测试也好、web测试也好,或者想研究自动化,或者想专精性能,都是可以的。没有什么所谓的好不好,重要的是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感,那就一门心思去研究自动化测试。只要往某个方向专精,一段时间后你就可以成为大神。

关于语言选择
以前我专门写过一篇关于软件测试工程师语言选择地回答,简单来说,就是刚接触的时候,可以选择Python,上手更快,更加灵活,到了高级阶段,应对更大的业务形态,还得学会Java。做技术的,会很多种语言很正常。

自动化测试还是性能测试
对于自动化测试,不要被其牵着走,不要过分夸大作用,也不要为了自动化而去自动化。

性能测试某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库、业务等等,你都要搞懂。写脚本或者执行都还好,难的是性能分析和调优。当然如果这个阶段你对自己的要求还不是很高,那么掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验的。

对于这两个方面,我建议都去学习,因为目前的招聘需求,都已经是标配要求。

4. 高级阶段
如果你已经是软件测试行业的老油条了,那相信你很多“坑”都已经踩过了。

到了这个阶段,可以说是软件测试工程师的最大的职业发展瓶颈。业内的大神们,也都是突破了这个阶段,才获得新的发展。

一般在这个阶段,会面临3个方向的发展:

技术专家
这条路较为坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有着浓厚的兴趣,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样才能成为一个高阶的测试开发工程师。

管理方向
做技术累,做管理更累,因为和人打交道是最复杂的。既要协调上下级的关系,又要统筹安排好各项工作

如果喜欢走管理路线的话,就不要脱离业务只做管理,建议做一个专业的技术管理,在带领团队的同时,不断地提升自己的技术,一方面技术不行很难服众,另一方面也是锻炼自己落地一些团队方案的能力,虽然说管理的生命周期比纯技术会长一些,但是一定不能放弃技术

转行其他
研发、产品、运维,或者创业,都是面临瓶颈之后的新的出路。其中尤其是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。

最后,绵薄之力:

感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

vmware安装debian 11.7.0 配置LVM

vmware安装debian 11.7.0 配置LVM 1、下载镜像2、创建并安装debian 11虚拟机2.1、选择 Graphical install2.2、选择安装过程显示语言和系统语言2.3、选择地区2.4、键盘映射2.5、设置主机名-debian2.6、设置网络-直接跳过2.7、设置root密码2.8、创建普通账户2.9、为普通账户设置…

【论文阅读】Modeling of Bitcoin’s Blockchain Delivery Network

文章目录 摘要一、引言二、相关工作A. BTC 网络的测量报告B. 业务概况对 BTC 网络的影响C. 数据分布算法 三、节点连接性、RTT 和块大小A. 建模节点连接B. 建模往返时间 (RTT)C. 建模区块和交易传输时间 四、数据分发和传播五、交易费率和块费率六、分布式网络的排队模型A. 区块…

C++ 中 switch 的性能优化

问题 有这样一段代码&#xff0c;编译器会傻傻地做多次 compare 来找到对应分支吗&#xff1f; #include <stdio.h> #include <stdlib.h> int func(int i) {return (long)(&i) i rand(); }int test(int flag) {int i 0;switch (flag) {case 0:i func(i);…

软件设计师 试题六零基础做题方法分解

接口要实现implements&#xff0c;父类要继承extends 做题技巧&#xff1a;如果在接口下的代码可以不写public 接口后面有个代码&#xff0c;在下面代码中一定有implements对他实现&#xff0c;接口下面是抽象方法也就是函数的实现&#xff0c;具体的实现再类中&#xff0c; 就…

Spring的Bean的生命周期

Spring的Bean的生命周期 Spring的Bean的生命周期 Spring的Bean的生命周期 Spring的Bean的生命周期包括以下阶段&#xff1a; &#xff08;1&#xff09;实例化Instantiation&#xff08;2&#xff09;填充属性Populate properties&#xff08;3&#xff09;处理Aware接口的回调…

华为OD机试真题 Java 实现【查找充电设备组合】【2023Q1 100分】

一、题目描述 某个充电站&#xff0c;可提供n个充电设备&#xff0c;每个充电设备均有对应的输出功率。任意个充电设备组合的输出功率总和&#xff0c;均构成功率集合P的1个元素。功率集合P的最优元素&#xff0c;表示最接近充电站最大输出功率p_max的元素。 二、输入描述 输…

( 链表) 203. 移除链表元素 ——【Leetcode每日一题】

❓203. 移除链表元素 难度&#xff1a;简单 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1…

探秘 | 如何分辨内网和外网?

目录 &#x1f4a1; 什么是外网IP、内网IP&#xff1f; &#x1f4a1; 对于自有路由器上网的用户&#xff0c;可以这样理解外网IP、内网IP &#x1f4a1; 几个大家经常会问的问题 什么是外网IP、内网IP&#xff1f;很多用户都有一个疑惑&#xff0c;如果不使用路由器拨号上网…

一则历史:为什么网络路径前加一个盘符还能正常工作

有一个比较知名的奇异特性&#xff1a;文件系统在解析 UNC(Universal Naming Convention) 路径时&#xff0c;会故意忽略掉最前面添加的盘符字母。 举个例子&#xff0c;假设服务器上有一个共享文件夹&#xff0c;其路径为&#xff1a;\\server\share\directory&#xff0c;如果…

【网络】HTTP

在上面的文章中&#xff0c;我们学习了网络的基础&#xff0c;和网络中一个伟大的标准 OSI 7层模型。通过上篇文章&#xff0c;我们可以知道网络模型最上层为应用层&#xff0c;那么这篇文章就让我们来一起看一下&#xff0c;我们开发过程中绕不开的一个非常著名的应用层协议&a…

FANUC机器人CC-Link总线通信相关配置的具体方法和步骤详解

FANUC机器人CC-Link总线通信相关配置的具体方法和步骤详解 1. 基本说明 2. 采用CC-Link通信的前提条件 机器人需要安装软件:CC-link Interface(Slave) A05B-*-J786 机器人需要安装硬件通信板卡:CC-Link Remote Device Station PCB A05B- * -J110 通信板卡的安装步骤:

第八章 模块

内容框架 8.1 模块介绍 引入模块 import 模块名 通过一句话&#xff0c;计算机就在指定的位置找到了模块文件&#xff0c;并准备好该文件拥有之后会用到的函数和属性。 引入模块本质上就是在一个python文件中引入另一个python文件 引入模块在文档中还可以设置别名&#xff1a;…

没有权限merge到源git仓库?一招教你如何解决。

在git上贡献项目的时候&#xff0c;一般步骤是&#xff0c;clone源项目到本地&#xff0c;切出一个新的分支&#xff0c;然后在新分支上开发&#xff0c;最后push到远程&#xff0c;然后提出mr。但是对于一些非开源的项目&#xff0c;可能会出现&#xff1a; 这就是说明没有权…

mp4是什么格式?如何录制mp4格式的视频?

案例&#xff1a;怎样录制mp4格式的视频&#xff1f; 【我发现网上大部分视频都是mp4格式&#xff0c;我也想在电脑上录制mp4格式的视频。有没有小伙伴知道录制的方法&#xff1f;】 日常生活中&#xff0c;mp4格式已经成为了我们最常用的视频格式之一。它具有高质量、高压缩…

chatgpt赋能python:Python主进程:一步步了解Python中最重要的进程

Python主进程: 一步步了解Python中最重要的进程 在Python编程中&#xff0c;进程是非常重要的一个概念。Python主进程是Python程序在启动的时候默认创建的一个进程&#xff0c;它是整个程序的核心。在使用Python进行开发的时候&#xff0c;了解Python主进程的概念和功能是非常…

gitlab搭建与认证登录

gitlab搭建与认证登录 gitlab的安装配置gitlab中Ldap认证配置 gitlab的安装配置 参考链接&#xff1a; Gitlab 仓库搭建&#xff08;详细版&#xff09; 以下4项注意点&#xff1a; gitlab安装包&#xff0c;直接访问在浏览器上下载速度很慢&#xff0c;可复制链接到迅雷中进…

淘宝店铺所有商品数据接口

淘宝店铺所有商品数据接口是淘宝提供的一种可以获取某个淘宝店铺所有商品信息的接口。通过该接口&#xff0c;可以获取到该店铺的所有商品信息&#xff0c;包括商品的标题、价格、销量、评分等。接口返回的数据格式为JSON格式&#xff0c;可以方便地处理数据。 我们可以通过调…

[论文评析]C-Mixup: Improving Generalization in Regression, NeurIPS,2022

C-Mixup: Improving Generalization in Regression 前言C-MixupReferences 前言 Mixup方法是针对分类任务的, 这篇方法相当于时提出了regression版本的Mixup, 实验证实能够大幅提升在regression task上的泛化能力. C-Mixup 是否可以把Mixup直接用于Regression task呢? 在原…

仓储服务-采购业务

1.合并采购需求 请求参数 {purchaseId: 1, //整单iditems:[1,2,3,4] //合并项集合 }(1) 合并时如果未选择合并的采购单&#xff0c;则先新建采购单然后合并到新建的采购单 新建的采购单&#xff0c;可以手动给采购单分配人员 &#xff08;2&#xff09;合并时选中了采购单…

linuxOPS基础_运维概述,及其泛概念

运维岗位定义 什么是运维&#xff1f; ​ 在技术人员&#xff08;写代码的&#xff09;之间&#xff0c;一致对运维有一个开玩笑的认知&#xff1a;运维就是修电脑的、装网线的、背锅的岗位。 ​ IT运维管理是指为了保障企业IT系统及网络的可用性、安全性、稳定性&#xff0…