测试行业工作4年了,从只会“点点点”到了现在的测试开发,年薪30W+,还好当时没有放弃

向上的路很难走,但一旦踏上去,每一步都算数!

为什么转型为测试开发?

不懂开发的手工测试是新时代“文盲”
 
在移动互联网和大数据时代,为满足市场和业务需求,互联网应用既要实现产品功能快速迭代,又要高效保障数据安全和软件质量。这就要求 IT 研发团队必须具备持续交付的能力,而在测试这个环节,就意味着必须拥有自动化测试、持续测试和质量监控等能力,因此对测试从业人员也提出了更高能力要求。
 
只会点点点,不懂开发的手工测试已经无法胜任互联网测试技术体系“质量第一,效率为王”的要求,成为 IT 新时代的”文盲“。一方面,手工测试在工作中已经没有太大的晋升空间,另外也很难跳槽。尤其在经济下行,减员增效背景下,手工测试更是首当其冲,承受着各种“中年危机”、“人员优化”和裁员压力(在 TesterHome 社区能经常看到各种热门贴)。而受疫情影响,大部分中小企业经营状况愈发艰难,随着经济和就业形势变得更加严峻,恐怕新一轮的测试裁员潮在所难免!

测试开发人才紧缺,迎来黄金时代

目前 BAT、TMD 等一线互联网企业已几乎不再招募传统手工测试工程师,而只招测试开发工程师。部分功能测试任务会交给在校实习生、应届毕业生,其余则交给兼职众测和外包测试人员。而外包测试公司通常人员技术水平差,流动性高,普遍无法满足高要求,也急需变革升级。这只是测试行业在过渡期的“权宜之计”,未来的测试团队架构一定会是“测试开发工程师主导 + 少数测试专家 + 测试经理”的管理模式。
 
而由于当前测试开发人才紧缺(粗略统计,目前优秀的测试开发工程师占比预估仅为 1% 左右),市场上可谓高薪溢价,一将难求。一个优秀的测试开发工程师可能会同时拿到 4、5 个 BAT、TMD 大厂 Offer(年薪 30W+ 起,年薪 100W+ 也大有人在),薪资待遇甚至超过同级别研发岗位。
 
与此同时,测试开发技术正迅猛发展,各种新技术新应用层出不穷。以 BAT、TMD 为代表的互联网企业都在普遍落地自动化测试、全链路压测、精准化测试、大数据测试、AI+ 测试等等,更多优秀的互联网企业也在奋起直追。
 
可以说,现在就是转型为测试开发工程师的黄金时代!而能否在行业变化中把握住新的历史机遇,就看你是否做好了准备!

目标明确,测试开发必备技能与成长路径

1.软件测试理论知识
这个对软件测试人员来说是必备的。其中包括软件测试基础理论和方法,例如:软件生命周期、测试用例编写方法、软件测试原则、软件测试管理相关技术、软件各个阶段评审、软件测试计划编写、软件测试过程管理、软件验收、软件测试整个过程等一些文档规范。
 

2.语言基础

这部分内容,可以选择从Java或者Python入门,或者其他编程语言。当然,也要看自己是适合Python还是Java,我个人推荐先入门Python,然后再去学习Java,认真学习一个月足够。第二门语言,一个礼拜就可以入门,很多思想和语法其实是相通的。
 

3.手动到自动

这是一个比较痛苦的过程,有些人天天看语言基础,却不知道练习的方法,导致一直入不了门。个人建议是在学习了一种语言之后,一定要找一个案例去练习,熟悉这个语言的基本使用。也可以结合Selenium去学习Web自动化测试。通过脚本编写,有助于你提高语言基础知识的理解和运用。在练习自动化脚本过程中,你会收获很多快乐,让你找到学习的乐趣,从而提升学习效率。
 
 

4.自动化脚本开发

在手动转自动之后,就需要大量的练习,如果Selenium自动化脚本开发,你起码要完成100个自动化测试用例,你需要对seleinum达到熟练使用的地步。以及快速写出自动化测试用例。
 
 
5.了解和接触框架
这里的框架,是指自动化测试框架,不是指开发用到的框架。继续深入研究Selenium和一些自动化测试框架的知识。例如,什么是框架,框架解决什么问题,框架组成组件有哪些等。
 
6.常见设计框架设计
前面我们有了POM设计框架的思想,接下来我们要学习数据驱动框架,关键字驱动关键,混合测试框架,还有行为测试驱动框架。
 
7.Linux和数据库
自动化测试进阶到一定深度,也需要用代码连接数据库去进行测试,linux和shell脚本,测试环境也会接触到。如果要做自动化部署和运维,常见的linux和shell脚本是有必要学习的。这部分内容,可以看linux和shell脚本入门系列的书来学习。
 
8.完全掌握一门编程语言
这个可以和写小程序结合在一起去学习和实践。如果你选Python,你可以学习Django框架进行开发一个web或者一个博客。如果是Java,你需要学会web开发入门,尝试去了解Java三大web框架,优先学习SSH
 
下面是我整理出来的一份软件测试工程师学习与发展知识架构体系图。

配套学习

 
最后感谢每一个认真阅读我文章的人这些文档,对于做【软件测试】的朋友来说应该是最全面最完整的包括了很多测试行业常见知识,可以点至公告处查看右边侧栏

对你自学的叮嘱

自动化测试的学习,相比功能测试而言,门槛更高,学习难度更大。
 
对于需求中业务转化为代码的过程有难度,需要具备对应语言的编程思想,还需要投入大量时间的练习积累才具备代码实现自动化的能力。
 
在实际学习自动化的过程中,除了需要理解原理外,还需要和同行进行沟通,能够快速的提升技能经验,同时也比自己专门研究学习效率更高。
 
故而,对于自动化测试的学习来说,如果有一定基础,并且自律性好,可以选择工具或者代码实现自学;若自动化测试自学困难,也千万不要放弃:
 
若真自学不下去,另一种学习方式是参加专业的自动化测试培训,能够提供多类型的项目,并且能够直面来自于企业级的老师面对面的指导和交流。

从自动化测试进阶测试开发,拿到了30k(基本人生颠峰)

这个时候我已经掌握至少一门开发语言,并能熟练应用,能够客服团队碰到的技术难题,能够设计完成测试框架,并指导测试人员实施,能够对行业带来较大的影响,当然进阶的过程也没有这么顺利,我大概在自动化测试这个层次沉浸了4年时间,且最近一两年才转型测试开发,关于测试开发需要学习那些内容,我也一一陈述出来
 
性能和自动化玩精通,月薪在15k起步甚至是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持续交付;
说了这么多,希望你能转变一下心态。
 
你不去找一找,你就不知道自己有这么多机会
 
你不去逼一逼,你就不知道自己潜力有多大
 
你想改变,就趁现在!所以~加油吧,打工人。
posted @ 2021-12-01 19:16  乐却思蜀  阅读(553)  评论(0编辑  收藏  举报