自学时间长短需要根据你个人的实际情况来看,有人三个月就能学成,有人学一年也没学出来个好歹来。每天学习多久,学习的是哪些视频课程,自己掌握能力都决定了你到底要学习多长时间。系统的培训基本是在3个月,那么自学就要相应的时间长点了。
至于好不好找工作,要看你学的怎么样,如果只是学会了简单的点点点,那必然是不好找工作的,打开任意软件测试的招聘需求,都可以看到企业的招聘基本要求要会自动化测试/Python/性能测试的人才。
互联网不倒,软件测试就不会消亡
我们先来聊聊软件测试会不会被取代,在2016年左右,阿里搞过一次全栈工程师运动,一项很重要的环节就是“去掉测试岗”。测试工程师必须转岗做开发,而不管是后端还是前端,所有人都必须掌握测试技能,最后该运动以失败告终。
通过这个事件,小编想说,阿里这种大厂聚集了大量高水平开发人员,都失败了。可见,小厂若想继续想维持开发团队,去掉或者替换掉测试岗那更是痴人说梦。这充分说明,只要互联网不倒,软件测试就不会消亡。
所以,2023年软件测试还值得入行吗?答案是肯定的。毕竟,优秀的人才什么时候都是紧缺的呀!因为现在企业需要的是自动化测试人才和测试开发人才!前些年的手动测试员早已不能满足企业现在的发展需求。
测试行业的发展规划
第一阶段:初级测试工程师
一般刚刚入门,熟悉基本的测试流程,入门薪资一般在6000-8000元之间。
具体工作是:
(1)按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
(2)具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术
第二阶段:中级测试工程师
初级测试工程师积累1-2年工作经验后,可逐步发展为中级测试工程师,一般月薪能达到8K-15K
之间。
具体工作是:
(1)编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。
(2)项目完整流程和整体质量把控介入、和开发高效沟通以及关系处理
(3)能够在项目中合理利用测试工具来完成测试任务。能够独立编写自动测试脚本程序并担任 测试编程初期的领导工作
第三阶段:高级测试工程师/测试组负责人
一般拥有3-4年测试经验,可以对初级测试工程师指导工作,一般月薪可以达到15-25K左右。
高级测试工程师具体工作是:
(1)帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。
(2)熟悉产品代码和产品整体架构设计,项目整体流程体系改进
(3)参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当 顾问。
(4)了解自动化持续集成并能进行系统运用
测试组负责人:
除了技术上需要达到高级测试工程师的水平外,同时在管理上有额外的要求:
(1)设计测试计划及进行测试项目的管理
(2)项目及测试流程和工具的选择及优化
(3)担负一些进度安排和工作规模/成本估算职责
第四阶段: 测试专家/测试经理
一般有6—10年经验的测试工程师,薪资在30K-50K之间。
测试专家一般是在性能、或者安全、或者测试开发方向等特定领域有技术专长的测试人员,具体
工作是:
(1)性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等
(2)分析系统的安全漏洞等
(3)自动化持续集成体系建设等
而测试经理的工作重心主要在管理方向,具体工作如:
(1)负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。
(2)负责团队测试项目的质量及控制。
(3)构建测试团队及进行测试团队的管理
软件测试是一种入门起点较低、上手迅速、且发展空间比较大的职业,因此,对于很多学生而言,作为进入IT就业的初级岗位,是非常合适的
一旦选择之后,就需要坚持下去,此时可以给自己一个长期的目标。
软件测试后期选择方向
对于刚刚入行的新人,这个时期是一个全面熟悉期,最能够学习到新的知识,也最有拼搏的热情和动力。建议大家可以借着这股冲劲,尽可能了解所在领域的全貌,了解各个主要分支的内容、特性、优势、局限性等等,并考察自己当前的工作环境,结合个人匹配程度和兴趣爱好,根据前述内容调整自己的规划。
对于测试行当而言,技术方面一般有几类:黑盒测试、白盒测试、自动化测试、测试工具、专用业务技能等;相关的管理方面一般有:测试管理、质量管理、项目管理等。
面对上述形形色色的方向,建议大家可以都稍稍了解下内涵,然后确定1—2个,作为中长期的主攻方向,达此标准,基本已经实现了入门,至于能否进得厅堂,就要看后期的努力了。
升华阶段(老手后5年—10年)
正因为有前期的细节的背景的支撑,此时,你需要努力提升自己的宏观把握能力。当然,一般人是技术做得越好,管理的时候,越容易切中项目要害。但是,对于从技术上来的人,关键是要开始培养和人打交道的能力。此阶段的关键是,需要逐步形成自己的管理风格,具备协调并行事务的能力。
这个阶段,也可能少数的人会选择离开具体的企业,而开始从事测试咨询,那是一个充满挑战的崭新开始,也必须有前期的积累方能胜任。
提高阶段(入门后3年—5年)
对于入门后选择管理还是选择技术,关键是看对自己的长期的定位了。不过,建议当前阶段还是技术为重吧。毕竟,在一个技术环境中,要做好管理,必须要有扎实的基础。
本阶段是人最容易懈怠的阶段。毕竟,刚刚入行的热忱早已被日复一日的繁复工作给冷却,有了一定的工作经验,胜任本职,对于大多数人而言,绝不是问题。家庭、娱乐方面开始占据了业余生活的主流。可是,毕竟大家还很年轻,大多数人此时也不过20多岁,就此懈怠也是非常可怕的。因此,有规划的提高自身核心竞争力,在这个时候尤为关键。
对于选择做技术的人而言,这个阶段的达成标准,一般至少要能够熟悉你所选技术方向的大多数技术细节,“细节决定成败”嘛,虽然把握全局的能力是必要的,但是作技术而言,倘若不能钻的很细很深,恐怕也很难以高手自居吧。
对于选择做管理的人而言,建议是:此阶段接触管理的理念,并可以介入管理,但是此阶段不宜全面进入管理。学习管理的理念是非常重要的,其实管理更多一种思维和做事的方式,这门学问很深入,也不像技术,会不会是那么的显著,因此,建议多看多学,取长补短,并努力形成自己的做事风格。高级软件测试工程师,测试组长等,都是不错的含有技术特征的管理职位,此时的你应该能够胜任于此。
测试工程师—软件质量守护者
种一颗树最好的时间是10年前,其次是现在!
原地徘徊一千步,抵不上向前迈出第一步!
尝试改变自己和未来,你的人生永远掌握在自己手中!
改变命运,软件测试是你进入IT行业的最佳快车道!
技术上的一点帮助
最后分享自己整理的【备战资源库】,基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!【点击文末小卡片免费领取】
一、软件测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
同时,希望大家能照着这个体系在1-2年内完成这样的一个体系构建。
这个过程会让你比较痛苦,但只要你熬过去了,后面就轻松很多。万事开头难,你只要迈出了第一步,就已经成功了一半了,等到成功之后再回顾这一段路程时,你一定会感慨良多。
合理的利用每一分每一秒的时间学习来提升自己,不要再用"没有时间“的理由来掩饰自己思想上的懒惰!趁着年轻,使劲拼,给未来的自己一个交代!