从两种不同的路径发展来看:
1、管理路线?测试工程师?中级测试工程师?测试主管
2、技术路线?软件测试工程是?中级测试工程师?高级测试工程师?测试专家?测试总监
软件测试每个阶段有不同的要掌握的技术和经验,先按照薪资范围划分下(月薪)
·5-9K:零基础入门,学会功能测试能够找到工作
· 15-25K:测试在职能搞定性能测试和自动化测试
· 25K+:搞定测试开发,在一线大厂工作
每一个阶段的侧重也不同,入门到找工作的阶段肯定是以能就业为主,性能和自动化测试是在技术基础上有行业经验。进入一线大厂的话需要技术过硬的基础上有管理能力;
一、软件测试职业发展的前景
二、 入门阶段
如果你是一个即将转行,或者是刚毕业的同学想要进入测试这个行业,那么必要掌握的是基础的理论知识:
· 软件测试的定义、生命周期、工作流程、需求分析;
· 测试用例的设计、编写、评审;
· bug的基本知识以及禅道的使用;
· 测试计划、测试报告的编写;
· SVN、Git版本控制工具的使用;
上述内容相关的理论知识搞定之后,还需要找一个项目进行测试一下:
· 发布项目进行立项,建立项目组进行分工;
· ?需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
· 整理测试点,编写测试用例,然后进行用例评审;
· 执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
· 分析、总结、编写测试报告;
这个流程完整的顺一遍之后,只能算是掌握基本的测试流程了,但是还不够找一份工作,还需要学习:
Linux、数据库、接口测试、APP测试等
以上这些内容,就可以开始写减了,然后找到一份相关测试的工作。为什么大家都是掌握这些内容但是每个人的工资不一样?这也分城市/公司/学历。
三、性能、自动化测试
· 性能测试的概念和流程:常见问题剖析、流行工具、方案设计
· 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
· 性能监控:性能监控体系与监控数据采集
· 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
· 性能分析与报告:jvm调试与系统调试;性能瓶颈分析
四、测试开发冲击大厂
在性能和自动化学通了之后,可发展的两条路是技术专家或者是管理岗。但是这两个岗位都需要既继续精进技术。
· 完善测试技术体系: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,白盒能力,测试的监控能力,往架构方面发展。
六、业务分析能力
1.了解业务流程:这个不了解是根本无法进行测试的
2.分析被测业务数据:懂数据的来源以及预测,才明白软件的数据库架构
3.系统架构:什么语言开发,用的什么服务器等
4.分析业务模块:比如首页、注册页面...
5.分析测试需要的资源:需要几台电脑,几个手机,手机是什么系统,什么型号
6.分析测试完成目标:并发达到多少,cpu占用率不能高于多少?内存占用不能超多少?
以上内容知道的越多,测试的思路就越清晰。如果你还能发现隐形问题、连带问题,问题隐患等等,并且可以给出问题的解决办法,就完全称得上是优秀的测试工程师。
作者:佚名