软件测试每个阶段有不同的要掌握的技术和经验,先按照薪资范围划分下(月薪)
- 5-9K:零基础入门,学会功能测试能够找到工作
- 15-25K:测试在职能搞定性能测试和自动化测试
- 25K+:搞定测试开发,在一线大厂工作
每一个阶段的侧重也不同,入门到找工作的阶段肯定是以能就业为主,性能和自动化测试是在技术基础上有行业经验。进入一线大厂的话需要技术过硬的基础上有管理能力;
一、软件测试职业发展的前景
二、 入门阶段
如果你是一个即将转行,或者是刚毕业的同学想要进入测试这个行业,那么必要掌握的是基础的理论知识:
- 软件测试的定义、生命周期、工作流程、需求分析;
- 测试用例的设计、编写、评审;
- bug的基本知识以及禅道的使用;
- 测试计划、测试报告的编写;
- SVN、Git版本控制工具的使用;
上述内容相关的理论知识搞定之后,还需要找一个项目进行测试一下:
- 发布项目进行立项,建立项目组进行分工;
- 需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
- 整理测试点,编写测试用例,然后进行用例评审;
- 执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
- 分析、总结、编写测试报告;
这个流程完整的顺一遍之后,只能算是掌握基本的测试流程了,但是还不够找一份工作,还需要学习:
Linux、数据库、接口测试、APP测试等
以上这些内容,就可以开始写减了,然后找到一份相关测试的工作。为什么大家都是掌握这些内容但是每个人的工资不一样?这也分城市/公司/学历。
?
三、性能、自动化测试
- 性能测试的概念和流程:常见问题剖析、流行工具、方案设计
- 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
- 性能监控:性能监控体系与监控数据采集
- 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
- 性能分析与报告:jvm调试与系统调试;性能瓶颈分析
性能到自动化之间需要编程语言的学习,一般都是选择Python,因为是脚本+胶水语言:
性能测试
自动化接口测试
到了这个阶段的小伙伴,可以在通过招聘软件的基础上,多多认识一些圈里的人。然后把简历也放到猎聘网等等。
四、测试开发冲击大厂
在性能和自动化学通了之后,可发展的两条路是技术专家或者是管理岗。但是这两个岗位都需要既继续精进技术。
- 完善测试技术体系:Linux、docker、shell、SQL、Python/java
- 打牢自动化测试技术基础:
- web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
- APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
- 移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
- 接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
- docker容器技术:docker容器、docker镜像;
- 持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;
五、什么是核心竞争力
其实我们到招聘软件上就可以清晰的之后,首先我们要掌握的就是编程语言。稍微高一点薪资的岗位都要学会语言基础,如果可以的话,建议两门都掌握。
其次就是自动化方面的能力,UI自动化、接口自动化,持续集成持续交付这就是核心能力。
再晋升就是持续交付、Devops,白盒能力,测试的监控能力,往架构方面发展。
六、业务分析能力
- 了解业务流程:这个不了解是根本无法进行测试的
- 分析被测业务数据:懂数据的来源以及预测,才明白软件的数据库架构
- 系统架构:什么语言开发,用的什么服务器等
- 分析业务模块:比如首页、注册页面...
- 分析测试需要的资源:需要几台电脑,几个手机,手机是什么系统,什么型号
- 分析测试完成目标:并发达到多少,cpu占用率不能高于多少?内存占用不能超多少?
以上内容知道的越多,测试的思路就越清晰。如果你还能发现隐形问题、连带问题,问题隐患等等,并且可以给出问题的解决办法,就完全称得上是优秀的测试工程师。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
|