身处职场之中,犹如逆水行舟不进则退,想要不被后浪拍死在沙滩上,就要不断学习新知识,接受新事物。
要得到更好的发展,就要紧跟发展趋势,不断转型才能保持竞争力,在职场中占有一席之地。
转型不是一件容易的事,涉及到转型、革新,就要突破现有的框架,必然会经历阵痛。
我刚工作时就是一名月薪4000软件测试工程师,经历过几次转型,才成为24K的测试开发工程师,本文就将我的经历分享出来,供大家参考。
转型的过程需要经历5个步骤:
1. 认识到转型的必要性
作为一名软件测试工程师,每天做的都是点点的工作。说实话没有什么技术含量,被替代性很强,我所做的工作换一个新人,培训下也能很快上手。
加上工作几年后,积累了经验和技能,就不想再干手工测试,想要脱离点点的工作,就需要转型,去做有技术含量的工作,追求更宽广的发展前景。
2. 了解目标职位的工作内容和技能要求
转型不是盲目的,首先要了解目标职位的工作内容和技能要求。我就去招聘软件上搜索目标职位 JD ,根据上面的要求,学习知识,掌握相关技能。
最开始我转的是自动化测试,后来转为了测试开发。
对应的学习路线
我按照薪资的不同大致划分成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处理、认证体系;
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036
第三阶段:月薪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,出去面试时先看看自己复习到了哪个阶段就好。
3. 学习编程语言和自动化测试工具
不管是自动化测试工程师还是测试开发,都需要具备编程技能,也要会使用自动化测试工具。
转型测试开发,很多人选择的开发语言是python,语法更接近于自然语言,容易上手。我也是这样,先学习的 python后来转的 java,只要学会一种,在学其他的语言就会很快上手。
而且不同公司用到的语言会不一样,公司用那种就学哪种,不要太局限自己。
自动化测试工具,主要是学习 Selenium和 Jmeter,还要学习Appium,三个工具分别针对的是web测试、性能测试、App测试。
实际上在大厂,工作中很少会直接使用开源工具,都是开源的基础上做二次开发,或者根据业务自己开发新工具。
开源工具的二次开发对编程技能有很高的要求,所以,转型测试开发,练好编程技能非常重要。
4. 理论结合实践
学习过理论知识之后,也要用所学知识进行实践。我刚开始工作,全是手工测试,我就找工作中有哪些步骤是可以优化的,试着将其自动化。
也要多看看外部的机会,争取找到一个可以在工作中写代码的机会,我也是经过两家公司才找到。
知识越用记得越牢,要多用,没有条件创造条件也要用,只要想做某件事,就没有什么能够阻拦你。
5. 不断提高自己的技能和能力
就想文章开头所说,想要保持竞争力就要不断学习新知识和技术。
我在转型过程中也学习了测试开发课程,有时间就去参加技术交流会,也会看开源代码。
即使现在在大厂,每天也没有间断学习,作为测试开发,一定要同时具备技术广度和深度,要让自己更加专业。
转型是一个必然要经历阵痛的过程,坚定转型的信心,积极学习新的知识和技能,多实践多总结,不断提升自身的能力,坚持下去就一定能转型成功。
END绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
获取方式 :