阿里在职5年,聊聊测试工程师如何进阶(自动化、性能、测开)

1443 篇文章 68 订阅
1438 篇文章 113 订阅

功能测试(所谓“点点点”)在行业中基本能拿到15k左右的薪水,但是你不可能一直点。入行3年后,你需要拥有不止点点点的技能,否则出去面试,你会就会感受到竞争者给你带来的压力,你需要拿出更高级的技能,在这个越来越卷的测试行业,持续学习是一门必修课。学什么,如何学,每个人有每个人的看法,在这里,我从个人的角度来谈谈。

自动化测试,性能测试,测开。相信每个人或多或少都听过这些词汇,对于刚入行的测试工程师来说,这些词汇都具备非常大的诱惑力,因为它代表更高的技能水平,代表更好的薪水,也是个人标签的认定。这三个词汇到底代表什么含义。这里需要好好的来解释一下。

 

自动化测试:

自动化测试可以理解为先用工具或者代码编写好可运行的测试脚本,一键执行。执行完成后会有测试结果出现告诉你成功了多少,失败了多少。自动化测试的意义是减少重复的人力劳动,一般是业务稳定之后,用来做回归测试,模拟手工测试的过程。但不能说自动化是万能的,它不能代替手工测试。而且属于前期消耗人力的一种测试行为,需要测试人员去维护和更新脚本。

放一张自动化测试的测试报告,从报告中可以看出当前自动化测试的结果:

当前行业内的自动化测试主要分为Web端的UI自动化(浏览器网页),APP端的UI自动化(移动app),接口自动化。UI自动化主要是模拟用户在网页上的操作行为,比如点击按钮,填写内容,主要测试对象为网页。接口自动化是模拟网页调用后台接口的行为,测试的对象主要为服务端接口。

下面分别来介绍自己接触的工具和框架。

  • Web端UI自动化框架介绍,排名分先后:
  1. Python+selenium+unittest,行业内的主流UI自动化框架,python语言简单易懂。学习起来非常容易上手
  2. Java+selenium+TestNg,以java语言为主的UI自动化框架。和上面的区别主要是编程语言的区别。
  3. python+RobotFramework,在测试行业有一定的比例,关键字驱动进行的自动化。robot为可视化的工具,引入selenium包后即可进行UI自动化。
  • APP端的UI自动化工具介绍,排名分先后:
  1. Python+Appium+unittest,行业内的主流自动化框架,python语言简单易懂。学习起来非常容易上手。
  2. Java+Appium+TestNg,以java语言为主的自动化框架。和上面的区别主要是变成语言的区别。
  • 接口自动化框架介绍,排名分先后:
  1. python+unittest,接口测试不借助第三方包,所以纯代码即可实现,python语言简单易懂,加上python自带的unittest断言工具即可实现接口自动化。当然,现在python+pytest也是非常火了。更建议学习。
  2. Java+TestNg,java语言的自动化框架,TestNg为java自带的断言工具。
  3. python+RobotFramework,robotframework为可视化工具,引入python requests包,可以实现接口自动化。
  4. Jmeter+Ant,此工具行业内一般用来做压力测试工具,但是也可以做接口自动化。优势为可视化工具,学习难度成本低。

补充一下:自动化测试不可缺少Jenkins,所以以上的自动化都是要结合Jenkins去运行的,所以Jenkins也是必不可少要学习的。

性能测试:

性能测试主要解决的是测试公司的当前服务器(Linux操作系统)能力如何,保障服务器能满足XX的压力,发现服务器当前的瓶颈和解决方案。公司里专职的性能测试并不多,专职的性能测试一般在对外服务的公司里(公司卖服务)以及大公司(用户量大,交易量大)居多。创业公司,普通公司一般不会做性能测试。

性能测试工具介绍:

  • Jmeter:行业内开源的工具,易上手,扩展性强。学习者需要学习jmeter常用组件用法,脚本的编写。
  • loadrunner:历史主流工具,会逐渐被jmter取代。

学习建议:学jmeter即可,工具会用不代表会了压力测试,仍需要学习常用压力指标比如:TPS、错误率、90%平均,常用的Linux监控命令比如:top、vmstat。可视化工具比如:influxdb。性能测试是一门高深的测试内容,需要熟悉Linux服务器相关知识,还需要了解运行在服务器上的应用原理。初学者只能学个皮毛,需要在公司内实践才能逐渐提升。

测试开发:

测试开发这个词可以解释为既要会测试,又要会开发。测试开发在公司里主要的职责为开发方便测试的系统用来提升测试和工作效率。我就在公司里开发了一个用于流程管控的系统,将提测,上线的流程系统化。然而大多数公司是没有测试开发岗位的。因为对测试的技能要求高。但是测试开发的薪水都普遍很高。下面介绍测试开发学习路线。

  1. 前端知识:html、css、js、vue,既然要做系统,前端知识一定不可或缺。
  2. 后端知识:以python为主的开发框架,比如flask,Django。以java为主的开发框架,比如springboot。
  3. Linux知识:你需要将系统部署到Linux系统,所以Linux系统是需要非常熟悉的,可不是简单的那些Linux操作命令。
  4. 数据库知识:开发系统,数据库知识也是必不可少,建表,sql语句都是要去要会的。
  5. 其它知识:以上学习过程中需要的其它知识,比如maven,docker等

学习是一件比较枯燥的事情,为了钱包鼓鼓,冲鸭~

很多测试同学虽然也意识到自动化的重要性。但由于技术基础薄弱,缺乏系统性学习和过来人的指点,又缺少全流程的实战演练环境,很难在短时间内自学成才达到企业的用人要求还有不少同学卡在编程语言/基础自动化测试技术这一关,更不用说掌握高级自动化实战思维和经验并灵活应用了。

自动化测试学习建议

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以文末免费获取网盘链接。希望会给你带来帮助和方向。

一、先学习一门编程语言,建议python

二、Python自动化测试框架应用

三、自动化测试篇 - Web UI 自动化

四、自动化测试篇 - 移动端UI 自动化

五、自动化测试篇 - 接口自动化测试

六、自动化测试篇 - 持续集成Git、jenkins、Docker

七、自动化测试篇 - 性能测试LoadRunner、jmeter、app性能

八、自动化测试篇 - WEB安全测试、渗透测试、漏洞扫描

九、自动化测试篇 - RobotFramework、AirTest

10、测试开发篇-自动化测试平台开发

11、互联网高薪测试拓展知识、Redis、MongoDB、Nginx集群实战

上面就是我为大家整理出来的一自动化测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

送给大家一句话:

让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!

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

上面是我整理的配套资源,这些资源对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值