一文彻底吃透自动化测试框架所有知识,看完就可以直接独立搭建自动化测试框架_能独立搭建自动化测试框架的人

优点:高度的模块化,这使得测试维护简单且预算友好。

它具有高度的可重用性,因为它的公共函数库可以被几个测试脚本使用。

缺点:框架中引入的库使其更加复杂。

测试数据也被硬编码到测试脚本中。因此,数据中的更改必须适用于测试脚本。

测试脚本的开发需要更多的时间和技术。

4、数据驱动框架
在数据驱动框架中,测试数据和测试脚本是分离的。在许多测试场景中,需要使用不同的测试数据多次测试同一功能或特性。如果测试数据是hardcode进测试脚本的,那么每更换一次测试数据都需要修改测试脚本。这是很大的工作量。此时,可以使用数据驱动框架。具体来说,测试脚本是固定的,而测试数据可以从外部的数据文件,以Excel、CSV、SQL等形式作为参数传入测试脚本。这样,我们只需要维护一份脚本和一份数据文件即可。

优点:总体来说,这种框架最大的好处就是易于维护。

测试脚本中的任何更改都不会影响测试数据。因此,可以避免对数据进行硬编码。

可以使用多组数据进行测试。

可以通过更改外部数据库中的测试数据来测试各种测试方案,从而减少所需的测试脚本数量。

缺点:准备和计划框架的通用测试脚本,识别与格式化测试数据需要花费时间。

框架设计的使用需要经验丰富的测试人员,因为它的复杂性,需要具备多种编程语言知识。

5、关键字驱动框架
该框架是数据驱动框架的扩展。测试数据和测试脚本也被分离,不同的是,该框架要更进一步地将测试脚本中的通用功能剥离出来,形成关键词(keyword)。测试脚本本质上就是对一系列通用的或者自定义的关键词的调用。这样做的好处是关键词可以在多个测试中复用,并且测试脚本更加易于维护。不过,实现这样一个框架并非易事。

优点:与数据驱动不同,运行此框架不需要脚本知识。

可以独立于被测应用程序构建测试脚本。

一个关键字可以在多个测试脚本中使用。因此该代码是可重用的。

缺点:设计框架和维护关键字对自动化的专业知识要求比较高。

实现该框架的成本相对较高,而且设置起来也比较耗时和复杂。

综上所述,实现用于自动化测试的框架需要选择一种灵活的工具。该工具应支持广泛的应用程序,并满足测试要求。另外,应该有正确的策略来定义应该自动化哪些部分。

自动化框架的主要组件
大多数功能强大且性能卓越的测试自动化框架(无论是开源还是商业的),则必须考虑包括构成其核心的某些组件。

基于各种测试的理想测试自动化框架的主要组成部分是:
测试库
单元测试
单元测试库可用于塑造任何测试自动化框架的重要组成部分。需要它用于:
通过特定的形式注释定义使用的测试方法
执行影响自动化测试最终结果的断言
运行简单明了的测试
集成和端到端测试
在执行集成和端到端测试自动化时,通常建议保证现有测试库提供的功能是稳定的。由应用程序的UI驱动的API级别的测试需要使与被测应用程序进行交互变得更加容易的组件,因为它不可避免的需要用到编码的工作。因此可以花更多精力专注于其他方面的工作。

行为驱动开发
专用于BDD的库以行为规范为目标,以可执行代码的形式创建可执行规范。在这里,可以将不同的功能和预期行为场景转换为代码,尽管它们不能像测试工具直接与被测应用程序进行交互那样工作。它们可作为BDD流程的支持,以创建与自动化测试的范围和意图一致的实时文档。

测试数据管理

在软件测试自动化和测试创建过程中,最大的挑战是利用测试数据管理系统。随着自动化测试数量的增加,始终存在确保执行特定测试所需的某些测试数据可用或创建的问题。面临的挑战是,没有针对此问题的万无一失的解决方案,这需要一种可靠的测试数据管理方法来使自动化工作取得成功。

解决此问题的一种方法是使用moco工具,以使数据更加简化,清晰和易于消化。

软件测试中的虚拟化
在探索和研究自动化测试的许多想法时,可能会遇到以下情况:

想将模块与通常在单元测试中经历过的连接组件隔离开

需要处理应用程序的集成或端到端测试中常见的繁琐和关键的依赖关系

在这种情况下,测试人员会觉得创建反映所连接组件行为模式的mock和Stubs以及虚拟化至关重要。处理这些内容是一项艰巨的任务,在开发自动化测试框架的过程中选择有用的虚拟化工具至关重要。

测试结果报告
在选择用于将测试结果报告到自动化框架中的库或机制时,应该主要关注将要阅读或查看所生成报告的目标受众。在这方面,我们可以提出几个注意事项:

诸如JUnit和TestNG之类的单元测试框架生成的报告主要针对诸如CI(持续集成)服务器之类的接收系统,这些系统最终会对其进行解释并以其他软件可使用的XML格式进行呈现。

当我们寻求具有人类最易理解的语言的报告功能的工具时,需要考虑使用与单元测试框架兼容的商业工具,例如用于Junit的UFT Pro、NUnit和TestNG。

另一种选择是利用第三方库,该库以人类易于理解的格式创建测试结果报告,包括通过饼图,图形或图像进行的视觉解释。

源代码管理
与手动测试一样,自动化测试也涉及编写和存储源代码和测试用例版本。每个开发公司都有一个源代码和版本控制系统来保存和保护源代码。自动化测试需要完善的源代码管理系统,该系统在处理生产代码时会派上用场。

创建依赖关系管理器
依赖关系管理器的主要目的是协助收集和管理在自动化软件解决方案的功能中使用的现有依赖关系和库的过程。某些工具(例如Maven和Gradle)同时充当依赖项管理器并帮助构建工具。构建工具旨在帮助您从源代码和支持库开发自动化软件,并运行测试。

建立和实施框架的过程
有几种方法可以计划实现自动化测试解决方案的方法。

从用户的角度探讨自动化的实际适用性。从各个角度检查它是否如PPT中所讲(避免PPT自动化的最佳实践),在使用中的技术上对其进行测试。

密切关注被测系统的技术,以找到能够完美模拟用户行为的最合适的测试自动化工具,这一点至关重要。

建议采用基于阶段的实现方法,其中每个阶段都具有交付自动化测试脚本的优先级,同时添加框架功能以实现预期的脚本执行。

在启动软件测试自动化之前,为确保正确执行自动化决策,必须首先计算和估算实施后的投资回报率,运行手动回归或冒烟测试的时间以及每个版本的运行周期。

加油吧,如果你需要提升技术储备,那就行动,在路上总比在起点观望的要好。一切的迷茫都是因为想得太多而做的太少**!**

以上就是今天的分享,如果觉得有用,欢迎分享转发给更多朋友💕。

欢迎在留言区跟我们互动噢~

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

:vip1024b (备注软件测试)**
[外链图片转存中…(img-em7GjCsx-1712932093786)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值