最近收到不少小伙伴私信问,做了好几年测试,一直停留在手工测试点点点的阶段,想要进阶,想要做自动化测试,该怎么学习,以及需要学些什么?
今天,我就来聊一聊手工测试如何进阶自动化测试。首先简单的自我介绍一下,从事互联网行业工作时间8年:2年开发,6年测试;到后来进阶自动化测试,再到测试开发,不知不觉间已经有了6年测试开发经验,月薪也是突破了30k+,平时工作涉及后端开发,测试工具开发,运维,自动化测试,测试管理等工作,目前在一家互联网公司担任测试开发工程师。
本篇文章将由以下5个部分来展开:
首先我们为什么要学习自动化测试?
学习自动化测试之前,必须学会一门编程语言
熟悉被测系统,掌握前端的知识,数据库的学习
3大主流自动化测试类型
自动化测试总结
在讨论这个问题之前,先来聊一下测试人员的职业发展路线,无非就是两条,技术路线和管理路线,技术路线一般就是功能测试(60%)-->自动化测试(25%)-->测试开发(5%)-->测试架构师/业务专家/测试专家(5%),管理路线一般就是测试工程师(60%)-->测试组长(25%)-->测试经理(10%)-->测试总监(5%)。
如果你已经从事测试工作两三年时间了,或者开发转测试,又或者上来就要包装三年及以上工作经验,那么掌握自动化测试技能必不可少。
对于还没有入行的小伙伴或者刚毕业的同学,更多的是关注测试基础技能的掌握,即使不会自动化也是可以找到一份初级测试岗位的工作,会编程和自动化更多的是作为加分项,特别是今年找工作比往年来说更难了,行业越来越卷,测试的招聘要求中几乎都会出现自动化测试的字眼,因此会自动化测试也是自身的核心竞争力。基本上10k的工作都需要自动化测试这一项技能...自动化测试对大专学历真的很友好
又有人说,我想走管理路线,是不是就不需要学习自动化测试呢?虽然说,管理岗位更多的是对项目整体的把控,需要有较强的沟通组织协调能力,但并不意味着就可以不懂技术,很难想象一个不懂技术的管理者如何让手下信服,遇到一个自动化项目或测试平台项目需要开发时,如何合理科学地给下属分配任务?在我看来,即使你已经决定走管理路线,也不要过早的抛弃技术,应该要有足够的技术积累,毕竟测试是一个技术岗位,而且在互联网行业,大家极力推崇技术,可以说是技术为王的行业,一个不懂技术的管理者恐怕很难服众。
但是,到了这里又出现了问题。很多初次接触自动化测试的时候,往往不知道如何下手,学习路径应该是怎么样的等等成为摆在前面的第一道难关。
今天,濠叔就给大家分享一下,自动化测试的学习路线,希望可以帮助到初学的朋友。
学习一门编程语是打开技术大门的第一步,也是功能测试进阶自动化测试甚至测试开发的基本准入门槛。对于测试行业来说,绝大多数从业者会选择两门语言来学习,就是Python和Java。我的建议是初学者先学习python
python学习路线图,现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受,可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛,分享他们的经验,还会分享很多直播讲座和技术沙龙群号:110685036
一切脱离业务的自动化测试都是“耍流氓”想要转自动化测试就需要从多个方面尽可能的去熟悉自己的被测系统;
学习内容:测试Web系统就要学习了解JavaScript、CSS、HTML、XPath 相关知识;测试移动端系统就得具备Android开发基础和iOS开发基础;测试C/S系统就要熟悉TCP/IP 等协议;
作为一个自动化测试工程师,总是需要做很多的元素定位,那么元素定位,我们急需要学习前端的一些基础知识。
前置基础知识
数据库是这个行业每一个从业者都应该学习的,不管是前端、后台、还是测试、产品经理、项目经理、运维人员都需要很明确的熟悉数据库相关操作,作为一名测试,更应该熟悉数据库的增删改查等命令。
Linux和数据库
在这里也希望在自学的你,通过我的知识分享可以少走一些弯路,可以形成一条自己的知识体系,并应用到实际工作中。当然,也真心的希望你们升职加薪,或许这才是最实际的吧。
自动化测试构成: 自动化测试在当前市场上应用非常广泛,主流有接口自动化测试和UI自动化测试。在此基础上,加上持续集成,就能实现全自动化测试。
接下来我会按照自动化的这3个主要构成来给大家详细介绍自动化测试:
接口自动化测试
接口测试一般有2种方式实现测试,一种通过工具实现;另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。
工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。
学习路线图:
web自动化测试
web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。 首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。
其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。 再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。
学习路线图:
移动自动化测试
移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有Python/Java+appium。移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。
但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。
学习路线图:
其实自动化测试是一个非常广泛的技术,要想深入精通到更行各业,需要至少5年的钻研才能精通,熟练到一定级别,甚至做上技术总监也不是没有可能,到时候年薪40~50真的就不是梦了哈哈哈
对于测试来讲,自动化测试的工作其实相比于手工测试是轻松很多了,技术难度也不是特别高,所以大家在做测试期间,一定要持续学习,持续集成,才能进步,实现自我的价值,实现涨薪...
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:321255410,里面也有各种软件测试资料和技术交流。
好了各位,以上就是这篇文章的全部内容了,能看到这里人啊,都是人才。
如果这个文章写得还不错,觉得濠叔我有点东西的话 求点赞求关注❤️求分享 对耿男我来说真的非常有用!!!
白嫖不好,创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!