0基础自学软件测试108天,从月薪3000到15K,我整理的超全学习指南

首先并不知道观众本身是什么情况,但是如果观众已经下定决心要入行软件测试,且对软件测试行业的发展前景有了一定了解并认可测试行业未来的发展,自己本身也对测试有浓厚的兴趣想要去钻研,那么首先在学习软件测试之前一定要提前做好3个准备:

  • 认知
  • 思路
  • 学习路线(文末学习资源分享)

一、认知准备

在开始学习软件测试之前,首先需要对行业和学习情况有一个明确的认知:

1、测试人员也是至少需要掌握一门编程语言的(如果有精力可以学习多门语言),这样不仅在日后的工作中可以帮助我们更好的理解程序设计也可以拓宽自己的职业路径。如果在一开始就认为测试人员是完全不用写代码的或是自己本身对于写代码比较抗拒排斥的,那么就需要再考虑下了。

2、你要清楚在测试行业,技术永远是你立足的根本。

3、在努力学习专业知识的同时也不要忽略多和一些行业内伙伴进行交流,比如一些学习交流群、学习沙龙、知识讲座等,很多时候朋友内推要比在各大招聘网站海投简历要靠谱的多。

4、在测试行业,学历和项目经验同等重要,英语是加分项。虽然测试行业的入行门槛比较低,但是绝大数企业对测试岗位也是有学历要求的,一般为大专及以上学历,部分企业会要求本科学历,所以对于低于大专学历的小伙帮是不建议轻易入行的。

5、学习本身就是一个长时间反馈的过程,不要期待超短时间内的速成,要保持学习的持续性。因为测试与开发不同,测试行业是比较注重经验积累的,且测试职业发展方向比较广阔,所以只要你精进自己的技术在测试行业都是会越老越吃香的,不要焦虑35岁就会失业的鬼话。

6、良好的沟通能力和技术一样重要(如图),不仅仅是在测试行业,其它任何行业都是如此。

从上面图表几位业界人士的看法总结可以看到,沟通能力是一名优秀的软件测试工程师要具有的素质和能力中被高频提到的关键词。

二、思路准备

1、在掌握一门编程语言上是选择是Java还是Python?在这个选择上其实不用过于太纠结,知识点大都是相通的,在之后的技能提升中都是要掌握的。这里建议先从Python语言开始入手,之后再学Java。

一张图带你了解Python:

2、在测试技能的专研方向上到底是选择性能测试还是自动化测试?不要被自动化测试的表象迷惑,也不要轻松的认为性能测试很好掌握,性能测试的调是个很大的难点,自动化测试在有语言基础的前提下也能上手很快。

性能测试和自动化测试对比:

总结:自动化测试更偏向于开发,但同时也需要具备测试的思维;性能测试要涉及到的知识内容更广,需要掌握的知识点很多,像高级的性能测试工程师技能水平基本跟开发架构师可以持平了。

3、对于学完之后公司的选择上,能去大公司就去大公司,特别是对于刚进入测试行业的新人们,有在大公司的工作流程经历和项目经验积累会对以后的职业发展起到很大的帮助。

4、零基础学习软件测试是自学还是培训?自学对于大多数人来说还是有一定困难的,往往有时候浪费时间还没有效果,报班培训相对要学起来更轻松一些,因为遇到问题都会有老师指导,所以会更有信心,但是不管自学还是报班培训最终都要靠自己努力。

5、在职业规划上是往管理方向发展还是技术专家?其实不管是管理方向还是技术方向,技术都是根本,其余的都是锦上添花。

软件测试职业规划(可参考):

第三个准备:学习路线准备

我按照薪资的不同大致划分成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,出去面试时先看看自己复习到了哪个阶段就好。

最后:如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到 310357728,群内会有不定期的分享测试资料。

干货分享

最后为了帮助大家迅速建立测试思维能力,早日斩获大厂Offer、掌握职场话语权,下面这份《软件测试全栈学习路线图》应该会对你很有帮助

绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

猜你喜欢

转载自blog.csdn.net/m0_58026506/article/details/129990303