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,也支…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
