绝大多数测试工程师都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。
随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要求越来越高,打开招聘网站,自动化测试工程师的市场需求也是越来越多,薪资也是大幅度的超过功能测试人员。一线城市15k起步,而且90%的招聘都会有如下这一条。
至少熟悉一门编程语音,自动化测试XX年经验。所以越来越多的测试工程师,开始迷茫,不管是被动的还是主动的,这个时代需要我们不断学习去保持自己的竞争力,因为互联网红利越来越少,你的水平高低,决定了你在公司的价值,也决定了你未来职业选择的优势,学习自动化是你不得不选择的一条路。
我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做了有一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,也得到了更好的机会去发展。 到后来进阶自动化测试,在实际学习中,我熟悉了python3,java,vue,从0到1搭建过自动化测试框架。发现自己已经具备了一定的基础和项目经验,自动化测试并没有想象当中那么难,去年9月份跳槽如愿拿到了17k的offer。
所以,不少人都会开始去了解和学习自动化测试。
但是,到了这里又出现了问题。很多初次接触自动化测试的时候,往往不知道如何下手,学习路径应该是怎么样的等等成为摆在前面的第一道难关。
作为一个过来人,对自学过程中的努力方向一知半解深有体会。我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来
更希望想自学的你一样,通过我的分享可以少走一些弯路,可以形成一条自己的体系,并应用到实际中。当然,也真心的希望你们升职加薪,或许这才是最实际的吧。
包括环境搭建,基础语法,数据类型,分支与循环,面向对象编程, 数据库相关内容。为后续自动化测试打下良好基础,为更快上手自动化测试框架实现做铺垫。
接口测试一般有两种方式实现测试,一种通过工具实现;另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。
工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。
web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。
首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。
其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。
再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。
移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有:Python/Java+appium。
移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。
另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。
无法持续集成的测试框架等于零, 自动化测试一定需要结合持续集成才算是真正落地的企业级自动化,基于软件测试行业内应用最为主流的Jinkens,将自动化做到真正意义上的持续集成。
一、书籍准备(不想看书,想直接看视频,请直接跳过这步)
之前有些做手工测试的同事想转自动化测试,让我推荐几本自动化测试入门的书籍, 我都会建议他们根据自己所在项目的产品来选用对应的自动化测试工具来实践,再结合自身的喜好来选书, 下面推荐几本实用性强的书籍。
1)《Selenium 3自动化测试实战:基于Python语言》
selenium 3自动化测试实战这本书是大佬虫师的作品,虫师可以说是我的启蒙人了,早期看了他很多的文章。这本书系统的讲解最新的selenium 3的应用,涉及到持续集成、两大python单元测试框架unittest和pytest的应用,还有数据驱动、PO模型、selenium的分布式运行等等,非常全面,值得入手。
2)《QTP自动化测试最佳实践》
详细介绍了基于QTP的自动化测试技术,适合自动化测试初学者阅读。因为QTP是付费软件,如果所在公司或项目组能使用正版,那真是个深入学习的好机会。
3)《自动化测试最佳实践》
这本书在自动化测试领域影响深远,它为很多公司指明了测试成功的方向。本书讲述了一些公司应用自动化的经历,其中涉及了很多项目,从复杂的政府部门系统到医疗设备,从SAP业务过程开发到Android移动应用和云计算。
4)《App自动化测试与框架实战》
从App测试基础、实战技术,再到自动化测试框架的搭建,全面地讲解App测试所需要的知识,主要内容为:App测试及其类型、Java编程环境构建、Java语言基础、Android自动化环境精讲、Android自动化测试基础精讲、Android Appium自动化框架、Appium数据驱动测试框架封装实战、Appium关键字驱动测试框架封装实战、持续集成的自动化、Appium常见问题处理方式。
5)《postman接口自动化测试持续集成》
如果你正好需要利用postman完成接口自动化测试的工作,那么这本书很适合你。
如果你想看看 postman 是如何完成自动化测试,并与自己的框架比对比对,这本书也适合阅读。
这本书,详细讲解了接口测试基础、postman 如何来完成自动化设计和用例编写、newman+git+jenkins+ 钉钉来完成持续集成工作。
二、视频课程的选择
单纯看书是很难学会软件测试的,因为有的知识点没有讲解看懂了你也不会操作无法吸收,而且一直看书看书也很容易浇灭你的学习兴趣~
三、跟测试大佬一起学习交流
最好是有经验的人带你,有大腿抱,学习效率极高,这个我深有体会。如果没有也不用担心,去找对应的软件测试交流群就好,我当初就是加了好几个软件测试交流群,不停的请教,包括学习,包括方向,各种问题都问。
在这里我推荐一个【Python自动化测试交流群:769146372】 大家可以一起探讨交流软件测试,共同学习软件测试技术、更多简历、面试题梳理和讲解,将不定期在群里发布,群里有根据美团架构师学习路线图整理的相关文档资料和教程资源提供下载。助力你快速进阶自动化测试/测试开发,走向高薪之路。
主体内容包含:测试基础、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试、面试技巧、求职简历模版等。
四、建议勤记笔记
自学的同时一定要做好笔记,且一定是通过自己的理解后做的。可以使用思维导图把前后学到的东西给关联起来
五、制定计划
给自己的学习过程制订一个详细的计划,量化到天,排好每天要学习的东西。同时最重要的是,一定要养成总结的习惯 ,每天总结 ,每个项目总结 ,总结测试方法,总结Bug原因,奇葩Bug等等,这些将会成为你日后工作的宝贵财富。
在软件测试这行,一定要有长远打算,做好职业规划,才能在这一行长久地发展。你所有的不期而遇,都来自你努力后的惊喜,不断提升,就能在软件测试这一行实现从强人到牛人的蜕变!
分享完毕,喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!