当前位置: 首页 > news >正文

4年软件测试,突破不了20K,太卷了。。。

先说一个插曲:上个月我有同学在深圳被裁员了,和我一样都是软件测试,不过他是平安外包,所以整个组都撤了,他工资和我差不多都是14K。

现在IT互联网已经比较寒冬,特别是软件测试,裁员先裁测试,这几乎都是定律。我最近看了某音很多应届生以及去年毕业的计算机、软件专业的小伙伴,都说很难找到工作,要么没公司约面试,要么面试了没有offer。


一直有知友问我,“你是怎么进入软件测试这个行业的?”、“你是怎么自学的?”、“你专业是什么,转行软件测试困难吗?

我去年的文章有写过,首先我自己本身就是软件工程专业,本科学历,2018年实习,一直到现在,做的都是软件测试,所以我是不存在转行软件测试的。

2019年毕业,今年6月就刚好四年了。

我现在税前月薪14.5K,13薪。

在广州14.5K,这不能说高,但也不能说低。反正饿不死我就行,我每个月除了工资还有一份兼职,月均6-7千,所以我现在还可以苟着......

本来去年我刚入职新公司的时候就想着不会待太久,但奈何环境太差,经济下滑、互联网裁员频繁,就先苟着吧......原本打算挑战一下20K,现在先放一边。稳定压倒一切。

何况我上一家公司才给我开7000,现在翻一倍了,这不得爽死了嘛?

我之前的文章有提过,我上一家公司钱少,加班多,一周加班两三天那是常态,加班到九点十点都有,最晚一次加班是通宵......没骗你们。因为我们是做电商项目的,只能等晚上10点半以后上线,所以一轮上线操作下来,运维合并代码、构建、生产环境验证,都要忙到晚上12点才能睡。那次通宵加班是因为硬件终端也更新了程序,我需要留守公司测试生产环境的硬件是否正常。

当时我是一个人负责整个电商SAAS平台,非常庞大,涉及PC、小程序、POS机、硬件终端,就靠我一个人负责测试,所以搞得自己很累,我2020年入职上一家公司,从2021年开始就感受到这种累了,后来2022年5月跑路,因为当时不想断了社保,要快点找到下一家,所以提离职前2个星期就更新好简历,开始投递,一个星期不到就找到了一家还算不错的新公司,就是我目前这家。我特意对比了两家,现在这家公司真的轻松多了:

薪资:上家7K;目前14.5,13薪
双休:上家大小周;目前双休,7.5小时,端午、中秋、春节都有红包礼物。
加班:上家加班是常态;目前不加班
交通:上家地铁加公交40分钟;目前地铁10分钟
工作氛围:上一家小公司,管理平易近人;目前中等公司,有些办公室规则,但上级领导还好,一般不怎么过多管理,只要按时完成任务即可,所以平常也有比较多时间摸鱼。

去年我之所以跑路离职,一方面当然是工资太低了,毕业三年才7000。第二个方面是刚才说的加班多,平常也累,因为一个人负责所有测试,通常来说一个庞大的电商系统怎么也得2-3人测试的。第三个就是感觉不到有晋升空间。

上一家公司是典型的“小公司思维”,只要你不提,他永远不会给你涨薪资,他也会一直按照这种工作量给你布置任务,管你累不累,反正你肯做就行。而且让人不爽的是,我明明是一个测试岗位,有时候还要外派出差帮助别的部门安装机器、培训客户......这本来就不是我负责的工作范畴。

所以各种破事叠加在一起,很难不离职的。

不过上一家公司也有很多很好的的地方,比如管理平易近人,领导和老板人比较好。还有就是当时我那个项目负责人、架构师,技术确实厉害,同样是90后,感觉自己和他完全不是一个层级的,人家当初也是软件测试出身的,在字节做过,后来跳槽到另一家公司担任架构师,19年的时候来到我上一家公司,也是架构师。

我在上一家公司跳槽前一年,也跟着这大哥学了很多东西,包括压测、压测平台搭建、压测数据监控(grafana、Prometheus、InfluxDB),还涉及一些软件测试盲区知识点,比如redis、nginx代理/负载均衡等等。

如果不是因为工资太低,我倒还想继续跟着大佬学习,毕竟人家愿意带你,简直就是求之不得。现在有多少人感觉自己知识太匮乏,又碍于培训班太费钱以及怕被割韭菜,如今有个现成的大佬,当然是乐开花了。

不过我现在这样也挺好,毕竟也是托了他们的福,顺利跳槽到一家更适合自己的公司,我想他们也会替我感到高兴吧。我觉得做人要知足,要感恩,上一家公司虽然让我感到心身疲惫,但无可否认确实学到了很多东西

从我2018年实习至今,我的技能提升大概分两个阶段,第一个是2018年实习时期,当时带我的部门经理,是他教会我一些软件测试入门的知识点,比如jmeter、postman,这些东西现在看上去很简单,但在当时我可是一点没接触过的,虽然我是软件专业出身的,但学校教的东西,90%都用不上。

第二个阶段就是上一家公司,跟着架构师学习,人家本来就是软件测试出身,现在又做了架构师,自然是牛批哄哄,开发、测试全能。

还有一点,我也很佩服上一家公司那些开发大佬们的水平,确实高、效率也高。因为我们是敏捷迭代,之前一个星期上线一次,每一次需求又多,所以开发们写接口的效率都是杠杠的,虽然有BUG,但是修BUG的速度也是特别快,十分钟前报上去,马上修完合并代码到测试环境,验证,ok通过......

而且我对比了现在这家公司,更坚定了上一家公司开发水平、代码规范确实比较好,我之前提到过一点,现在这家公司写的一些接口,比如接口路径太长、传参过多、接口名称有时不能体现业务逻辑,抓包出来一看头都大,给他们做接口测试真的没啥兴趣。

上一家公司用的是.net,因为开发比较牛,搞得我现在都觉得C#比Java更有好感......


写了那么多,文章又开始有点长了......

下面讲讲大家关心的一些问题吧,比如“自动化怎么学?

现在不掌握一些自动化,软件测试还真没啥技术性可言,更别提性能压测、性能分析了。

我是从2021年开始认真自学自动化的,最先是接口自动化,jmeter工具入手,jmeter+jenkins,因为jmeter比较简单,学起来快,有成就感,所以我目前也是比较推荐大家从jmeter开始的。

至于python的自动化,我当时选的是python+unittest+requests,我是直接在博客网站上学的,先用大佬们的代码套用在自己公司项目,接着再扩展,比如增加HTMLTestRunner测试报告,再比如又增加了jenkins持续集成以及发送测试报告到邮件......很多东西就是在这种学习中慢慢积累的,最终形成自己熟悉、喜欢的风格。

入职这家公司之后,发现他们都习惯用postman做接口自动化,遂又学回了postman,后来又接触MeterSphere这个集接口测试、压测于一身的平台。

再后来,自己又抽空补了python的selenium自动化。但我个人觉得UI自动化其实不太适合,因为一般的公司,迭代太频繁,UI更改也频繁,UI自动化带来的收益其实不高的,如果是特别稳定的项目用于回归测试倒也还好。所以我目前侧重学习的都是接口层面的自动化,不管是jmeter还是python、postman。

python怎么学?

我个人建议是:直接用别人的代码、框架,套用在自己的项目上。这样就可以事半功倍了,因为我发现如果从零开始学,是很难学进去的,因为大部分人思维不太适合写代码,我曾经试过跟着视频教程从零学,结果没两个星期就熬不下去,因为见不到成效,加上课程枯燥,根本坚持不下去。

我建议直接用别人代码、框架,套用在自己公司的项目,遇到不会的坎就网上查,带着问题去学,这效率就杠杠的。比如从零开始学,元组和列表有啥区别,我看了视频没两天就忘光了,但在实际项目应用中,有些问题可能是自己把元组和列表弄乱了导致出的BUG,网上一查,不仅问题解决了,还顺带学了一个新的知识点,这样一来印象就深刻,而且当你解决一个难点,这成就感更加爆棚,更有动力学下去了。

是先学python,还是先学其他的?

我建议是先易后难,先学基础的jmeter、postman、fiddler。

再学mysql、Linux,再学python。

学一门语言,它的难度远比掌握一个测试工具要大得多,如果先学语言,可能耐心支撑不了几天,最终会自动放弃。先学jmeter、postman、fiddler这些简单的,随便找个项目也能实践,等自己的知识点慢慢贯通了,再学语言,自然就轻松了。

关于非科班、非本科学历转行软件测试

现在各大互联网企业对学历是卡得比较严,非本科、又是非计算机/软件科班的,自然也难,加上今年越发明显的互联网寒冬,其实大家都知道的了,所以想进入软件测试这行的小伙伴,大家自己掂量吧。

关于要不要报培训班?

我个人建议:纯小白,千万不要一开始就报班

软件测试培训这个水挺深的,很多机构为了多赚钱,他不会考虑你学历、自身经验够不够,反正你报班了人家就有钱赚。我很少看到有良心的培训机构说“你学历可能不够,你专业可能不行,你以前没接触过软件测试,所以先不要报。”

我认为培训应该是在你已经做着软件测试岗位,觉得自己水平不够,才去报班的,而不是让一个纯小白去报班,通过改造,变成一个软件测试大佬,这个过程几乎不可能的。所以为什么网上有很多人都说自己被培训机构骗了,就因为对一个非专业的小白改造,太难了。大家报了培训班,感觉几个月下来自己也没学会什么,几千块甚至上万快就这样浪费了,单纯的“智商税”。

今年5月我去深圳参加同学们的聚会,其中有一个混得比较好的同学人家是这样说的:“我在知识付费学习这一块已经花了将近10万。”其实本质就是,培训它对原本就是这一行业的人进行技能提升,而不是对行外的人改造,你只有进了这一行,觉得自己水平不够了才去培训,如果你是其他行业转过来的,本身又是非科班出身,可能本科专科学历也没有,对一些专业术语一窍不通,试问,培训的效果能有多好?你自己敢保证吗?

别人花了近10万去培训自己,这是从1到100的过程,但大家是从0开始的喔,从0到1这个过程才是最难的好吧。

因此,大家自己思考呀。


还想再讲一些,

上面提到我现在工资确实不高,在广州勉强过得去,反正现在环境不好,先这样吧。我现在除了工资,其实还有一份兼职的,月均6-7千。

7月兼职突破了2万,8月也有七八千了。

反证我现在在工资上缺了的,就通过其他方式补回来。

我现在的生活其实也挺舒适的,双休、不加班,每天上班7.5小时,下班之后还可以做自己喜欢的事,学学烹饪,种种花草......每个月花费不多,平均每个月可以存1.2w到1.5w。房租450,加上水电才600不到,其他的饮食、交通、衣服、游玩,花的也不多。

相关文章:

4年软件测试,突破不了20K,太卷了。。。

先说一个插曲:上个月我有同学在深圳被裁员了,和我一样都是软件测试,不过他是平安外包,所以整个组都撤了,他工资和我差不多都是14K。 现在IT互联网已经比较寒冬,特别是软件测试,裁员先裁测试&am…...

机器人控制算法——两轮差速驱动运动模型

1.Introduction 本文主要介绍针对于两轮差速模型的逆运动学数学推导。因为在机器人控制领域,决策规划控制层给执行器输出的控制指令v(车辆前进速度)和w(角速度),因此,我们比较关心,当底层两个驱动电机接收到此信息,如何…...

Queue简介

概念: 队列(Queue)是一种常见的线性数据结构,在Java中用于存储和操作元素序列。它基于先进先出(First-In-First-Out, FIFO)原则,即最早入队的元素首先出队。只能在队尾添加元素,在队…...

被面试官问到分布式ID,别再傻乎乎只会答雪花算法了...

文章目录 1. 分布式ID2. 数据库主键自增3. 数据库号段模式4. Redis自增5. UUID6. Snowflake (雪花算法)7. Leaf (美团分布式ID生成系统)7.1 Leaf-segment 号段方案7.1.2 双buffer优化 7.2 Leaf-snowflake方案7.3 Leaf-snowflake Demo 1. 分布式ID 在分布式系统中,通…...

使用Boto3访问AWS S3服务

安装Boto3,执行如下命令: python -m venv .venv . .venv/bin/activate python -m pip install boto3创建配置文件,执行如下命令: mkdir -p ~/.aws touch ~/.aws/credentials touch ~/.aws/config编辑 ~/.aws/credentials&#x…...

ODrive移植keil(五)—— 开环控制和电流变换

目录 一、开环控制1.1、控制原理1.2、硬件接线1.3、代码说明1.4、程序演示1.5、程序架构的体现 二、电流变换2.1、理论说明2.2、代码说明 ODrive、VESC和SimpleFOC 教程链接汇总:请点击 一、开环控制 在SimpleFOC系列中有开环控制的教程,SimpleFOC移植S…...

【Java学习之道】日期与时间处理类

引言 在前面的章节中,我们介绍了Java语言的基础知识和核心技能,现在我们将进一步探讨Java中的常用类库和工具。这些工具和类库将帮助我们更高效地进行Java程序开发。在本节中,我们将一起学习日期与时间处理类的使用。 一、为什么需要日期和…...

信息系统项目管理师第四版学习笔记——高级项目管理

项目集管理 项目集管理角色和职责 在项目集管理中涉及的相关角色主要包括:项目集发起人、项目集指导委员会、项目集经理、其他影响项目集的干系人。 项目集发起人和收益人是负责承诺将组织的资源应用于项目集,并致力于使项目集取得成功的人。 项目集…...

MySQL建表操作和用户权限

1.创建数据库school,字符集为utf8 mysql> create database school character set utf8; 2.在school数据库中创建Student和Score表 mysql> create table school.student( -> Id int(10) primary key, -> Stu_id int(10) not null, -> C_n…...

TCP/IP(十一)TCP的连接管理(八)socket网络编程

一 socket网络编程 socket 基本操作函数 bind、listen、connect、accept、recv、send、select、close 说明: 本文需要C语言、syscall系统调用、OS 操作系统基础理论,如果不了解可以暂时跳过目标: 知道对应库函数的更底层机制思考: socket函数与FIN、A…...

第五章 图

第五章 图 图的基本概念图的应用背景图的定义和术语 图的存储结构邻接矩阵邻接表 图的遍历连通图的深度优先搜索连通图的广度优先搜索 图的应用最小生成树拓扑排序 小试牛刀 图的基本概念 图结构中,任意两个结点之间都可能相关;而在树中,结点…...

深度学习实战:用Keras搭建深度学习网络做手写数字识别

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…...

算法解析:LeetCode——机器人碰撞和最低票价

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 机器人碰撞 问题: 现有 n 个机器人,编号从 1 开始,每个…...

LeetCode刷题总结 - LeetCode 热题 100 - 持续更新

LeetCode 热题 100 其他系列哈希1. 两数之和49. 字母异位词分组128. 最长连续序列 双指针27. 移除元素283. 移动零11. 盛最多水的容器剑指 Offer II 007. 数组中和为 0 的三个数42. 接雨水 滑动窗口438. 找到字符串中所有字母异位词3. 无重复字符的最长子串 字串560. 和为 K 的…...

Spring是什么?为什么要使用Spring?

目录 前言 一、Spring是什么? 1.1 轻量级 1.2 JavaEE的解决方案 二、为什么要使用Spring 2.1 传统方式完成业务逻辑 2.2 使用Spring模式完成业务逻辑 三、为什么使用Spring? 前言 本文主要介绍Spring是什么,并且解释为何要去使用Spring&…...

自我监督学习日志

学习日志 10.12 一天学不了一分钟,不知道为什么也就是了 今天一定要学一个小时! 机器学习就是机器帮我们找一个函数 语音辨识,语音,声音讯号 转化为文字 帮我们找一个人类写不出来的复杂函数 类神经网络 输入 一张图片用一个矩…...

配置CA证书

前置条件 配置Java环境变量。 具体操作 windows环境 以管理员方式执行CMD窗口,输入命令; cd /d %JAVA_HOME%\jre\lib\securitycurl -kv https://xxx/artifactory/CMC-Release/certificates/xxxRootCA.cer -o xxxRootCA.cercurl -kv https://xxx/art…...

计算机毕业设计选什么题目好?springboot 高校就业管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...

上海-华为全联接大会|竹云受邀参加华为云ROMAConnect行业生态联盟成立联合发布会

2023年9月22日,在上海举办的华为全联接大会上,竹云作为华为云全方位合作伙伴代表,受邀参加华为云ROMAConnect行业生态联盟成立联合发布会。华为云PaaS服务产品部副部长张甲磊以及联盟主要成员企业出席发布仪式,共同见证华为云ROMA…...

走进GraalVM

是什么 GraalVM是一个高性能的JDK,旨在加速用Java和其他JVM语言编写的应用程序的执行,同时还为JavaScript,Python,Ruby和许多其他流行语言提供运行特点 GraalVM可以代替JDK、JVM之前的工作。 GraalVM除了支持Java,也支…...

spark读取hive表字段,区分大小写问题

背景 spark任务读取hive表,查询字段为小写,但Hive表字段为大写,无法读取数据 问题错误: 如何解决呢? In version 2.3 and earlier, when reading from a Parquet data source table, Spark always returns null for any column …...

UE4和C++ 开发-头文件(.h) 和实现文件(.cpp)区别

.h文件和.cpp文件是C程序中的两种不同类型的文件。 .h文件通常包含类、函数和变量的声明, 而.cpp文件包含这些声明的实现。 .h文件中的声明通常是公共的,可以被其他文件包含和使用。.cpp文件中的实现通常是私有的,只能在该文件中使用。 在…...

git介绍和安装、(git,github,gitlab,gitee介绍)、git工作流程、git常用命令、git忽略文件

1 git介绍和安装 2 git,github,gitlab,gitee介绍 3 git工作流程 4 git常用命令 5 git忽略文件 1 git介绍和安装 首页功能写完了---》正常应该提交到版本仓库---》大家都能看到这个---》 运维应该把现在这个项目部署到测试环境中---》测试…...

go cpu、内存监控、性能分析:PProf

PProf PProf 是什么 PProf是 golang 官方提供的性能调优分析工具,用于分析和优化Go程序的性能。 PProf通过收集和分析程序的运行时数据来生成性能分析报告。它使用Go语言的运行时特性,如代码注释和特殊的程序运行标记,来收集性能数据。PPr…...

计算机网络传输层知识总结·

传输层提供的服务 传输层的功能 ●传输层提供进程之间的逻辑通信,即端到端的通信 ●复用和分用 ●差错检测(首部和数据部分) ●面向连接的TCP和无连接的UDP 端口的作用 ●端口标识的是主机中的进程 ●硬件端口是不同…...

vue使用ant design Vue中的a-select组件实现下拉分页加载数据

<a-form-model-item :labelCol"labelCol" :wrapperCol"wrapperCol" prop"equipmentTypeId" label"所属设备种类"> <a-select v-model"model.equipmentTypeId" popupScroll"handlePopupScroll" placehold…...

精准突击!GitHub星标103k,2023年整理1658页JAVA秋招面试题

前言&#xff1a; 现在的互联网开发岗招聘&#xff0c;程序员面试背八股文已经成为了不可逆转的形式&#xff0c;其中一个Java岗几百人在投简历也已经成为了常态&#xff01;更何况一份面试题动辄七八百道&#xff0c;你吃透了&#xff0c;技术只要不是很差&#xff0c;面试怎…...

GEE:基于GLDAS数据集分析土壤湿度的时间序列变化

作者:CSDN @ _养乐多_ 本篇博客将介绍如何使用Google Earth Engine(GEE)进行土壤湿度数据的分析。我们将使用NASA GLDAS(Global Land Data Assimilation System)数据集,其中包括了关于土壤湿度的信息。通过该数据集,我们将了解土壤湿度在特定区域和时间段内的变化,并生…...

Nacos安装

Nacos安装 1.Windows安装 1.1.下载安装包 在Nacos的GitHub页面&#xff0c;提供有下载链接&#xff0c;可以下载编译好的Nacos服务端或者源代码&#xff1a; GitHub主页&#xff1a;https://github.com/alibaba/nacos GitHub的Release下载页&#xff1a;https://github.co…...

UE4和C++ 开发-C++与UMG的交互2(C++获取UMG的属性)

1、...C获取UMG的属性 1.1、第一种方法&#xff1a;通过名称获取控件。 void UMyUserWidget::NativeConstruct() {Super::NativeConstruct();//通过名字&#xff0c;获取蓝图控件中的按钮引用。CtnClic Cast<UButton>(GetWidgetFromName(TEXT("Button_44"))…...