3个月如何从功能进阶自动化测试?【附学习指南】

发表于:2021-11-08 09:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小码哥说测试    来源:知乎

  3个月时间,如何从一个功能测试进阶自动化测试的,我整理了一份1000字的超全学习指南。
  一、学习自动化之前,我们应该先了解自动化测试是什么?
  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
  二、自动化测试如何学习,自动化测试又有那些类型
  1.自动化测试的类型
  什么可以自动化?实际上很多,但是通常容易误解这个问题。
  有两个主要类型,功能性和非功能性:
  · 功能性:测试软件的实际业务应用程序。
  · 非功能性:用于测试软件的其余要求(例如性能,安全性,数据存储等)。
  性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。 自动化功能测试:包括单元测试接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。 目前企业对自动化测试需求越来越多(见下图)。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。
  2.自动化测试的学习路径
  搞定性能、自动化测试,独当一面!(我目前也是在这个阶段不过是属于经验比较浅的那一批,所以才20k左右)
  先说性能测试,行业内是有很多误区和痛点的:
  · 只测不调,无法给出研发和运维人员执行建议
  · 无法定位问题,缺乏清晰的逻辑和数据证明价值
  · 性能测试工具≠性能测试
  · 性能测试技术体系落后(loadrunner),急需拥抱开源软件
  如果要搞定这些问题,那么性能测试你得这么去学:
  性能测试的概念和流程:常见问题剖析、流行工具、方案设计 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度; 性能监控:性能监控体系与监控数据采集 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析 性能分析与报告:jvm调试与系统调试;性能瓶颈分析。
  性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
  搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。
  web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式; 移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装; 服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系。
  三、自动化测试学习资源配套
  · 接口自动化测试
  接口测试一般有两种方式实现测试,一种通过工具实现;另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。 工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。
  · web自动化测试
  web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。 首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。 其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。 再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。
  · 移动自动化测试
  移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有Python/Java+appium。
  移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。
  四、自动化测试学习总结
  总的来说自动化测试是测试思想的一个延伸,为测试工程师提供了一个“触须”,其行为可以看成一个工具,但是本质上自动化测试还是一种思想。
  顺便提一句,狭义上的自动化测试指的就是基于GUI的自动化测试,而单元测试跟API测试,你有想过怎么用手工不借助任何工具去做吗?所以它们天生就属于测试自动化的范畴。
  自动化最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这些公司都试图做自动化测试,但是结果大多不怎么地。不过,尽管她参与的都是一些杯具的项目,不过她总能把这些杯具包装成洗具以应对下一次面试。
  机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号