软件测试工程师需要学什么?
功能测试工程师——自动化测试工程师——性能测试工程师——性能测试工程师——测试开发——测试架构师
因为你刚出去的话,肯定都是从功能测试开始做,然后我们学习了相关自动化测试技术之后,就可以跳到自动化测试工程师岗位,再有呢性能测试工程师,做到性能之后再去做测试开发,再就到测试架构师。
功能测试工程师
我们想要成为一个功能测试工程师的话呢,你所具备这些技能就OK了
我会写测试用例,懂测试理论,懂测试流程,知道提交bug,跟踪bug,会写测试报告。
你会这些东西就可以去做一个功能测试工程师了。
![](https://upload-images.jianshu.io/upload_images/24361498-2b34722c98770ca0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
那么在功能测试工程师的基础上,想要达到一个自动化测试工程师,第一个你想成为一个自动化测试工程师肯定是在功能测试工程师的基础上。
自动化测试工程师又分为UI自动化接口自动化
UI自动化常见的又分为两种一个是WebUI自动化,第二个是AppUI移动端的自动化,
这个方向我们首先需要懂编程,不管你是Python还是Java,还是PHP……至少你要懂一个编程语言,
第二个我们还要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。
比如说做WebUI自动化的话,我要懂Selenium+unittest
做AppUI自动化的话,我要懂appium+unittest或者appium+unittest
第三个是工具,比如说我要去进行web自动化是不是我要去进行自动化测试环境搭建,环境工具。比如说去安装Python安装,这些环境安装。
至于AppUI自动化,除了上面的一些技能还要会比如说adb的命令,app的环境,app的压力测试之类的。
![](https://upload-images.jianshu.io/upload_images/24361498-05564a041d5a667d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/24361498-ab92b3c055b0ffd7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这些是UI需要提升的一些技能。
接口自动化
接口测试其实也是一种功能测试,但是它并不等于功能测试,因为对于接口测试的话也分为
1.接口功能测试(需要借助工具进行测试)
2.接口压力测试
3.接口安全性测试
而且接口的功能测试是需要借助工具来完成,因为你不可能通过手工点点点去进行接口功能测试,所以说接口测试一般分为自动化测试的一个范畴,你如果把接口测试认为是功能测试范畴也可以,不是说不行。
工具的话就有比如:
Postman、Jmeter
抓包的工具fiddler
然后它的一些协议
框架
进行接口测试的话肯定也是需要去做一个接口的框架,requests
有一些公司的话呢,他不要你去用工具而是让你去用框架。
![](https://upload-images.jianshu.io/upload_images/24361498-fbb78df7eabe41d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
你想从功能往自动化测试方向走,上面的东西都是你需要学习的。
至于说你在自动化测试工程师阶段还想往性能测试方面去进行发展,要求就会更多了,其实性能也是一种自动化 。
所以第一个你也必须要掌握一门编程语言,第二个语言脚本,第三个指标,第四个调优。
性能测试执行的过程中,脚本的生成,场景的设计,资源的监控,这些东西都是要会的。
调优的话就有很多内容了,比如说脚本调优会涉及到一些算法之类
数据库,环境调优会涉及到数据库优化的操作,涉及到周边的功能就更多了
服务监控以及资源的调优,性能大部分服务器都是Liunx,这一块你就有需要具备Linux的知识。
![](https://upload-images.jianshu.io/upload_images/24361498-8d2cfdd93eeac41f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
随着我们技术不断的提升,你所需要具备的这些技能也是越来越多的,越往后面走工资越高,跟你掌握的技术是息息相关的,你拥有的技能越多你的薪资也就会越高。
也来简单讲一下管理方向
测试工程师——组长——主管——经理——质量管理
![](https://upload-images.jianshu.io/upload_images/24361498-51336450e213705e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)