测试人生 | 三十而已,何需惧怕!年薪40W+涨薪幅度超40%

2023-10-14 05:40

本文主要是介绍测试人生 | 三十而已,何需惧怕!年薪40W+涨薪幅度超40%,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于我,普通二本,非计算机专业,培训出身,北漂,五年多的工作经验,做过外包,中间有过频繁的跳槽经历,手工点点点为主,最近确认了新Offer,远程办公,涨薪幅度40%+,年薪大概40w+。我知道这个薪资横向对比其实并不算高,说实话离自己的期望也还差了一些,能力不足是一方面,另一方面是薪资没谈太好,有点着急了,这个后面会讲到。
虽然五年多跳槽了五次,但其实我的面试经历并不算丰富,因为每一次跳槽面试的次数都屈指可数,所以这篇文章更多的是简单回顾一下过往,同时附带一些思考和总结,或许会对后来者有所借鉴和启发,也可能全是废话。

只怪当时太年轻


就从培训说起吧,由于原生家庭以及自我认知的不足,大学时选错了专业(电气工程及其自动化)。加之少不更事,沉迷游戏(英雄联盟),不思进取。坠入爱河,不能自拔,虚度了光阴,甚至差点遗憾了终身。或许是命运吧,在大三快要结束的时候,恰好有个校企合作的培训,免费,不限专业,学分可互换,有两个方向,一个是软件开发,另一个是软件测试。
因为非计算机专业,C语言学的也不好,所以就选择了我认为门槛较低竞争较小的软件测试,大四开学告别了温柔乡从郑州去到洛阳,开始了培训。培训的内容主要就是软件测试基础、Linux,以及惠普的测试三大件。那段时间我一周的学习量可能比大学以来的学习量加起来都要多,一方面是感兴趣,另一方面是再不学毕业可能真的就失业了,原本半年的培训,我只学了三个月,一个电话面试就找到了一份实习的工作,可见测试的门槛确实很低,不过其中的努力是少不了的,记得当时像我一样去培训的有几百人,最终进到这个圈子的貌似并没有多少,并不是说那些同学差,或许人家已经在其他领域混的风生水起了,亦或者去继承家产了也不是没有可能。
之所以回顾了下这段培训的经历,是因为它改变了我的命运,让我进入到了互联网这个行业,所以我对培训这件事并没有厌恶和抵触,在我的简历和自我介绍中也都会提到。那为什么工作了几年之后,还要再次培训呢?暂且先不谈这个,先来回顾下我的外包经历吧。
上文提到我大四开学培训了三个月的软件测试,一个电话就通过了面试,当天办理完离校手续,然后买了人生第一张机票,从洛阳飞到了传说中的北京,开启了北漂。但来到北京之后才知道还要再面试,才知道外包是什么意思。三大软件测试外包公司我去过两个,第一次是博彦科技外包到新浪微博,算上实习做了一年半,第二次是软通动力外包到手机百度,做了整一年。之所以有两次外包经历,是因为中间去过一家私企,感觉并不理想,做了一个月就走了,当时没有更好的选择,无奈又做了一年。
毕竟是大厂,我想很多选择外包的同学都是看中了这一点,虽然是外包,但大厂的环境氛围和业务流程确实能带来一些不一样的体验,如果幸运的话,遇到一个好领导或同事,在技术上也能收获很多。比如我编写测试用例和使用Charles抓包,就是在新浪实习时的组长手把手教的,不过外包的工作一般都比较简单和枯燥,转正的机会和名额是相当有限的,不建议做的时间太久,否则可能会影响到以后的职业生涯,我有次走内推就被嫌弃外包经历过多,若不是朋友提醒可能都不知道为什么好端端的简历直接被Pass,所以外包虽好,可不要贪杯喔。

选择比盲目努力更重要

为了摆脱外包的困境,自学了Python,不断弥补各种计算机基础知识,构建底层知识网,学过CSS、HTML、JS等前端知识,学过Android、微信小程序,甚至学习了区块链,当然现在基本上都忘的差不多了。因为不实际去做项目,每天点点点写不了几行代码,学过的那些皮毛很容易就忘了,虽然做过大量的笔记,画过各种脑图,但转化不成自己的东西,掌握不了底层的原理,狼吞虎咽,很容易走火入魔,这让我差点放弃了测试,想过转开发,想过转产品,甚至天真的想过去创业,整个人变得越来越浮躁。
然而在生活的逼迫之下,不得不面对现实,踏踏实实做好测试才是正确的选择,移动端测试做腻了,就去做Web端,UI测试做烦了就去做接口,功能测试做累了就做自动化等等,不断地找寻新鲜感。也可以改变自己的定位,比如可以从功能测试工程师转变为自动化测试工程师,可以从测试开发工程师转变为测试架构师,你会发现测试这个职业跟开发其实是差不多的,不要把自己局限在某个标签下,不断地去探索和尝试自己擅长的领域。
但尝试归尝试,正常是不建议跳槽太过频繁的,会给人一种不稳定的感觉,但如果你跟我一样,为了摆脱外包的桎梏,多跳个几次其实也没什么,只要在面试过程中解释清楚一般都会理解的,不过最终肯定是需要有一段比较稳定的工作经历,我在前几年折腾完之后现在已经稳定工作了三年多,所以才没影响我这一次的跳槽。
这三年里,工作内容基本还是功能为主,但在闲余时间把Python重学了一遍又一遍,学一遍忘一遍,直到我开始上手做项目写框架,不断地查漏补缺,慢慢地终于算是掌握了它,基于Python+Django等搭建了测试数据构建平台,基于Python+Requests等写了自动化接口测试框架,都不是Demo,而是真正基于业务去解决问题,当你看到研发和产品都在用你写的平台,甚至还会给你提Bug和需求的时候,那种感觉是很奇妙的,会激励你去做的更好,去学习更多的东西,因而形成一个正向循环。
当然这个过程是需要付出很大心血的,尤其是身边没有人可以帮助你的情况下,我想如果早一点遇到霍格沃兹测试开发学社这样的组织,应该会少走很多弯路。因为在这里你可以随时提问,会有很多跟你一样的同行者,会有经验丰富的前辈指引,不止有方法论,还有具体的解决方案,这是大多数人更需要的东西,你只有解决了一个又一个问题,才能真正理解那些形而上学的东西,不然都是假大空。

目标明确

我在报班之前其实对那些测试框架已经有所了解和使用,而且我还有学不完的各种知识付费课程,觉得也没必要再花那个冤枉钱,毕竟一路都是自学走过来的,但犹豫对比了很久之后,还是选择了来霍格沃兹测试开发学社学习下,因为他的课程确实很系统,而且有比较多的实战项目,一节直播课下来可能比自学一周要学到的多。不过我后期因为个人琐事耽误了一些课程,到毕业都还没全看完,状态也不是很好,甚至都没来得及复习一遍,面试前也没有刷过笔试和算法题之类的,那么我是如何拿到Offer的呢?
我觉得最重要的就是明确目标,知道自己想要什么,对什么感兴趣,如果不知道,那至少应该知道自己不想要什么,对什么不感兴趣,这样你就有了方向,有了范围,有了取舍。
拿我自己来举例,我不喜欢也不想找移动端相关的测试,因为外包那两年每天面对着十几款各式各样的测试机,每一种机型的开发者模式设置和截图方式都滚瓜烂熟,还有丑到爆的定制化操作系统对我真的是一种折磨,移动端APP我真的测吐了,所以ADB以及Appium这些移动端相关的工具和框架我就可以不再去复习,问就是会,但不好意思,记不清了。那我喜欢什么呢,接口测试相关的,所以我只需要把网络协议抓包以及我自己写的接口测试框架回顾一下即可。
再比如我对区块链相关的项目和企业感兴趣,我只需要去约面这类相关的公司就可以了,其它的尽可能都拒绝,除非薪资到位,但也要估摸下自己的能力,没那个实力就别浪费彼此的时间了,正确地认识自己,合理的期望薪资,找到感兴趣的领域,化被动为主动,就是你来挑公司,而不是公司挑你了,另外我首先会考虑远程办公的,所以面试也都是远程,综合下来面试效率得以极大地提升。

还原真实面试场景

如果要具体到面试题,说实话,不同企业不同面试官不同职级不同轮次都不太一样,不过正常情况下都是基于你简历提到的那些技能点提问,比如简历写了熟练掌握Python,那就有必要熟悉下装饰器、闭包以及多线程等,再比如提到了解Ngnix,那正反向代理的区别肯定是要知道的。然后就是根据你过往所测试的业务去提问,一般会挑跟你面试岗位所要负责的业务关联性最高的,或者你最熟悉的,你需要熟悉业务的整个流程,以及底层服务的调用关系,主要考查你对业务的熟练度以及深度等。最后就是根据你写的测试框架和项目提问,比如框架解决了什么问题,涉及的模块和设计思路,难点是哪块,哪些地方还可以优化等等。
不知当讲不当讲,大概率还会有我最讨厌的一种题目,那就是假设一个场景,让你对此设计测试用例,面试官往往还会补充一句,不用太细,那样会影响面试时间,当我听到这儿的时候真心想来上一句国粹,在那短短的几秒内我真的很难设计出什么测试用例,除非它是个登录框(手动狗头),我能按各种测试方法理论给你扯出个几十条,但往往都没那么简单,或者说过于简单了,简单到这种场景我平时基本都不会写什么啰嗦的测试用例,测就完事了呗,言归正传,如果真的遇到这种问题像我一样答不上来几句,建议在反问环节请教一下面试官,不要像我一样把这茬儿给忘了,以至于现在还不会答,所以……这种题出场率真的很高,但我也只能帮到这儿了。
关于算法,在我看来这东西本质上是用来筛选那些没有实际工作经验的应届生用的,就像大多数公司卡学历一样,我们都知道学历的高低和能力并不正相关,但竞争同一岗位的人如果太多的话,终归要用某些条件来过滤掉一大批人,另外就是大厂的偏爱,而我对大厂并没有什么执念,所以也就没必要刷什么力扣之类的,而且30k以下的测开岗对算法貌似也没那么高的要求,大可不必浪费太多精力,据我所知,现在大厂在选拔人才时,也越来越反感那些张口就给出BugFree最优解的刷题选手,除了能证明他有备而来,态度还不错,其他什么也证明不了,听懂掌声。
除此之外,我觉得我的个人网站(准确的说是笔记博客)在某些时候也起到了一定的作用,曾经有大佬通过我在招聘网站遗留的博客链接,看了我写的内容,然后又找到我的GitHub给我发了真诚地职位邀请邮件,甚是惊喜,不过我没有珍惜那次机会,因为当时还没有跳槽的计划,就不展开讲了。我想说的是,尝试把自己学到的东西总结分享输出,于人于己都是好事,但我很反感那种不思考直接复制粘贴别人东西的,完全就是在制造互联网垃圾。
回到正题,当你顺利或者磕磕绊绊地通过了一面二面甚至多人同时面的技术面之后,最后就是HR面了,也就是谈薪资,文章开头提到我薪资这块没谈好,导致最后离期望差了一丢丢,郁闷了好一阵子,主要原因就是我忽略了它的重要性,以为不涉及技术压根儿就没准备,本来是视频形式的面试,耳机突然没电了,然后临时改成电话,在外面冻的哆哆嗦嗦的,面对人力同学一顿基操,很快就被绕进去了,也反映出了自己的谈判能力太差,我本身就社恐,基本每次面试都很难发挥出真正的实力来,除了怪自己也没什么好抱怨的,其实手里不止这一个Offer,不过确实是岗位匹配度很高,所以谈的着急了一些,以至于还被人力当场夸了实诚,现在想想,可谓是伤害性不大侮辱性极强。
最后我想说,测试开发工程师本质上还是测试,而不是开发,之所以要求有代码能力,是希望我们在工作中可以用它去解决问题,可以用不同的工具,或者自己创造工具,但它也只是工具,重要的是解决问题的能力。而不是使用过多少工具,所以不要陷入某个工具的细枝末节里无法自拔,遇到问题钻牛角尖儿,搞懂它们的底层原理和技术架构才是正事,比如TCP/IP模型,比如PO模式等,以上只是我个人的一些浅薄认知,仅供参考。

学习资源分享

免费获取下方网盘所有资源及面试刷题小程序!还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Pvthon编程、Web自动化测试、APP自动化试、接口自动化测试,测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

 加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!

这篇关于测试人生 | 三十而已,何需惧怕!年薪40W+涨薪幅度超40%的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/208542

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

可测试,可维护,可移植:上位机软件分层设计的重要性

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象

day45-测试平台搭建之前端vue学习-基础4

目录 一、生命周期         1.1.概念         1.2.常用的生命周期钩子         1.3.关于销毁Vue实例         1.4.原理​编辑         1.5.代码 二、非单文件组件         2.1.组件         2.2.使用组件的三大步骤         2.3.注意点         2.4.关于VueComponen

如何成为一个优秀的测试工程师

链接地址:http://blog.csdn.net/KerryZhu/article/details/5250504 我一直在想,如何将自己的测试团队打造成世界一流的团队?流程、测试自动化、创新、扁平式管理、国际标准制定、测试社区贡献、…… 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成。所以,先讨论“如何成为一个优秀的测试工程师”,

python自动化测试框架--RobotFramework

为什么需要测试框架 在测试中,经常会为了怎样做测试、使用什么测试工具、如何使用、为什么使用测试工具、使用测试工具能帮助到我们什么等等问题而纠结。当我们选择一项测试工具时,如何组织大量自动化用例;如何合理的进行初始化清除;如何批量筛选待执行的用例;如何输出清晰的测试报告,就是需要我们考虑的事情了。下面简单介绍个使用比较广泛的自动化测试框架,即Robotframework。 RF的特点 RF:由pyt