这两天和朋友谈到软件测试的发展:这一行的变化确实蛮大,从开始最基础的功能测试,到现在自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试岗位需求逐渐增多。我也在软件测试这行摸爬滚打了十年了,正好有朋友问我:如何快速成为互联网时代优秀的测试工程师呢?趁着最近终于有了些闲余时间,遂总结了下自动化测试的成长线路图和职业必备技能,希望可以帮助各位少走弯路、破茧成蝶、迈向成功。
下面我来分享下自动化测试经验及发展方向,或许能帮助你解决很多工作中的迷惑。
一、技术型路线发展方向
1、自动化测试工程师
自动化测试工程师细分可以有UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等等。
那么怎么才能成为一个合格的自动化测试工程师呢。
首先,必须要掌握一门编程语言,应该以Java或者python为主,虽然什么语言都可以用来做自动化测试,但毕竟这个两个最流行嘛,如果不想成为自动化测试工程师里的非主流自动化测试工程师,那我还是强烈推荐大家选择这两门语言。
编程语言是自动化的核心,不会编程,都是白搭。然后要会主流的测试框架,和一些辅助工具。
主流的框架啊,不外乎selenium,appium,monkey,monkeyrunner之类的,基本上掌握了这个几个APP和UI自动化都可以玩的转了。
然后接口自动化的话当然各位要知道什么是接口啊,不然玩个什么鬼。
辅助工具就太多了,大家各有各的喜好,没什么是必须要会的,这里就给大家推荐几个常用的工具。
postman,接口测试工具。
fiddle,抓包工具。
navicat,数据库管理工具。
HTTPwatch,网页监测工具
uiautomator,APP元素查看工具。
等等啦。
还有什么sql,linux,IDE啊这种就不要单独说了吧,通用的知识都是必须掌握的。
相信初步掌握了这些你就可以自动化入门了,熟练掌握就基本上可以完成大多数的工作了。
2、性能测试工程师
性能测试工程师,其实我不是很推荐,因为这个很容易遇到学习瓶颈。
做性能测试简单,只要熟练使用loadrunner,jmeter等工具,基本上都可以做性能测试了。
可是为什么不推荐呢?
因为如果只需要会工具就能成为一个性能测试工程师,那这个门槛也太低了。
性能测试好做也好学,可是性能调优,这个性能测试工程师的核心,最关键的技能,学习周期太长,学习代价太高,见效太慢。
所以啊,其实就是我也不知道这个性能调优到底怎么玩。
言归正传啊,刚刚提到的那两个工具是必须要掌握的,然后C、Java也是要会的。
毕竟你不能完全依靠录制来完成脚本的编写。
然后各种协议是要掌握的,IP/TCP/UDP/HTTP/SOCKET等等。Linux就不提了,毕竟性能测试一般都是测试服务器,而服务器一般都在Linux上。
不会Linux的话,你也就最多算个玩工具的,工程师就呵呵呵了。
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 自动化测试实战内容
6. API 接口自动化测试基础内容
7. API 接口自动化测试实战内容
8. CI/CD持续集成专项技术
9. 自动化测试框架实战技术
这份自动化测试进阶路线相信可以帮助到想要进阶涨薪的你
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取