1、测试工程师发展路径
从两种不同的路径发展来看:
管理路线:测试工程师?中级测试工程师?测试主管
技术路线:软件测试工程师?中级测试工程师?高级测试工程师?测试专家?测试总监
软件测试每个阶段有不同的要掌握的技术和经验,先按照薪资范围划分下(月薪)
7-10K:零基础入门,学会功能测试能够找到工作
15-25K:测试在职能搞定性能测试和自动化测试
25K+:搞定测试开发,在一线大厂工作
每一个阶段的侧重也不同,入门到找工作的阶段肯定是以能就业为主,性能和自动化测试是在技术基础上有行业经验。进入一线大厂的话需要技术过硬的基础上有管理能力;
2、入门阶段
如果你是一个即将转行,或者是刚毕业的同学想要进入测试这个行业。
那么必要掌握的是基础的理论知识:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;
上述内容相关的理论知识搞定之后,还需要找一个项目进行测试一下:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;
这个流程完整的顺一遍之后,只能算是掌握基本的测试流程了,但是还不够找一份工作,还需要学习:
Linux、数据库、接口测试、APP测试等;
以上这些内容,就可以开始写减了,然后找到一份相关测试的工作。为什么大家都是掌握这些内容但是每个人的工资不一样?这也分城市/公司/学历。
3、性能、自动化测试
性能测试的概念和流程:常见问题剖析、流行工具、方案设计
性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
性能监控:性能监控体系与监控数据采集
性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告:jvm调试与系统调试;性能瓶颈分析
4、测试开发冲击大厂
在性能和自动化学通了之后,可发展的两条路是技术专家或者是管理岗。但是这两个岗位都需要既继续精进技术。
完善测试技术体系:Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础:
web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
docker容器技术:docker容器、docker镜像;
持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;
5、核心竞争力
其实我们到招聘软件上就可以清晰的之后,首先我们要掌握的就是编程语言。稍微高一点薪资的岗位都要学会语言基础,如果可以的话,建议两门都掌握。
其次就是自动化方面的能力,UI自动化、接口自动化,持续集成持续交付这就是核心能力。
再晋升就是持续交付、Devops,白盒能力,测试的监控能力,往架构方面发展。
6、业务分析能力
了解业务流程:这个不了解是根本无法进行测试的
分析被测业务数据:懂数据的来源以及预测,才明白软件的数据库架构
系统架构:什么语言开发,用的什么服务器等
分析业务模块:比如首页、注册页面…
分析测试需要的资源:需要几台电脑,几个手机,手机是什么系统,什么型号
分析测试完成目标:并发达到多少,cpu占用率不能高于多少?内存占用不能超多少?
…
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
每一次失败都是为了下一次的成功铺垫,只有经历过无数次失败,才能获得最后的成功。所以,不要怕失败,要勇敢地迎接挑战。
生活的真谛不在于拥有多少财富和地位,而在于你是否为这个世界做出了一些贡献,让这个世界因你的存在而变得更加美好。
一个人的力量虽然渺小,但如果每个人都尽力去做,世界将会因此而改变。让我们携手共进,为建设更美好的明天而共同努力!