确定测试数据的方法和装置与流程

文档序号:16627969发布日期:2019-01-16 06:17阅读:181来源:国知局
确定测试数据的方法和装置与流程

本发明涉及自动化测试领域,具体而言,涉及一种确定测试数据的方法和装置。



背景技术:

使用商用或开源的移动终端app自动化测试工具编写测试程序时,测试数据被直接写入在测试代码中。但当需要修改测试数据时,需要在代码中查找数据并替换,然后再重新编译、执行,不便于测试数据的变更及统一管理,效率低下。

针对现有技术中在进行app测试时修改测试数据需要在测试代码中查找数据并替换,导致测试效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种确定测试数据的方法和装置,以至少解决现有技术中在进行app测试时修改测试数据需要在测试代码中查找数据并替换,导致测试效率低的技术问题。

根据本发明实施例的一个方面,提供了一种确定测试数据的方法,包括:获取测试代码对应的测试参数组,其中,测试参数组包括多个测试参数;获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。

进一步地,获取测试代码中测试数据出现的位置,并用测试参数替换测试数据出现的位置;将测试参数按照测试代码中出现的顺序排列构成测试参数组。

进一步地,测试参数包括局部参数和公共参数,其中,局部参数在所属的一个测试代码中有效,公共参数在多个测试代码中有效。

进一步地,在预设数据源中指定起始行标识,其中,预设数据源包括多行测试数据组;将起始行标识对应的行作为测试数据组对测试参数组进行赋值。

进一步地,确定测试数据组的属性,其中,属性包括:重复使用数据和一次性数据;在测试数据组的属性为重复使用数据的情况下,重复使用起始行标识对应的测试数据;在测试数据组的属性为一次性数据的情况下,在使用起始行标识对应的测试数据之后,选择使用起始行标识对应的测试数据的下一条测试数据进行测试。

进一步地,根据数据特征生成对应的测试数据。

进一步地,将测试数据分配至不同的操作系统,以对不同操作系统对应的应用程序进行测试。

根据本发明实施例的另一方面,还提供了一种确定测试数据的装置,包括:获取模块,用于获取测试代码对应的测试参数组,其中,所述测试参数组包括多个测试参数;关联模块,用于获取所述测试参数组对应的测试数据组,并将所述测试数据组与所述测试参数进行关联,以使所述测试代码根据所述测试数据组中的测试数据进行测试。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的确定测试数据的方法。

根据本发明实施例的另一方面,还提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的确定测试数据的方法。

在本发明实施例中,获取测试代码对应的测试参数组,获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。上述方案通过测试数据组对测试代码中的测试参数进行赋值,从而解决了现有技术中在进行app测试时修改测试数据需要在测试代码中查找数据并替换,导致测试效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的确定测试数据的方法的流程图;

图2是根据本申请实施例的一种可选的测试参数组和测试数据组对应的示意图;

图3是根据本申请实施例的一种将参数作为测试数据的示意图;

图4是根据本申请实施例的一种可选的测试界面图;

图5是根据本申请实施例的一种增加参数的示意图;

图6是根据本申请实施例的一种可选的预设数据源的示意图;

图7是根据本申请实施例的一种生成测试数据的示意图;

图8是根据本申请实施例的一种可选的将测试数据分配至不同操作系统的示意图;以及

图9是根据本申请实施例的一种确定测试数据的装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种确定测试数据的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的确定测试数据的方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取测试代码对应的测试参数组,其中,测试参数组包括多个测试参数。

具体的,上述测试代码运行于测试终端,通过执行测试代码对待测应用程序进行测试。测试参数用于表征在测试时需要进行赋值的数据。

步骤s104,获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。

具体的,上述测试数据组可以从数据库中获取,也可以通过excel文件或word文件导入,与现有技术相比,上述方案在进行自动化测试时,无需修改测试代码,只需要对测试参数进行赋值,从而提高自动化测试的效率。

图2是根据本申请实施例的一种可选的测试参数组和测试数据组对应的示意图。在一种可选的实施例中,测试脚本即为测试代码,测试脚本对应的1、2、3……n即为该测试脚本的测试参数组,包括多个测试参数;在下面的测试数据中,每行为一条测试数据组,每个测试数据中包括与测试参数对应的测试数据,当测试脚本运行时,使用测试数据组对测试脚本中的参数赋值,从而使测试脚本能够根据测试数据进行测试。

此处需要说明的是,上述测试数据中的数据可以是具体的数据值,也可以是参数,可以从之前执行的测试代码中获取或从定义的数据集中引用数据。图3是根据本申请实施例的一种将参数作为测试数据的示意图,结合图3所示,在点击预设控件,即可弹出“选择公共参数”窗口,允许用户从公共数据集或全局参数中选取参数作为测试数据。

由上可知,本申请上述实施例获取测试代码对应的测试参数组,获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。上述方案通过测试数据组对测试代码中的测试参数进行赋值,从而解决了现有技术中在进行app测试时修改测试数据需要在测试代码中查找数据并替换,导致测试效率低的技术问题。

可选的,根据本申请上述实施例,获取测试代码对应的测试参数组,包括:

步骤s1021,获取测试代码中测试数据出现的位置,并用测试参数替换测试数据出现的位置。

在上述步骤中,测试数据即为n,用于测试应用系统登录功能的用户名、密码等参数。

步骤s1023,将测试参数按照测试代码中出现的顺序排列构成测试参数组。具体仍可如图2中的侧视脚本所示,其中的1、2、3……n分别对应一个测试参数。

图4是根据本申请实施例的一种可选的测试界面图,以对应用程序的登录功能进行测试为例,在该示例中,客户姓名为测试参数,android_ui_输入框用于该应用程序提示用户输入用户名,该参数名称为“$$客户姓名$$”。

可选的,根据本申请上述实施例,测试参数包括局部参数和公共参数,其中,局部参数在所属的一个测试代码中有效,公共参数在多个测试代码中有效。

在上述方案中,参数根据作用域,可分为局部参数和公共参数,局部参数仅在一个测试脚本范围内有效,公共参数可跨越多个测试脚本有效。一组关联的局部参数形成一条或多条测试数据,类似地,一组关联的公共参数可形成一个公共数据集。

图5是根据本申请实施例的一种增加参数的示意图,结合图5所示,在增加测试参数时,需要输入参数名称以及参数描述,其中,在以客户姓名作为参数的示例中,参数名称可以为“$$客户姓名$$”,参数描述可以选择公共参数或局部参数。

可选的,根据本申请上述实施例,获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试,包括:

步骤s1041,在预设数据源中指定起始行标识,其中,预设数据源包括多行测试数据组。

具体的,上述预设数据源可以是数据库、excel文件或word文件等。上述起始行标识可以为起始行编号。

步骤s1043,将起始行标识对应的行作为测试数据组对测试参数组进行赋值。

图6是根据本申请实施例的一种可选的预设数据源的示意图,在该示例中,起始行标识为23,起始行即为23行。

可选的,根据本申请上述实施例,将起始行标识对应的行作为测试数据组对测试参数组进行赋值,包括:

步骤s10431,确定测试数据组的属性,其中,属性包括:重复使用数据和一次性数据。

具体的,在上述步骤中,重复使用的数据可以是在进行不同设备或不同脚本的测试时可以重复使用的数据,例如:用户名,该测试数据在进行应用程序的多种功能测试是都能够使用;一次性数据可以是在进行每种测试必须不同的数据,例如:密码。

步骤s10433,在测试数据组的属性为重复使用数据的情况下,重复使用起始行标识对应的测试数据。

步骤s10435,在测试数据组的属性为一次性数据的情况下,在使用起始行标识对应的测试数据之后,选择起始行标识对应的测试数据的下一条测试数据进行测试。

在一种可选的实施例中,数据关联操作时,可以指定具体的起始行号,若数据的属性为“重复使用”,则一直使用该行号数据进行测试;若数据的属性为“一次性数据”,从起始行号开始,每次使用数据后自动将该条数据置为不可用状态,下次执行时自动选取下一条测试数据进行测试。

进一步地,还可以通过条件筛选符合测试意图的数据(可筛选数据项自动从测试脚本参数获取),自动从符合条件的第一条数据开始使用数据。此时仍可以指定数据使用规则“重复使用”或“一次性数据”,用法同上。

以图6为例,在该示例中,起始行为23行,因此从23行开始对测试参数组进行赋值,如果23行的属性为重复使用数据,则一直采用23行的数据进行测试,如果23行的数据属性为一次性数据,则对23行数据测试完成之后开始对24行数据进行测试。

可选的,根据本申请上述实施例,在获取测试代码对应的测试参数组之前,上述方法还包括:根据数据特征生成对应的测试数据。

具体的,上述数据特征可以是数据长度、数据类型等等。数据特征能够确定数据规则,上述步骤用于根据提供的数据特征自动生成批量测试数据,如:随机数、身份证号、手机号码、座机号、邮箱等。图7是根据本申请实施例的一种生成测试数据的示意图,结合图7所示,可以根据图中的选项来确定生成数据的数据规则,在点击生成之后即可生成预设数量的测试数据。

在生成测试数据之后,还可以堆单个或者多个测试数据进行管理,包括对预埋数据和生产导出的脱敏测试数据进行新增、删除、修改、查询等操作。

可选的,根据本申请上述实施例,在根据数据特征生成对应的测试数据之后,方法还包括:将测试数据配置分配至不同的操作系统,以对不同操作系统对应的应用程序进行测试。

图8是根据本申请实施例的一种可选的将测试数据分配至不同操作系统的示意图,结合图8所示,该示例仍是对用户登录功能进行测试,其中“设备”一栏可以用于选择对应操作系统或移动终端。

实施例2

根据本发明实施例,提供了一种确定测试数据的装置的实施例,图9是根据本发明实施例的确定测试数据的装置的示意图,如图9所示,该装置包括:

获取模块90,用于获取测试代码对应的测试参数组,其中,测试参数组包括多个测试参数。

具体的,上述测试代码运行于测试终端,通过执行测试代码对待测应用程序进行测试。测试参数用于表征在测试时需要进行赋值的数据。

关联模块92,用于获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。

具体的,上述测试数据组可以从数据库中获取,也可以通过excel文件或word文件导入,与现有技术相比,上述方案在进行自动化测试时,无需修改测试代码,只需要对测试参数进行赋值,从而提高自动化测试的效率。

由上可知,本申请上述实施例通过获取模块获取测试代码对应的测试参数组,通过关联模块获取测试参数组对应的测试数据组,并将测试数据组与测试参数进行关联,以使测试代码根据测试数据组中的测试数据进行测试。上述方案通过测试数据组对测试代码中的测试参数进行赋值,从而解决了现有技术中在进行app测试时修改测试数据需要在测试代码中查找数据并替换,导致测试效率低的技术问题。

可选的,根据本申请上述实施例,获取模块包括:

获取子模块,用于获取测试代码中测试数据出现的位置,并用测试参数替换测试数据出现的位置。

构建子模块,用于将测试参数按照测试代码中出现的顺序排列构成测试参数组。

可选的,根据本申请上述实施例,测试参数包括局部参数和公共参数,其中,局部参数在所属的一个测试代码中有效,公共参数在多个测试代码中有效。

可选的,根据本申请上述实施例,关联模块包括:

指定子模块,用于在预设数据源中指定起始行标识,其中,预设数据源包括多行测试数据组。

赋值子模块,用于将起始行标识对应的行作为测试数据组对测试参数组进行赋值。

可选的,根据本申请上述实施例,赋值子模块包括:

确定单元,用于确定测试数据组的属性,其中,属性包括:重复使用数据和一次性数据。

重复单元,用于在测试数据组的属性为重复使用数据的情况下,重复使用起始行标识对应的测试数据。

选择单元,用于在测试数据组的属性为一次性数据的情况下,在使用起始行标识对应的测试数据之后,选择使用起始行标识对应的测试数据的下一条测试数据进行测试。

可选的,根据本申请上述实施例,上述装置还包括:

生成模块,用于在获取测试代码对应的测试参数组之前,根据数据特征生成对应的测试数据。

可选的,根据本申请上述实施例,上述装置还包括:

分配模块,用于在根据数据特征生成对应的测试数据之后将测试数据分配至不同的操作系统,以对不同操作系统对应的应用程序进行测试。

实施例3

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例1中任意一项的确定测试数据的方法。

实施例4

根据本发明实施例,提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行实施例1中任意一项的确定测试数据的方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1