软件测试人才稀缺!揭秘为什么你找不到软件测试工作?

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

最近后台很多粉丝给我留言:

2023年软件测试已经崩盘了吗,为什么都找不到工作了?

确实,今年经济大环境不好,企业也都在降本增效,如果技术能力还在被应届生竞争岗位的阶段,只会越来越难。

找不到好工作是环境问题,找不到工作就需要解决自身的问题。过去几年,可能你只要会一些功能测试理论就能找到一份工作,但是现在的面试和招聘要求可以直观的感受到,企业要求在提高,自动化变成必会技能,最好还能做性能,会测试开发更好。不再是大力出奇迹的手工测试阶段。

换个方向思考,这也是行业在进化的体现,门槛在提高的同时,相应的薪酬也在增长,而身在局中的我们需要跟上行业的发展脚步,才不至于在这个浪潮中被替代,被淘汰~

如果没有思路和方法的朋友,希望我整理的学习路线和心路历程能给你一些思考和帮助。(学习路线和网盘资源放在文末了)

测试新人

我的职业生涯开始和大多数测试人一样,刚开始接触都是纯功能界面测试。那时候在一家电商公司做测试,在这个吃技术的IT行业来说,不断学习是至关重要的。但是我之前做的是最基础的业务工作,随着时间的消磨,让我产生了对自我价值和岗位意义的困惑。

一是感觉自己在浪费时间,另一个就是做了快2年的功能测试,感觉每天过得浑浑噩噩,薪资也从不见涨,岗位也一直得不到提升,身边的许多同事要么升职加薪,要么跳槽去了更好的公司工作,特别觉得自己碌碌无为。

640?wx_fmt=jpeg&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

选择Python

不得已开始思考怎么去改变现状。当时最简单的想法是挤出时间去学习各种测试技术和工具,提高自己的价值,也就是核心竞争力。后来被主管偶然发现,给了我一些资源和文档,建议我去研究下自动化测试。

当时来说,我还没有接触过自动化测试,但是通过主管给我的资源,让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度

那时候正是脚本语言开始流行起来,因为当时项目的原因跟Python结缘,开始用Python和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。

分享是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是博客都是很好的反馈机制。当然,也很有成就感。

640?wx_fmt=jpeg&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

2015年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础,所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。

掌握自动化工具的原理使用起来才会更加游刃有余,而这也需要你有一定的编程基础的原因。

2016年随着移动App越来越流行,趁着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。

后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了好几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。

自动化测试

当时由于公司的规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界有更多机会,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试的工作。

后来的机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。

这对于我来说是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高

到岗后就是顶住压力,不断的学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等

坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。

所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展自动化测试开发工作。

行业内卷

最近聊到软件测试的行业内卷,经济大环境不好,企业也都在“降本增效”。再加上转行和大学生进入测试行业。想要获得更好的待遇和机会,不断提升自己的技能栈成了迫在眉睫的问题。

不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试的相关经验?”

所以还停留在手工功能测试层面,如果不去提升技术,不仅要面临长江后浪推前浪的压力,还要顶住当下行业的内卷之势。不然就只能接受窘境,最后甚至是面临淘汰。更别说升职涨薪了

如何从初级功能测试到高级自动化测试,性能测试或者测试开发,达到技术提升和待遇提高的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。

所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想提升技能的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

学习指南

如果你也需要摆脱行业的内卷

在还能奋斗的年龄,选择正确的方法,继续在这个行业占有一席之地。毕竟IT行业的高薪红利,不是其他行业轻易能够比拟的

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以扫描文末二维码获取网盘链接。希望会给你带来帮助和方向。

【自动化测试学习路线】

1、自动化测试必会Python编程技术

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

2、Web自动化测试技术内容

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

3、APP自动化测试技术内容

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

4、Postman测试工具专题

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

5、接口自动化测试技术内容

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

6、自动化测试框架搭建能力

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

7、持续集成

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

8、Jmeter 性能测试

640?wx_fmt=jpeg&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

9、APP性能测试

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

10、Fiddler 抓包工具的使用

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

11、TCP/IP协议

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

12、Linux 系统操作

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

13、MySQL 数据库

640?wx_fmt=jpeg&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

14、RobotFramework 自动化测试框架

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

15、跨平台的自动化测试框架Airtest

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1


-每天学习一点,今后必成大神-

640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

-事必有法,然后有成- 最后祝大家早日拿到满意的offer ~

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方【链接】加入我们大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

今天主要是和大家分享我的学习路线和网盘资源,后续我会分享一些面试攻略,有被帮助到的朋友,大家可以点赞支持一下

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

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

相关文章

【大数据面试】YARN常见问题与答案

目录 介绍下YARN YARN有几个模块 YARN工作机制 YARN有什么优势,能解决什么问题? YARN容错机制 YARN高可用 YARN调度器 YARN中Container是如何启动的? YARN的改进之处,Hadoop3.x相对于Hadoop 2.x? YARN监控 介绍下YARN YARN有几个模块 Yar…

74.搜索二维矩阵

题目 法1&#xff1a;二分搜索 剑指原题 class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m matrix.length, n matrix[0].length;int i 0, j n - 1;while (i < m && j > 0) {if (matrix[i][j] target) {return true;} el…

从零开始在Linux服务器配置并运行YOLO8+Web项目

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 神经网络&#xff08;随缘更新&#xff09; ✨特色…

『OPEN3D』1.5.4 动手实现点云八叉树(OctoTree)最近邻

本专栏地址: https://blog.csdn.net/qq_41366026/category_12186023.html?spm=1001.2014.3001.5482 在二维和三维空间中,我们可以采用四叉树(Quad tree)和八叉树(Octree)这两种特定的数据结构来处理空间分割。这些树形结构可以看作是K-d树在不同维度下的扩展。…

SpringBoot的多环境开发

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

JS - 闭包(Closure)

目录 1&#xff0c;什么是闭包2&#xff0c;创建闭包3&#xff0c;如何销毁闭包2.1&#xff0c;自动创建的闭包2.2&#xff0c;手动创建的闭包 4&#xff0c;闭包的特点和使用场景3.1&#xff0c;特点3.2&#xff0c;使用场景避免全局变量污染函数柯里化 5&#xff0c;闭包经典…

【高级网络程序设计】Block1总结

这一个Block分为四个部分&#xff0c;第一部分是Introduction to Threads and Concurrency &#xff0c;第二部分是Interruptting and Terminating a Thread&#xff0c;第三部分是Keep Threads safety&#xff1a;the volatile variable and locks&#xff0c;第四部分是Beyon…

【算法系列篇】递归、搜索和回溯(四)

文章目录 前言什么是决策树1. 全排列1.1 题目要求1.2 做题思路1.3 代码实现 2. 子集2.1 题目要求2.2 做题思路2.3 代码实现 3. 找出所有子集的异或总和再求和3.1 题目要求3.2 做题思路3.3 代码实现 4. 全排列II4.1 题目要求4.2 做题思路4.3 代码实现 前言 前面我们通过几个题目…

提升研究效率,尽在EndNote 21 forMac/win!

在科研领域&#xff0c;文献管理是一项至关重要的任务。研究人员需要快速而准确地收集、整理和引用大量的文献资料&#xff0c;以支持他们的研究工作。而EndNote 21作为一款功能强大的文献管理软件&#xff0c;能够帮助研究人员高效地管理文献资源&#xff0c;提升研究工作的效…

【Linux基础】1. Linux 启动过程

文章目录 【 1. 内核的引导 】【 2. 运行init 】 运行级别 【 3. 系统初始化 】【 4. 建立终端 】【 5. 用户登录系统 】【 6. 图形模式与文字模式的切换方式 】【 7. Linux关机 】 Linux系统的启动过程分为 5个阶段&#xff1a; &#xff08;1&#xff09;内核的引导。 &#…

docker nginx 部署静态网站

1、dockerfile FROM nginx AS baseWORKDIR /appEXPOSE 80COPY . /app2、dockercompose.yaml version: 3 services:adminservice:container_name: adminwebbuild:context: ./dockerfile: Dockerfileports:- "5000:80"labels:description: adminwebrestart: always3、…

Java中线程状态的描述

多线程-基础方法的认识 截止目前线程的复习 Thread 类 创建Thread类的方法 继承Thread类,重写run方法实现Runnable接口,重写run方法使用匿名内部类继承Thread类,重写run方法使用匿名内部类实现Runnable接口,重写run方法使用Lambda表达式 run方法中的所有的代码是当前线程对…

ubuntu 20.04 docker

ubuntu 20.04 docker https://docs.docker.com/engine/install/ubuntu/ Ubuntu20.04下部署linux资源监控平台&#xff08;docker部署&#xff09;grafanaprometheusnode_exporter&#xff08;docker离线包&#xff09; https://blog.csdn.net/deer_cui/article/details/1340208…

React面试题:对componentWillReceiveProps的理解

React面试题&#xff1a;对componentWillReceiveProps的理解 回答思路&#xff1a;是什么--->干什么用的-->优点-->什么时候用是什么&#xff1f;干什么用的&#xff1f;优点什么时候用&#xff1f; 回答思路&#xff1a;是什么—>干什么用的–>优点–>什么时…

已知IP地址,求能容纳一定数量IP地址的DHCP服务器的主机数量和子网掩码

求能容纳的主机数量&#xff1a;2的n次方-2 > 所需的主机数量 [由于广播地址&#xff08;255&#xff09;和网络地址&#xff08;0&#xff09;要保留&#xff0c;所以求主机数量时要-2] 子网掩码&#xff1a;采用1 2 4 8法&#xff08;2的0次方、2的1次方、2的2次方、2的3次…

第二百一十六回 分享一种更新页面数据的方法

文章目录 1. 概念介绍2. 实现方法2.1 实现思路2.2 实现方法3. 示例代码4. 内容总结我们在上一章回中介绍了"如何创建单例模式"相关的内容,本章回中将 分享一种更新页面数据的方法.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍一种更新页…

测站坐标系统 -- 东北天(ENU)坐标系、站心坐标系

目录 一、测站坐标系的定义 二、测站坐标系与地心地固坐标系的转换 2.1地心地固坐标系转到测站坐标系 2.2测站坐标系转到地心地固坐标系 三、方位角和高度角的计算 一、测站坐标系的定义 测站坐标系统以观测站( 或地面上某一个观测点 ) 为中心建立坐标系统&#xff0c;将这…

SQL基础:记录的基本操作

在上一节中&#xff0c;我们进行了表的新建&#xff0c;这一节我们讲一下记录的增加、修改、删除、查询。 增加 增加即使用insert语句&#xff0c; INSERT INTO users (user_id, username, password, email) VALUES (2, jane_smith, pass456, janeexample.com);查看插入的数…

代码随想录第三十六天(一刷C语言)|背包问题理论基础分割等和子集

创作目的&#xff1a;为了方便自己后续复习重点&#xff0c;以及养成写博客的习惯。 一、背包问题 题目&#xff1a;有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装…

C语言实现顺序队列

在C语言中&#xff0c;顺序队列是一种数据结构&#xff0c;它是一种先进先出&#xff08;FIFO&#xff09;的线性表。顺序队列通常使用数组来实现&#xff0c;具有以下特点&#xff1a; 队列元素的插入操作&#xff08;入队&#xff09;只能在队尾进行&#xff0c;而删除操作&…