先说一个插曲:上个月我有同学在深圳被裁员了,和我一样都是软件测试,不过他是平安外包,所以整个组都撤了,他工资和我差不多都是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这个过程才是最难的好吧。
因此,大家自己思考呀。
学习指南
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以在文末点击小卡片获取网盘链接,希望会给你带来帮助和方向。
【自动化测试学习路线】
1. 自动化测试必备Python编程内容
2. Web自动化测试基础内容
3. Web自动化测试项目内容
4. APP自动化测试基础内容
5. APP自动化测试项目内容
6. 接口自动化测试基础内容
7. 接口自动化测试实战内容
8.持续集成专项技术
9. 自动化测试框架项目技术
最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
全套资料获取方式:点击下方小卡片自行领取即可