zl程序教程

您现在的位置是:首页 >  其他

当前栏目

怎样学习?自动化测试--工程师--框架(涵盖齐全)

2023-09-11 14:14:51 时间


一、前言

在任何行业中,自动化通常被解释为自动处理流程,而这些流程几乎不需要人工干预。在软件行业,测试自动化意味着使用许可版本或开源的自动化工具对软件应用程序执行各种测试

用技术术语来说,测试自动化框架是一组定制的交互式组件,它们有助于执行脚本化测试和全面报告测试的结果

二、学习自动化之前?

自动化测试是将人为测试情形转化为机器执行的过程

一般说来,测试用例设计后,由测试员根据测试用例中描述的规则一步步地进行测试,得到测试结果和预期结果的行为。在这里过程中,为了更好地节省人力、时间或硬件资源,提升 测试效率,便加入了自动化测试的基本概念

三、怎样学习有哪些类别

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处理、认证体系

四、学习资源配套

1、接口自动化测试

接口测试通常有两种方式实现测试,一类通过专用工具实现

另一种通过代码实现,专用工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现

专用工具的测试,通常容易上手,针对“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用专用工具就能够完成基本的接口测试,可是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等

代码的实现,主要是通过python。

2、web自动化测试

web自动化测试主要通过代码实现

例如常见的应用有:Python/Java+selenium

首先,还是需要熟练使用一门语言,非常熟练地运用至少一门编程语言。另一方面,需要学习web测试的流程步骤,是因为是基于页面默认人工操作,因此需要针对页面构成需要有一定的基础,例如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等

如果有接口自动化的基础,那样学习web自动化相对会容易一些

再者,通过一些相对完整的项目去实战训练,才能够较好地学习并掌握web自动化的技能,通过反复的项目训练才能逐步地达到理想的效果

3、移动自动化测试

移动自动化测试主要也是通过专用工具和代码的方式实现。例如常见的有Python/Java+appium

移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类别

可是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方专用工具(如:GT专用工具)、adb命令、monkey等的使用,学习使用的专用工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从专用工具使用入手

另外:移动端的应用还需要进行异常测试,针对使用过程中出现网络、信息中断等异常场景的设计,针对手机本身使用过程中的场景结合实际项目训练学习

五、学习总结

总体来说自动化测试是测试思想的一个拓宽,为测试工程师提供了一个“触须”,其情形可以看成一个专用工具,可是本质上自动化测试还是一类思想

顺便提一句,狭义上的自动化测试指的是基于GUI的自动化测试,而单元测试跟API测试,你有想过怎么用手工不借助任何专用工具去做吗?因此它们天生就属于测试自动化的范畴

自动化最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这种公司都试图做自动化测试,可是结果大多不怎么地。不过,尽管她参与的都是一些杯具的项目,不过她总能把这种杯具包装成洗具以应对下一次面试

机会只眷顾有准备的人,这是一个靠真本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,造成机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

在当今快节奏,残酷的软件开发生态系统中,自动化测试和脚本在维持软件测试周期的速度,效率和明晰度中起着不可或缺的作用

随着自动化测试技术被灌输到软件测试中,考虑采用测试自动化框架的组织必须深入研究最终框架的设计,然后才能涉足这一领域。精心设计的框架设计和要使用的组件策略将为最终测试自动化框架奠定基础

频繁进行测试和审查,然后逐步提高以构建扩展版本。在实现自动化测试框架时,一种推荐的方法是找到一种可以快速轻松地适应流程和工作流程的工具

寻找一种不仅灵活而且可以支持多种应用程序和语言的工具,因为这将使QA团队无论其背景或技能如何都能做出有效的贡献