这两天和朋友聊到了软件测试的发展:这一行的变化确实蛮大,从开始最基础的功能测试,到现在自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试岗位需求逐渐增多。我也在软件测试这行摸爬滚打有些日子了,正好有朋友问我:如何快速成为互联网时代优秀的测试工程师呢?趁着最近终于有了些闲余时间,遂总结了下自动化测试的成长线路图和职业必备技能,希望可以帮助各位少走弯路、破茧成蝶、迈向成功。
下面我来分享下我的自动化测试经验及发展方向,或许能帮助你解决很多工作中的迷惑。
一、技术型路线发展方向1、自动化测试工程师
自动化测试工程师细分可以有UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等等。
那么怎么才能成为一个合格的自动化测试工程师呢。
首先,必须要掌握一门编程语言,应该以Java或者python为主,虽然什么语言都可以用来做自动化测试,但毕竟这个两个最流行嘛,如果不想成为自动化测试工程师里的非主流自动化测试工程师,那我还是强烈推荐大家选择这两门语言。
编程语言是自动化的核心,不会编程,都是白搭。然后要会主流的测试框架,和一些辅助工具。
主流的框架啊,不外乎selenium,appium,monkey,monkeyrunner之类的,基本上掌握了这个几个APP和U
自动化都可以玩的转了。
然后接口自动化的话当然各位要知道什么是接口啊,不然玩个什么鬼。
辅助工具就太多了,大家各有各的喜好,没什么是必须要会的,这里就给大家推荐几个常用的工具。
postman,接口测试工具。
fiddle,抓包工具。
navicat,数据库管理工具。
HTTPwatch,网页监测工具
uiautomator,APP元素查看工具。
等等啦。
还有什么sql,linux,IDE啊这种就不要单独说了吧,通用的知识都是必须掌握的。
相信初步掌握了这些你就可以自动化入门了,熟练掌握就基本上可以完成大多数的工作了。
2、性能测试工程师
性能测试工程师,其实我不是很推荐,因为这个很容易遇到学习瓶颈。
做性能测试简单,只要熟练使用loadrunner,jmeter等工具,基本上都可以做性能测试了。
可是为什么不推荐呢?
因为如果只需要会工具就能成为一个性能测试工程师,那这个门槛也太低了。
性能测试好做也好学,可是性能调优,这个性能测试工程师的核心,最关键的技能,学习周期太长,学习代价太高,见效太慢。
所以啊,其实就是我也不知道这个性能调优到底怎么玩。
言归正传啊,刚刚提到的那两个工具是必须要掌握的,然后C、Java也是要会的。
毕竟你不能完全依靠录制来完成脚本的编写。
然后各种协议是要掌握的,IP/TCP/UDP/HTTP/SOCKET等等。Linux就不提了,毕竟性能测试一般都是测试服务器,而服务器一般都在Linux上。
不会Linux的话,你也就最多算个玩工具的,工程师就呵呵呵了。
现在我也找了很多测试的朋友,做了一个技术分享的交流群,共享了很多我们收集的视频教程和技术文档。如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受,可以加入我们一起交流。而且还有很多在自动化,性能方面有一定建树的技术大牛,分享他们的经验,还会分享很多直播讲座和技术沙龙,可以免费学习!划重点!开源的!!!qq群号:110685036
3、持续集成工程师
如果大家关注业内新闻资讯都知道,持续集成是未来这几年软件行业的发展趋势,是一个更加高效更加能把控质量的管理方法。
要入门持续集成,需要各位小伙伴先知道什么是devops。
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
大概的概念就是这样了,详细的内容大家需要自己去查资料,毕竟这东西和敏捷一样,几句话是说不清楚的。
了解了这个东西后,技术上,需要懂代码(废话啊),服务器运维,持续集成平台CI,如Jenkins这种。
最终的一个目标就是可以实现完整这么一个平台,开发提交代码后,自动触发任务,开始编译部署到测试环境,然后自动进行自动化测试,如果通过了再自动推动到生产环境,如果测试没通过,自动回滚版本,邮件分分钟通知各个负责人哪里没通过,然后开发立刻修改。
有很多业内的小伙伴认为,devops一旦全面实行,对初级软件测试工程师的需求会大大减少。
所以啊,各位,压力山大啊!
4、测试开发工程师
其实这个没什么多说的,测试开发就是一个偏技术测的打杂的,什么都能玩一玩,既可以为测试团队开发辅助测试的工具,又可以和大家一起写自动化测试,还能帮开发coding代码!
想一想,你去给开发说,这里有个问题赶紧改,开发一甩脸色,就知道瞎BB,你行你上啊。
然后你一把推开他,抄起键盘噼里啪啦的把BUG改了,还顺便优化了下他的代码。
哈哈哈,解气不?!各位老铁,就问你6不6。
游艇、飞机还不赶紧来一波!所以啊,这个怎么入门,就是精通测试的时候顺便精通开发就行了。
如果你觉得你测试已经精通了,你就直接学开发的东西就行了,没什么特别要求的东西。
二、自动化测试的学习步骤
1、做好手工测试(熟悉测试基础)
2、学习编程语言(Python/Java)
3、学习Web基础
4、学习自动化测试工具
5、学习自动化测试框架
6、实现自动化测试用例
7、开发自动化测试工具
8、开发自动化测试框架
三、自动化测试系统学习路径
1. 自动化测试必备Python编程内容
2. Web UI 自动化测试基础内容
3. Web UI 自动化测试实战内容
4. APP UI 自动化测试基础内容
5. APP UI 自动化测试实战内容
<img class="aligncenter" src="https://img.maxssl.com/uploads/?url=data:image/svg+xml;utf8,” />
6. API 接口自动化测试基础内容
7. API 接口自动化测试实战内容
8. CI/CD持续集成专项技术
9. 自动化测试框架实战技术
上面就是我整理出来的一份自动化测试工程师技术路径图。希望大家能在这个成长过程中受益良多。全方位提升测试技术,建立一套属于自己的技术体系。帮助大家不断学习和优化技术栈,跟进先进和主流的测试技术,给到大家带来的不仅仅是技术和薪资的提升,更多的是改变测试人在IT技术领域的地位和心态,拔高测试行业的技术深度。
另特意为各位同学准备了一份13G的超实用干货自学资源,涉及的内容非常全面,涵盖功能测试、Linux数据库、Python编程语言,接口测试、UI自动化测试、性能测试……包括软件学习路线图,50多天的上课视频、16个突击实战项目(满足你对测试经验的需求),80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2023软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…这些都在我的软件测试学习交流群里:110685036