各大招聘网站,测试工程师月薪一万以上基本都有一个必备技能,那就是自动化测试。那么自动化测试到底难不难呢?下面我将会将我的经历讲给大家听,希望听完后,大家会有自己的一个判断。
1、我是谁
不知不觉,入行软件测试也有小8个年头。待过创业公司也待过上市公司。做过功能测、自动化测试也做过性能测试。做过测试新人也做过测试组长。如果要是从这5年中说出最宝贵的经验,我想应该是知识体系化。那么什么是知识体系化,每个人都有不同,下面简单来谈一下我的知识体系化。
2、我的成长路线
功能测试——>UI自动化
回想刚入行那会,功能测试都玩不溜。所以花了很多时间在功能测试用例的设计上,随着项目越做越多。用例设计也变得手到擒来。自己的内心也不满足于只做功能测试,觉得自动化测试很厉害的样子。
后来去学了代码基础。但是有一个问题,学了代码基础还是不会做自动化测试,因为那时候还傻傻分不清自动化到底有哪几种?随着学习的深入,知道软件测试中常见的自动化主要分为2种,一种是UI自动化,一种是接口自动化。
那么先学哪个呢?当时觉得UI自动化有点不明觉厉,因为可以代替手工点点点,非常酷炫。后来又花小半年时间学习UI自动化。到这里可能有点人会说,UI自动化要学这么久吗?对于我当时来说,是的。虽然是计算机专业出身,但是大学学的东西基本都忘差不多了。我们先来看UI自动化要学哪些内容(以selenium举例),下面用个思维导图简单列一下:
当然UI自动化需要学的内容远不止以上这些,这些东西算是比较核心的。学习过程中所有的知识都是零散的,想要组合起来对一个小白来说却是很难。后来有机会加入一个新的公司,需要用到UI自动化,然后去GitHub上找了很有优秀的代码以及看一些博客,终于实现了第一个自动化项目。那种感觉是非常棒的,但是也被个大神说这有啥,不就是按键精灵吗(捂脸哭)
UI自动化——>接口自动化
当然,也是被这个大神带上走接口自动化之路,有了UI自动化学习经验,学习接口自动化基本没有费什么功夫。如果让我说UI自动化和接口自动化各有哪些优缺点,这是不好比较的,其目的都是为了软件质量。但是如果让我选择,我会选择接口自动化,因为接口一般是不容易变得的,UI界面是经常变的,所以接口自动化的维护成本相对较低,这也是我录制《测试开发之Python Django 接口自动化测试框架实战》的原因。
接口自动化——>性能测试
UI自动化,接口自动化学完了,学什么呢?我又去学了性能,为什么学性能,完全是工作需要,后来发现性能真的是个无底洞,需要了解开发知识、服务器架构、操作系统、测试监控工具、容器知识等等。知识面太广,现在还在苦苦挣扎。当然在性能测试过程中,也去学了一些开发知识,之前做UI/接口自动化或者功能测试时只能从黑盒/灰盒层面去判断BUG原因,学了开发知识后,大概就知道这个bug是如何产生了。这对我自己的测试生涯也算是有了一个提高。
说了这么说,其实我们软件测试人员的知识体系常见的就以下几点:
3、我会如何讲解接口自动化测试?
下面来看一下《测试开发之Python Django 接口自动化测试框架实战》有哪些内容:
第一章讲解python、python IDE 以及本地数据库环境安装。
第二章讲解django的基础,让大家对django有一个快速的认识。
第三章讲解http协议以及cookie和session,然后根据前面所学知识开发一个博客系统以及教会大家如何编写接口测试文档。
第四章讲解Python下面的requests库,是接口自动化必备技能。
第五章讲解unittest单元测试框架,如何使用参数化编写接口测试用例,如何初始化我们的数据库,如何批量运行我们的测试用例以及生成测试报告。然后带大家开发一个属于自己的接口自动化测试框架。
第六、七章讲解git/GitHub基础,带领大家对项目进行持续集成。当然视频也是根据这些内容录制的,所以学习方式是视频+文档+课后指导。
那么为什么是这7个章节?
1、这个课程的主要目的虽然是教会大家如何使用python做接口自动化测试。但是我们为什么讲开发?我们常常说接口测试接口测试,那么什么是接口?接口如何开发?想一下,如果我们连接口都会开发了,接口测试对于我们测试人员来说是不是小菜一碟。
2、当然学习这门课程一定要有python基础。因为Django本身也是python下的一个框架。
3、好了,接口开发出来了,也会使用python做接口自动化测试了,这样就够了吗?答案是当然不够。为了满足企业级需求,我们加入了Git/GitHub以及持续集成的章节。
4、学习需要的技术基础及如何进阶?
Python基础!Python基础!Python基础!重要的事情强调3遍。
当然我们的课程不是万能的,因为比较偏小白,所以还有很多地方需要我们去自己学习。比如简单的接口我们会开发了,那么如何去开发一个完整的系统(接口测试平台)?就需要我们深入学习前端知识和Django开发知识了。这也是我们成长为测试开发的必经之路。再比如我们课程中用的是MySQL数据库,如果我们项目用的是oracle数据库,我们应该如何连接以及如何初始化我们的数据库呢?学习无止境,搜索引擎会是我们最好的工具。
5、你能收获什么?
相信通过本门课程的学习,可以快速从功能测试快速进阶为接口自动化测试工程师。有了代码量,不论是在公司还是出去找工作也会更加自信。回到我们开始提出的问题,自动化测试到底难不难?我的答案是看你想不想学。
4G的普及,带动了APP的快速发展,同时也养活了我们很多测试工程师。5G就在眼前,我们很难预知5G是否会是测试人员的一个机遇。但是我们可以肯定,如果我们止步不前,未来一定会离我们越来越远。
2021,不寻常的一年,利用这段时间好好学习,希望大家不管是技术还是荷包都会有一个大的收获。
下面,就为大家整理一份自己自学软件测试进阿里的最主流的职业规划路线学习流程,希望能够给你提供稍微的帮助 ~共勉 ~
一、测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:
1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。
2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,35岁之后,凭什么让一家企业继续任用你?你的经验和功能测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!
最后:【可能给予你助力的教程】
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号:【伤心的辣条】免费获取~
我的学习交流群:902061117 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!