首页> 中国专利> 基于数据驱动的自动化测试方法、装置、介质及电子设备

基于数据驱动的自动化测试方法、装置、介质及电子设备

摘要

本申请实施例公开了一种基于数据驱动的自动化测试方法、装置、介质及电子设备。所述方法包括:响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。执行本方案,可以通过分别维护数据用例与测试脚本,并基于变量将数据用例与测试脚本进行关联,从而提高测试脚本的复用率和共享性。

著录项

  • 公开/公告号CN112597014A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利号CN202011490722.1

  • 发明设计人 黄丽改;王永海;董春玲;

    申请日2020-12-16

  • 分类号G06F11/36(20060101);

  • 代理机构11332 北京品源专利代理有限公司;

  • 代理人孟金喆

  • 地址 100193 北京市海淀区西北旺东路10号院东区16号楼5层502

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本申请实施例涉及计算机应用技术领域,尤其涉及一种基于数据驱动的自动化测试方法、装置、介质及电子设备。

背景技术

随着业务需求的不断变化、软件版本的快速迭代,为节省成本,保证高效及高质量版本迭代,费时、费力的人工测试逐渐由自动化测试方法取代,自动化测试方法成为测试主流。

目前,一些基于Rabbit自动化测试平台所实现的web自动化测试平方法可以很好的完成Web系统的回归测试,但是由于这些自动化方法大多是基于关键字驱动的,由关键字控制整个测试过程,方法中测试数据和测试逻辑没有分离,二者耦合性较高,一个测试脚本只能针对有限数量的测试数据,使得一旦发生测试数据变化,将产生较高的维护成本。这就导致这些自动化测试方法不能很好的应用到对web系统进行功能测试,或者使用大批量正常和异常数据测试对web系统进行的性能测试的场景中。上述自动化测试方法存在测试脚本共享性差和复用率低的问题。

发明内容

本申请实施例提供一种基于数据驱动的自动化测试方法、装置、介质及电子设备,可以实现测试脚本与数据用例分别维护,并基于变量进行关联,提高测试脚本的复用率的目的。

第一方面,本申请实施例提供了一种基于数据驱动的自动化测试方法,所述方法包括:

响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;

根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;

根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

第二方面,本申请实施例提供了一种基于数据驱动的自动化测试装置,所述装置包括:

变量提取模块,用于响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;

目标数据用例确定模块,用于根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;

测试结果确定模块,用于根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的基于数据驱动的自动化测试方法。

第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的基于数据驱动的自动化测试方法。

本申请实施例所提供的技术方案,响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。本申请所提供的技术方案,可以通过分别维护数据用例与测试脚本,并基于变量将数据用例与测试脚本进行关联,从而提高测试脚本的复用率和共享性。

附图说明

图1是本申请实施例一提供的一种基于数据驱动的自动化测试方法的流程图;

图2是本申请实施例二提供的另一种基于数据驱动的自动化测试方法的流程图;

图3是本申请实施例三提供的又一种基于数据驱动的自动化测试方法的流程图;

图4是本申请实施例四提供的一种基于数据驱动的自动化测试装置的结构示意图;

图5是本申请实施例六提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本申请实施例一提供的一种基于数据驱动的自动化测试方法的流程图,本实施例可适用于对web系统进行测试的情况。该方法可以由本申请实施例所提供的基于数据驱动的自动化测试装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于运行此系统的电子设备中。

如图1所示,所述基于数据驱动的自动化测试方法包括:

S110、响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量。

其中,测试脚本是指为了完成特定测试计划而编写的一系列可以被自动化测试工具执行的指令。测试脚本可以是由用户预先配置在自动化测试平台中的。其中,自动化测试平台可以是基于Selenium自动化测试工具开发的。

目标测试脚本的执行指令是指用于指示目标测试脚本开始运行的指令。目标测试脚本的执行指令可以在控制目标测试脚本执行的控件被用户点击时产生的,也可以在目标测试脚本对应的测试计划执行时间,由测试平台自动产生的。

自动测试过程是指通过运行测试脚本向被测对象中输入的正常和异常的测试数据得出实际结果,再将与期望结果进行对比得出测试结果。提取目标测试脚本中的变量,具体的可以通过执行变量提取语句提取目标测试脚本中变量的信息,并将变量的信息存储在本地数据库。

S120、根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个。

其中,变量标识信息是指用于标识变量的信息,根据变量的标识信息将目标测试脚本中的变量进行区分。变量标识信息包括:变量名称和变量类型。综合变量名称和变量类型可以在一个测试脚本中唯一的确定一个变量。

测试脚本本质上是一段程序代码,测试脚本中变量标识着存储测试数据的内存空间。也就是说,变量与测试数据是直接相关的。数据用例包括用于对被测对象进行测试时使用的测试数据。数据用例可以是Excel文件或者是采用x-spreadsheet在线表格编辑模式用户在线编辑的表格。可选的,数据用例包括大量正常或者异常数据。

在生成测试脚本的过程中,会在测试脚本中设置变量,并在测试脚本中写入变量与数据用例的关联关系。示例性的,可以采用freemarker的语法在测试脚本中建立变量与数据用例之间的关联关系。具体的,在测试脚本中通过指令${param.name}建立变量与数据用例之间的关联关系。其中,param为变量名称,name为数据用例中具体列标头名。变量可以关联数据用例中某行某列数据,也可以与数据用例中该列的所有行数据相关联。

在目标测试脚本中各变量与数据用例之间的关联关系已知的情况下,根据变量的标识信息即可确定与目标测试脚本关联的目标数据用例。其中,候选数据用例是由用户预先配置在自动化测试平台的数据用例,候选数据用例的数量为至少一个,具体数值在这里不作限定,具体依据实际情况确定。目标数据用例是候选用例中与目标测试脚本相关联的数据用例。

S130、根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

其中,对被测系统进行测试包括对web系统进行界面、流程或者功能的测试。其中,界面测试包括对元素正确性或者对文本框长度进行的测试。

目标测试脚本中包括的是自动测试逻辑,目标数据用例包括测试用的数据,目标测试脚本和目标数据用例相配合实现对被测对象的界面、流程或者功能的测试,得到测试结果。其中,测试结果包括测试通过和测试不通过。

本申请实施例所提供的技术方案,响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。本申请所提供的技术方案,可以通过目标实现测试脚本与数据用例分别维护,并基于变量进行关联,提高了脚本的复用率。

实施例二

图2是本申请实施例二提供的另一种基于数据驱动的自动化测试方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。具体的,是对根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例的细化。

如图2所示,所述基于数据驱动的自动化测试方法包括:

S210、响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量。

在一个可选的实施例中,在响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量之前,所述方法还包括:获取用户为测试计划配置的候选测试脚本;其中,所述候选测试脚本包括与用于关联数据用例的变量;解析所述候选测试脚本确定所述变量标识信息和所述变量与数据用例之间的关联关系。

其中,候选测试脚本是用户为完成对Web系统进行的界面测试、流程测试或者功能测试预先配置在自动化测试平台中的。候选测试脚本可以是由脚本生成工具自动生成的,也可以是由用户自主编写的。在用户自主编写并维护候选测试脚本时,可选的,向自动化测试平台中引入ace编辑器,在在线代码模式下编辑脚本用例,实现代码实时编译和运行。将在线代码模式与自动化测试平台现有的关键字模式相结合,使得用户在维护测试脚本时,可以根据需求将代码视图和关键字视图相互切换。这样可以为满足不同编码能力的用户的需求,提高用户体验。具体的,对于编码能力有限的用户可以在关键字视图模式下对测试脚本进行维护;由于,对于具有较强编码能力的用户,相较于通过在线编写代码对测试脚本进行维护,通过关键字对测试脚本进行维护的操作复杂度更高、更繁琐,这类用户可以在代码视图模式下对测试脚本进行维护。

可选的,在候选测试脚本中添加了功能自动化必要的函数,提供清晰的函数解释。可选的,在候选测试脚本中添加结果回填函数,用于将测试数据结果回填到数据用例中。其中,将测试数据结果回填至数据用例包括将数据用例中的原始数据覆盖和保留数据用例的原始数据,在数据用例中新增列,在新增列的对应位置填入数据测试结果。优选的,将数据测试结果回填到数据用例的指定行和列;如果测试脚本中变量关联多个数据用例变量,可根据变量与数据用例之间的关联关系,将数据测试结果回填到具体数据用例中的具体行和列。

可选的,在候选测试脚本中添加抓包函数,用于在根据测试脚本对被测对象进行测试的过程中,对web系统中的接口信息进行抓包并保存,以供后续对web系统进行安全性能测试的场景使用。

可选的,在候选测试脚本中添加结果变量化函数,用于将测试数据结果提取为变量,并根据需求将其设置为一个测试计划局部变量或者不同计划间的全局变量并为其设置有效时长。将测试数据结果提取为变量,并设置该变量的作用域,使得一个测试计划得到的测试数据结果可以根据需求用于不同测试计划,提高了测试效率。为变量设置有效时长可以提高资源的利用率。

可选的,为满足不同的测试需求,在候选测试脚本中为变量设定变量类型,具体的,可将候选测试脚本中的变量的类型设置为单值、数据用例集和文件,以关联不同类型的数据用例。

可选的,为便于对测试脚本进行统计、查询和管理,在维护候选测试用例时,对候选测试脚本设置一下至少一种属性信息:测试脚本名称、测试脚本关联功能模块、测试脚本所属测试类型,测试脚本的影响级别和测试脚本所属测试计划标识。其中,测试脚本关联功能是指测试脚本对应于web系统的哪项功能测试;测试脚本所属测试类型具体包括:界面测试、流程测试和功能测试;测试脚本的影响级别是指测试脚本在测试计划中的重要性,示例性的,测试脚本的影响级别包括四个级别,一级至四级分别对应着阻断、严重、主要和一般,即表示若测试脚本所测试的测试对象的测试结果若为不通过,会对整个web系统产生怎样的影响。影响级别的级数越高则对web系统的影响越小。具体的影响级别以及影响级别对应web系统的影响情况,在这里不作限定,具体依据实际情况确定。

变量与数据用例之间的关联关系写在候选测试脚本中,解析所述候选测试脚本确定所述变量标识信息和所述变量与数据用例之间的关联关系,具体的,是对候选测试脚本中写有变量与数据用例关联脚本语句进行解析,确定变量标识信息和所述变量与数据用例之间的关联关系。

S220、若所述变量类型为数据用例集,根据所述变量名称确定与所述变量关联的数据用例集信息;其中,所述数据用例集信息包括测试数据版本标识和数据用例集名称。

由于进行测试的过程中,往往是使用不同的测试数据对被测对象进行多次测试。为了提高测试效率,本发明实施例通过在测试脚本中设置数据用例集类型的变量,实现使用不同的测试数据对被测对象进行多次测试。

在测试脚本中若所述变量类型为数据用例集,表明与该变量相关联的数据用例为数据用例集。其中,数据用例集是指多个版本的测试数据的数据用例。所述数据用例集信息包括测试数据版本标识和数据用例集名称。根据变量名称以及变量与数据用例之间的关联关系即可确定与所述变量关联的数据用例集信息。具体的,数据用例集信息包括测试数据版本标识和数据用例集名称。

S230、根据所述测试数据版本标识和所述数据用例集名称从所述候选数据用例中确定目标数据用例集,作为目标数据用例。

测试数据版本标识和数据用例集名称可以唯一标识一个数据用例集。可选的,候选数据用例存储在自动化测试平台的本地数据库或者云端,根据测试数据版本标识和数据用例集名称即可在自动化测试平台的本地数据库或者云端中确定目标数据用例集作为目标数据用例。

S240、若所述变量类型为文件,根据所述变量名称确定与所述变量关联的文件名称和文件地址。

在测试脚本中若所述变量类型为文件,表明与该变量相关联的数据用例为文件。其中,文件是指包括测试数据的文件,文件可以是Excel类型文件或者xml类型文件。根据变量名称以及变量与数据用例之间的关联关系即可确定与所述变量关联的文件信息。具体的,文件信息包括文件名称和文件地址。

S250、根据所述文件名称和所述文件地址从所述候选数据用例中确定目标文件,作为目标数据用例。

文件名称和文件地址可以唯一标识一个文件。可选的,文件存储在自动化测试平台的本地数据库或者云端,根据文件名称和文件地址即可在自动化测试平台的本地数据库或者云端中获取目标数据用例集作为目标数据用例。

S260、根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

在一个可选的实施例中,在所述解析所述候选测试脚本确定所述变量标识信息和所述变量与数据用例之间的关联关系之后,所述方法还包括:获取用户为所述测试计划配置的候选数据用例并确定所述候选数据用例类型信息;其中,所述候选数据用例是通过数据接口导入或者在线生成的;若所述候选数据用例类型为数据用例集,则获取所述候选数据用例名称和所述候选数据用例版本标识,并根据所述关联关系将所述数据用例集与所述变量名称关联;若所述候选数据用例类型为文件,则获取所述候选数据用例名称和所述候选数据用例地址,并根据所述关联关系将所述候选数据用例件和所述变量名称关联。

由于数据用例与测试脚本中的变量相关联,因此,变量类型与数据用例的类型是相对应的,数据用例类型信息包括:单值、文件和数据用例集类型。

可选的,为便于对数据用例进行统计、查询和管理,在维护候选数据用例时,对候选数据用例设置一下至少一种属性信息:数据用例名称、数据用例关联功能模块、数据用例所属测试类型和数据用例的影响级别。其中,数据用例关联功能是指数据用例对应于web系统的哪项功能测试;数据用例所属测试类型具体包括:界面测试、流程测试和功能测试;数据用例的影响级别是指数据用例在测试计划中的重要性,示例性的,数据用例的影响级别包括四个级别,一级至四级分别对应着阻断、严重、主要和一般,即表示若数据用例所测试的测试对象的测试结果若为不通过,会对整个web系统产生怎样的影响。影响级别的级数越高则对web系统的影响越小。具体的影响级别以及影响级别对应web系统的影响情况,在这里不作限定,具体依据实际情况确定。

可选的,为了更加直观的根据数据测试结果得出测试结果,在数据用例中设置数据测试结果固定列值。将测试数据结果回填至数据用例中测试数据结果的固定列值中。

其中,所述候选数据用例是通过数据接口导入或者在线生成的;具体的,在维护数据用例时,采用x-spreadsheet在线表格编辑模式,同时支持模板excel文件导入模式,来维护数据用例。

在将数据用例与变量进行关联时,若候选数据用例类型为数据用例集,则获取所述候选数据用例名称和所述候选数据用例版本标识,并根据所述关联关系将所述数据用例集与所述变量名称关联;若所述候选数据用例类型为文件,则获取所述候选数据用例名称和所述候选数据用例地址,并根据所述关联关系将所述候选数据用例件和所述变量名称关联。

本申请实施例所提供的技术方案,响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量。若所述变量类型为数据用例集,根据所述变量名称确定与所述变量关联的数据用例集信息;其中,所述数据用例集信息包括测试数据版本标识和数据用例集名称。根据所述测试数据版本标识和所述数据用例集名称从所述候选数据用例中确定目标数据用例集,作为目标数据用例。若所述变量类型为文件,根据所述变量名称确定与所述变量关联的文件名称和文件地址。根据所述文件名称和所述文件地址从所述候选数据用例中确定目标文件,作为目标数据用例。根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。本申请所提供的技术方案通过设置不同类型的变量与不同类型的数据用例相关联,满足了不同测试需求,同时提高了测试脚本的复用率。由于,测试脚本与数据用例是分别维护的,在测试脚本的测试类型确定的情况下,通过选择同一类型下不同的数据用例即可完成对被测对象完成不同的测试,提高了测试脚本的覆盖面。

实施例三

图3是本申请实施例三提供的又一种基于数据驱动的自动化测试方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。具体的,是对所述根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果进行细化。

如图3所示,所述基于数据驱动的自动化测试方法包括:

S310、响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量。

S320、根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个。

S330、根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试数据结果。

S340、提取所述测试数据结果,并将所述测试数据结果回填至所述目标数据用例中;其中,所述目标数据用例包括测试期望结果。

其中,测试数据结果是与测试数据相关联的测试结果,是测试数据对应的测试结果,具体的,在使用数据用例完成对被测对象测试后,被测对象对针对数据用例中的每条测试数据反馈测试结果数据,测试数据结果为实际结果。

为了更加直观的根据数据测试结果得出测试结果,在数据用例中设置数据测试结果固定列值。将测试数据结果回填至数据用例中测试数据结果的固定列值中。具体的,调用测试脚本中结果回填函数,将测试数据结果回填到数据用例中。其中,将测试数据结果回填至数据用例包括将数据用例中的原始数据覆盖和保留数据用例的原始数据,在数据用例中新增列,在新增列的对应位置填入数据测试结果。优选的,将数据测试结果回填到数据用例的指定行和列;如果测试脚本中变量关联多个数据用例变量,可根据变量与数据用例之间的关联关系,将数据测试结果回填到具体数据用例中的具体行和列。

S350、将所述测试数据结果和所述测试期望结果进行匹配,得到匹配结果。

其中,测试期望结果是与测试数据相关,针对数据用例中的测试数据,在数据用例维护时,在数据用例对应每条测试数据设置有预期结果。预期结果即为被测对象针对于该条对象正确的反馈结果,预期结果是对是结果正确性进行判断的依据。自动化测试平台将结果数据和预期数据进行匹配,得到匹配结果。匹配结果包括匹配成功和匹配失败。

S360、根据所述匹配结果和所述目标数据用例的影响级别,确定测试结果。

由于数据用例的影响级别是指测试脚本在测试计划中的重要性,即表示若测试脚本所测试的测试对象的测试结果若为不通过,会对整个web系统产生怎样的影响。目标数据用例的不同影响级别和匹配结果会影响最终测试结果。

在一个可选的实施例中,根据所述匹配结果和所述目标数据用例的影响级别,确定测试结果,包括:若所述测试数据结果和所述测试期望结果匹配失败条数不大于所述目标数据用例的影响级别对应的预设质量阈值,则确定测试结果为通过;若所述测试数据结果和所述测试期望结果匹配失败条数大于所述目标数据用例的影响级别对应的所述预设质量阈值,则确定所述测试结果为不通过。

其中,预设质量阈值是由用户根据目标数据的影响级别和实际情况预先设定的经验值。在影响级别越高对应的预设质量阈值的数值越小,示例性的,若影响级别为阻断则预设质量阈值为1,即表示只有测试数据结果和测试期望结果匹配失败条数不大于1时,即测试结果才为测试通过,否则测试结果为不通过;若影响级别为一般则预设质量阈值为4,即表示只要测试数据结果和测试期望结果匹配失败条数不大于4时,即测试结果就为测试通过,否则测试结果为不通过。影响级别越低预设质量阈值越高。

可选的,在得到测试结果以后根据测试结果和测试数据结果生成测试报告并在测试报告中显示当前完成的测试中使用数据用例的总数,测试通过数量和测试未通过数量,影响级别对应的缺陷数,成功率,测试结果,测试环境信息和测试结论。可选的,根据需求对测试报告截图,生成视频及邮件发送到客户端,且与漏洞(bug)管理平台进行接口,直接提交bug。同时,可以支持数据用例报告、脚本用例过程报告及日志报告的生成和导出。

在一次测试中包括多个数据用例集,为了提高测试效率,在确定测试结果是并不是将全部数据用例集中的全部测试数据用于判断测试是否通过。在一个可选的实施例中,根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果,还包括:若所述目标测试脚本中包括多个变量类型为数据用例集的变量,则确定父级变量所关联的目标数据用例集为主数据用例集;将所述主数据用例集的数据测试结果和所述主数据用例集的影响级别,确定测试结果。

其中,父级变量是指在该变量对应的数据用例集下还包括其他数据用例集。即该变量与其他同类型的变量之间存在嵌套关系。示例性的,在测试计划为向公司员工发放薪酬的情况,父级变量为各个公司名单,子级变量为父级变量中具体A公司中员工的名单。此时,确定父级变量所关联的目标数据用例集为主数据用例集。将主数据用例集的数据测试结果和主数据用例集的影响级别,确定测试结果。

本申请实施例所提供的技术方案,在确定测试结果时通过综合考虑实际结果与预期结果和所述目标数据用例的影响级别,确定测试结果。本申请所提供的技术方案,以数据为中心可以通过测试数据直接反映测试结果,测试结果与数据用例对应的数据测试结果直接得到,提高了测试结果的准确性。

实施例四

图4是本申请实施例四提供的一种基于数据驱动的自动化测试装置,本实施例可适用于。所述装置可由软件和/或硬件实现,并可集成于智能终端等电子设备中。

如图4所示,该装置可以包括:变量提取模块410、目标数据用例确定模块420和测试结果确定模块430。

变量提取模块410,用于响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;

目标数据用例确定模块420,用于根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;

测试结果确定模块430,用于根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

本申请实施例所提供的技术方案,响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。本申请所提供的技术方案,可以通过目标实现测试脚本与数据用例分别维护,并基于变量进行关联,提高了脚本的复用率。

可选的,所述变量的标识信息包括:变量类型和变量名称,所述变量类型包括:数据用例集和文件;相应的,目标数据用例确定模块420,包括:数据用例集信息确定子模块,用于若所述变量类型为数据用例集,根据所述变量名称确定与所述变量关联的数据用例集信息;其中,所述数据用例集信息包括测试数据版本标识和数据用例集名称。第一目标数据用例集确定子模块,用于根据所述测试数据版本标识和所述数据用例集名称从所述候选数据用例中确定目标数据用例集,作为目标数据用例。文件信息确定子模块,用于若所述变量类型为文件,根据所述变量名称确定与所述变量关联的文件名称和文件地址。第二目标数据用例集确定子模块,用于根据所述文件名称和所述文件地址从所述候选数据用例中确定目标文件,作为目标数据用例。

可选的,所述装置还包括:候选测试脚本获取模块,用于在响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量之前,获取用户为测试计划配置的候选测试脚本;其中,所述候选测试脚本包括与用于关联数据用例的变量。关联关系确定模块,用于解析所述候选测试脚本确定所述变量标识信息和所述变量与数据用例之间的关联关系。

可选的,所述装置还包括:候选数据用例类型信息确定模块,在所述解析所述候选测试脚本确定所述变量标识信息和所述变量与数据用例之间的关联关系之后,获取用户为所述测试计划配置的候选数据用例并确定所述候选数据用例类型信息;其中,所述候选数据用例是通过数据接口导入或者在线生成的。数据用例集与变量名称第一关联模块,用于若所述候选数据用例类型为数据用例集,则获取所述候选数据用例名称和所述候选数据用例版本标识,并根据所述关联关系将所述数据用例集与所述变量名称关联。数据用例集与变量名称第二关联模块,用于若所述候选数据用例类型为文件,则获取所述候选数据用例名称和所述候选数据用例地址,并根据所述关联关系将所述候选数据用例件和所述变量名称关联。

可选的,所述目标数据用例信息还包括影响级别,相应的,测试结果确定模块430,包括:测试数据结果确定子模块,用于根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试数据结果。测试数据结果回填子模块,用于提取所述测试数据结果,并将所述测试数据结果回填至所述目标数据用例中;其中,所述目标数据用例包括测试期望结果。匹配结果确定子模块,用于将所述测试数据结果和所述测试期望结果进行匹配,得到匹配结果。测试结果确定子模块,用于根据所述匹配结果和所述目标数据用例的影响级别,确定测试结果。

可选的,测试结果确定子模块,包括:第一测试结果确定单元,用于若所述测试数据结果和所述测试期望结果匹配失败条数不大于所述目标数据用例的影响级别对应的预设质量阈值,则确定测试结果为通过。第二测试结果确定单元,用于若所述测试数据结果和所述测试期望结果匹配失败条数大于所述目标数据用例的影响级别对应的所述预设质量阈值,则确定所述测试结果为不通过。

可选的,测试数据结果确定子模块,还包括:主数据用例集确定单元,用于若所述目标测试脚本中包括多个变量类型为数据用例集的变量,则确定父级变量所关联的目标数据用例集为主数据用例集。第二测试结果确定单元,将所述主数据用例集的数据测试结果和所述主数据用例集的影响级别,确定测试结果。

本发明实施例所提供的一种基于数据驱动的自动化测试装置可执行本发明任意实施例所提供的一种基于数据驱动的自动化测试方法,具备执行一种基于数据驱动的自动化测试方法相应的功能模块和有益效果。

实施例五

本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于数据驱动的自动化测试方法,该方法包括:

响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;

根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;

根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

存储介质是指任何的各种类型的存储器电子设备或存储电子设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同未知中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于数据驱动的自动化测试操作,还可以执行本申请任意实施例所提供的基于数据驱动的自动化测试方法中的相关操作。

实施例六

本申请实施例六提供了一种电子设备,该电子设备中可集成本申请实施例提供的基于数据驱动的自动化测试装置,该电子设备可以是配置于系统内的,也可以是执行系统内的部分或者全部功能的设备。图5是本申请实施例六提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本申请实施例所提供的基于数据驱动的自动化测试方法,该方法包括:

响应于目标测试脚本的执行指令,提取所述目标测试脚本中的变量;

根据所述变量的标识信息和所述变量与数据用例之间的关联关系,确定与所述目标测试脚本关联目标数据用例;其中,所述目标数据用例为候选数据用例中的至少一个;

根据所述目标测试脚本和所述目标数据用例对被测对象进行测试,得到测试结果。

当然,本领域技术人员可以理解,处理器520还实现本申请任意实施例所提供的基于数据驱动的自动化测试方法的技术方案。

图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。

存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的基于数据驱动的自动化测试方法对应的程序指令。

存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。

上述实施例中提供的基于数据驱动的自动化测试装置、介质及电子设备可执行本申请任意实施例所提供的基于数据驱动的自动化测试方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于数据驱动的自动化测试方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号