工作7年了,从“功能测试”到了现在的“测试开发”,年薪35W+,分享下我的心得
前言
时光飞逝,转眼间从事软件测试已经是第7个年头了。从最开始的毛头小子到现在的独当一面经历了太多,也学习了太多知识,所幸最后结果是好的,目前在上海工作从事测试开发岗位,年薪35W+,曾就职于美团测试开发框架组,搭建过美团platuo测试框架,thrift测试框架,自动化测试平台,熟悉python3,java,vue,在多家公司从0到1搭建过自动化测试框架,保障过亿级流量服务的质量工作。今天就分享分享我的心得和我的学习路线以及我整理的学习资源
选择测试的原因
我大学学的是计算机专业,对于IT互联网行业,那也算是正统科班出身吧,大四那年就进了一家还挺大的软件公司实习,开发公司的自主产品,一个线上管理软件。所在的团队各个都是猫头鹰界的扛把子,动不动就干到半夜,我一个实习生,早走显得不够努力,只能也跟着硬熬,好在当时带我的组长照顾,让我早点下班,但其实在实习的近半年里,我也没有准时下班过。
写到这里,大家也明白了我进测试行业的原因了,因为开发界,我扛不住啊!“打铁还需自身硬”是不是?我自身条件不行,缺觉,熬不住,尤其发版前的熬夜,那惊心动魄的场面(其实后来发现,测试也一样),恕我只能知难而退。
当然后来也才知道并不是所有开发都是这样的,我那时候所在的团队,他们都非常敬业,照他们自己所言,一旦开始码代码,就进入了人码合一的境界,熬夜只是无心插柳而为之。
入门测试
进入测试界,其实也是因为之前提到的这家公司,里面一位资历比较老的同事,跳槽了,去了家规模几十号人的公司,让我毕业后去那里跟着他继续干,我说不干开发了,太累人,没想到他说那就去他那儿做测试吧,测试简单。于是我就这么同意了。
于是我毕业后的第一份工作【6k】,就是一个黑盒测试员。每天只知道机械地点点点,以至于脑子日渐白痴化,在我眼中,世界上只有两种BUG:大BUG和小BUG。除了导致宕机、闪退、死循环的BUG是大BUG,其他都是小BUG,后来在和程序员对接中,知道了fatal error、warning等等,我才恍然大悟!我怎么也是计算机专业正统科班出身,怎么能把error等级都忘记了!真是点点点给点傻了!
以前会觉得测出一个致命错误非常开心,感觉自己干了大事似的,耀武扬威去和开发炫耀,现在不这么认为了,因为每次出现这种问题,开发都要调好久,而后还得我在旁边绞尽脑汁复现问题,调试完了还得无止尽地测试,现在,我只希望少出BUG为妙。
时间久了,每天重复的点点,让我觉得自己就像是个只会机械化操作的行尸走肉,我突然意识到,这项工作毫无意义,而且太过单调,我需要进步和新的契机。
当时促使自己进步的还有一个原因,就是薪资的问题,当时我就拿着5K多块钱的工资,相比班里的从事开发的那些,确实低了点,这让我挺不好受的,感觉落人一截,会被瞧不起,就像那句歌词:生活不止眼前的苟且,还有诗和远方的白眼。(不好意思,忍不住改编了下。)
开始进阶
于是我开始寻求进步的方法,开始研究各个工具,postman、fiddle、jmeter、selenium、appium,反正网上能下的,都下了个遍,发现这些工具,用起来还都挺简单实用的,入门肯定是不在话下,同时也开始自己写代码,至少别把大学学的那些给落下,当时java试着写了写(所在团队的项目用java写的),前端的样式也试着改了改,这个很容易,浏览器F12,就可以在上面改。以前提bug只会说这个盒子的高度不对,现在我会说:overflow没有写、盒子层级z-index不对等等,总之就是,我能指出你的不足,我还能提供修改建议,这对我来说是十分有成就感的,从开发哑口无言的态度也能看的出来,我的地位一下子崇高了起来!
当然我没有急着跳槽,我开始用各种工具对我们的项目做测试,还给部门经理提了很多建议,当时经理也应该是对测试不甚了解,被我说得也是一愣一愣的,以至于后来我提出离职的时候,他毅然决然地留住了我,给我的工资翻了个倍【13k】。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!qq群号:110685036
沉淀出金
通过这么多年的沉淀和不断地学习加上管理方面的能力,我的年薪已经超过了35W+,相信这也不是我的天花版,在接下来的时间我会更加成沉淀学习,不断进步创造自我价值,说了这么多接下来就讲讲重点,
我按照薪资的不同大致划分成3个档位:
月薪5-9k:从零基础入门到能够找到工作
月薪15-25k:测试在职搞定性能测试和自动化测试
年薪30W+:搞定测试开发,进入一线大厂
第一阶段:月薪5-9k,刚刚入行,先学会功能测试!
可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux、数据库、接口测试、APP测试等
OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
会了以上这些内容,只能说是能够获得一份工作,但是现在行业招人的要求原来越高,搞定自动化或者性能测试,才能拿到10k以上的月薪。
第二阶段:月薪15-25k,搞定性能、自动化测试,独当一面!
先说性能测试,行业内是有很多误区和痛点的:
只测不调,无法给出研发和运维人员执行建议
无法定位问题,缺乏清晰的逻辑和数据证明价值
性能测试工具≠性能测试
性能测试技术体系落后(loadrunner),急需拥抱开源软件
如果要搞定这些问题,那么性能测试你得这么去学:
性能测试的概念和流程:常见问题剖析、流行工具、方案设计
性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
性能监控:性能监控体系与监控数据采集
性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告:jvm调试与系统调试;性能瓶颈分析
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。
web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;
移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;
服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系;
第三阶段:月薪30k+,对标大厂,冲击测试开发岗位!
性能和自动化玩精通,月薪在10k+甚至是20k+都是很轻松的,那如何冲击30k+呢,这就要求往技术专家或者管理层去发展了,但是即使做管理,也必要要求技术水平够硬?说做管理不需要技术精通?你试试底下的人会不会反你?
在测试开发的路线上,就要求更加专精,更加全面:
完善测试技术体系:Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础:
web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
docker容器技术:docker容器、docker镜像;
持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;
在这里,我想给想进阶的朋友们一点建议:很多时候,很多事情,并不像你想象中的那么简单,千万不要自认为简单而不愿意去做,很多东西只有你亲手去做了之后,才会发现事情并不像你最初想的那么简单。
其实自动化测试的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点了解的程度。so,出去面试时先看看自己复习到了哪个阶段就好。如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......
最后,为方便大家提升测试技能,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。