一种基于混合驱动的强流程装备软件自动化测试方法技术

技术编号:30804450 阅读:20 留言:0更新日期:2021-11-16 08:11
本发明专利技术公开了一种基于混合驱动的强流程装备软件自动化测试方法,包括以下步骤:基于数据驱动的设计思想,获得交换数据集;基于关键字驱动的设计思想,形成关键字库;制定测试数据配置规则,形成测试数据文件;结合测试库设计思想,设计数据配置模块、数据解析器、数据容器、测试执行引擎及一系列测试库,形成基于混合驱动的测试自动化框架设计;应用基于混合驱动的测试自动化框架设计,创建测试自动化平台,模拟外部系统在环监听被测软件的输出指令,自动注入激励数据,驱动并控制被测软件的业务流程自动执行,获取测试结果。本发明专利技术能够实现不具备编程技能的测试人员也可以开展强流程装备软件自动化测试的目的,适用于强流程装备软件。装备软件。装备软件。

【技术实现步骤摘要】
一种基于混合驱动的强流程装备软件自动化测试方法


[0001]本专利技术涉及一种软件自动化测试方法,尤其涉及一种基于混合驱动的强流程装备软件自动化测试方法。

技术介绍

[0002]软件自动化测试是把以人为驱动的测试行为转变为机器自动化执行的一种过程,它可以完成许多手动测试难以实现或者无法实现的测试。强流程装备软件由于业务复杂、耦合度高、时序严格、数据量大等特点,很多业务场景通过简单的手动测试无法完成,必须引入自动化测试。主流的软件自动化测试思想有模块化思想、测试库思想、数据驱动思想和关键字驱动思想,其中,模块化思想是创建一系列功能独立的测试脚本,描述测试中的数据、逻辑和操作,与被测软件完成交互,其特点是测试数据、测试逻辑与测试脚本杂糅在一起,可读性、可维护性较差;测试库思想是在模块化思想的基础上,对测试脚本进行封装,为被测软件的测试创建库文件(API、DLL等),这些库文件是一系列函数的集合,可以通过接口传递不同的参数,供测试人员调用,可重用性有所提高;数据驱动思想是针对测试脚本和测试数据之间耦合度较高,导致测试脚本维护、重用困难而提出的,它将测试数据从测试脚本中分离出来,通过测试数据来驱动被测软件的业务流程自动执行,从而实现测试数据和测试脚本的分离,适用于一种测试逻辑对应一组测试数据的业务场景;关键字驱动思想是将测试逻辑抽象为简单易懂的关键字,进一步从测试脚本中分离出来,封装在测试数据文件中,这些关键字不仅为测试提供参数,而且能够由测试自动化平台解释执行,彻底实现测试数据、测试逻辑和测试脚本三者的分离。
[0003]以上自动化测试思想都需要开发测试脚本,有一定的技术门槛,对于编程能力有限的测试人员难度较大,因此,亟需研究一种自动化测试方法,使得测试人员只需专注于被测软件的业务需求,配置交换数据和关键字,不要求具备脚本编程技能,即可开展强流程装备软件的自动化测试,具有重要的学术研究意义和工程实践价值,也是软件测试领域的一个重点研究方向。

技术实现思路

[0004]本专利技术的目的就在于为了解决上述问题而提供一种不具备编程技能的测试人员也可以完成的基于混合驱动的强流程装备软件自动化测试方法。
[0005]本专利技术通过以下技术方案来实现上述目的:一种基于混合驱动的强流程装备软件自动化测试方法,包括以下步骤:步骤1、基于数据驱动的设计思想,分析被测软件的业务流程及其与外部系统之间的交换数据,获得交换数据集;步骤2、基于关键字驱动的设计思想,抽象被测软件的业务特点,形成关键字库;步骤3、制定测试数据配置规则,描述被测软件与外部系统之间的交换数据和关键字,形成测试数据文件;
步骤4、结合测试库设计思想,设计数据配置模块、数据解析器、数据容器、测试执行引擎及一系列测试库,形成基于混合驱动的测试自动化框架设计;步骤5、应用基于混合驱动的测试自动化框架设计,创建测试自动化平台,模拟外部系统在环监听被测软件的输出指令,自动注入激励数据,驱动并控制被测软件的业务流程自动执行,获取测试结果。
[0006]作为优选,所述步骤1中,获得交换数据集后,对交换数据集进行分解,将被测软件发送输出指令并接收应答的激励数据的过程中发送/接收的数据包定义为一组交换数据;根据每组交换数据中发送/接收数据包的多少,将交换数据划分为以下四类:第一类,被测软件发送一包输出指令,接收一包激励数据;第二类,被测软件发送一包输出指令,接收n包激励数据,n∈N,N>1且N为整数;第三类,被测软件发送m包输出指令,m∈N,接收一包激励数据;第四类,被测软件发送m包输出指令,接收n包激励数据,m∈N,n∈N。
[0007]作为优选,所述步骤2中,形成关键字库后,对关键字库进行分层分类设计,分为高、中、低三层,高层关键字描述总线通信类型,也称为总线层,告诉测试自动化平台通过哪种接口与被测软件之间传输数据包,如UDP、TCP、Serial、CAN总线等;中层关键字描述数据包的数据特征,也称为数据包层,对应于一组交换数据,根据被测软件的输出命令,交换数据分为两类:固定交换数据和变化交换数据,告诉测试自动化平台如何解析、处理这组交换数据;低层关键字描述数据包的操作特性,也称为操作层,分为接收特性和发送特性两类,告诉测试自动化平台如何对接收/发送数据包进行处理,这一层根据不同总线的通信特点以及不同类型交换数据的特点,设计重用关键字和专用关键字。
[0008]作为优选,所述步骤3中,基于数据驱动和关键字驱动的设计思想制定所述测试数据配置规则,所述测试数据配置规则满足以下要求:支持配置多种总线通信类型,方便扩展新的总线通信类型;支持配置多组交换数据,方便配置交换数据类型,灵活扩展新的类型;每一组交换数据支持配置一组输出指令、多组激励数据,方便配置输出指令和激励数据的关键字,灵活扩展新的关键字;每组输出指令支持配置多包数据,每组激励数据只配置一包数据。
[0009]具体地,所述步骤3中,利用XML语言制定层次化的所述测试数据配置规则,包括:第一层,描述测试自动化平台与被测软件之间传输数据的总线通信类型,设计Interface关键字;第二层,描述数据包的数据特征,设计Type关键字;第三层,描述数据包的操作特性,输出指令和激励数据的操作特性分别使用不同的标识,并分别设计关键字;第四层及以下,只用于描述数据包内容,不设计关键字。上述内容中,XML语言指可扩展标记语言,是标准通用标记语言的子集,XML语言具有支持描述数据、允许扩展标记的特点;Interface关键字是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来封装一定功能的集合;Type关键字就是给某种类型取一个新名字的关键字,支持基本类型、联合类型、元组及其它任何需要的手写类型。
[0010]作为优选,所述步骤4中,所述基于混合驱动的测试自动化框架设计包括:设计数据配置模块,对交换数据和关键字进行配置,自动生成测试数据文件;设计数据解析器,读取测试数据文件,解析其中的交换数据和关键字;设计数据容器,管理交换数据和关键字,其中固定交换数据和变化交换数据分别管理;设计测试执行引擎,在环监听被测软件的输出指令,自动注入激励数据,驱动并控制被测软件业务流程自动执行,获取测试结果;设计
测试库,即一系列函数的集合,供数据配置模块、数据解析器、数据容器和测试执行引擎调用。
[0011]本专利技术的有益效果在于:本专利技术通过分析被测软件的业务流程及其与外部系统之间的交换数据,配置交换数据和关键字,创建测试自动化平台,能够快速建立测试环境,在环监听被测软件的输出指令,自动注入激励数据,驱动并控制被测软件的业务流程自动执行,实现不具备编程技能的测试人员也可以开展强流程装备软件自动化测试的目的;本专利技术所述方法适用于复杂流程、高耦合度、严格时序、大数据量通信的装备软件,测试人员只需关注被测软件的业务需求即可开展自动化测试,不要求具备编程能力,易用性好,维护简单,扩展容易。
附图说明
[0012]图1是本专利技术所述基于混合驱动的强流程装备软件自动化测试方法的流程图;图2是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于混合驱动的强流程装备软件自动化测试方法,其特征在于:包括以下步骤:步骤1、基于数据驱动的设计思想,分析被测软件的业务流程及其与外部系统之间的交换数据,获得交换数据集;步骤2、基于关键字驱动的设计思想,抽象被测软件的业务特点,形成关键字库;步骤3、制定测试数据配置规则,描述被测软件与外部系统之间的交换数据和关键字,形成测试数据文件;步骤4、结合测试库设计思想,设计数据配置模块、数据解析器、数据容器、测试执行引擎及一系列测试库,形成基于混合驱动的测试自动化框架设计;步骤5、应用基于混合驱动的测试自动化框架设计,创建测试自动化平台,模拟外部系统在环监听被测软件的输出指令,自动注入激励数据,驱动并控制被测软件的业务流程自动执行,获取测试结果。2.根据权利要求1所述的基于混合驱动的强流程装备软件自动化测试方法,其特征在于:所述步骤1中,获得交换数据集后,对交换数据集进行分解,将被测软件发送输出指令并接收应答的激励数据的过程中发送/接收的数据包定义为一组交换数据;根据每组交换数据中发送/接收数据包的多少,将交换数据划分为以下四类:第一类,被测软件发送一包输出指令,接收一包激励数据;第二类,被测软件发送一包输出指令,接收n包激励数据,n∈N,N>1且N为整数;第三类,被测软件发送m包输出指令,m∈N,接收一包激励数据;第四类,被测软件发送m包输出指令,接收n包激励数据,m∈N,n∈N。3.根据权利要求1所述的基于混合驱动的强流程装备软件自动化测试方法,其特征在于:所述步骤2中,形成关键字库后,对关键字库进行分层分类设计,分为高、中、低三层,高层关键字描述总线通信类型,也称为总线层,告诉测试自动化平台通过哪种接口与被测软件之间传输数据包;中层关键字描述数据包的数据特征,也称为数据包层,对应于一组交换数据,根据被测软件的输出命令,交换数据分为两类:固定交换数据和变化交换数据,告诉测试自动化平台如何解析、处理这组交换数据;低层关键字描述...

【专利技术属性】
技术研发人员:张进坤杨红庆孙哲卢航邓霏
申请(专利权)人:中国工程物理研究院计算机应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1