一种批量自动化测试方法及平台与流程

文档序号:26748082发布日期:2021-09-25 01:29阅读:256来源:国知局
一种批量自动化测试方法及平台与流程

1.本说明书涉及大数据技术领域,特别地,涉及一种批量自动化测试方法及平台。


背景技术:

2.批量框架是数据处理的一种重要方式。随着业务的不断发展,原有的批量作业往往要加以变动,存量作业较多,使得手工测试受时间及人手等因素的影响,难以做到全覆盖测试。且存量作业的类型复杂及数量较多,使得测试案例脚本语句繁多,还可能存在对部分批量类型不支持等问题,进而使得测试案例的编写难度较大。另外,批量作业测试所涉及的环境配置也比较复杂多变,手工测试也不能较好地适应测试应用(不同应用可能有自己的特点)与测试环境(主要指上游依赖环境)的变化。因此,目前亟需一种更加高效准确的自动批量测试方法。


技术实现要素:

3.本说明书实施例的目的在于提供一种批量自动化测试方法及平台,可以实现自动化批量测试,提高批量测试的简便性及效率。
4.本说明书提供一种批量自动化测试方法及平台是包括如下方式实现的:
5.一种批量自动化测试方法,应用于测试平台,所述测试平台中存储有测试配置表,所述测试配置表至少包括与作业标识相关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;所述作业标识是指对测试作业进行标识的信息;所述方法包括:接收批量测试请求,所述批量测试请求至少包括指定作业标识;所述指定作业标识是指对所述批量测试请求所涉及的至少一个测试作业进行标识的信息;从所述测试配置表中读取所述指定作业标识所关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;利用读取的所述至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息,对所述指定作业标识所标识的测试作业执行测试操作。
6.本说明书提供的所述方法的另一些实施例中,在作业标识所关联的测试执行语句包括两条以上的情况下,该两条以上的测试执行语句之间设置有执行顺序,以在测试时基于相应的执行顺序依次执行该两条以上的测试执行语句。
7.本说明书提供的所述方法的另一些实施例中,所述测试配置表包括语句配置表及环境配置表;所述语句配置表中存储有与作业标识相关联的至少一条测试执行语句;所述环境配置表中存储有测试执行语句执行时所对应的测试环境信息。
8.本说明书提供的所述方法的另一些实施例中,所述环境配置表中存储的测试环境信息利用测试环境标识进行标识;所述测试执行语句包括执行时所对应的测试环境信息的测试环境标识。
9.本说明书提供的所述方法的另一些实施例中,所述测试环境信息至少包括环境类型,以在执行测试执行语句时基于所述环境类型对应的环境连接程序连接所述测试环境信息对应的测试环境。
10.本说明书提供的所述方法的另一些实施例中,所述测试配置表还包括与作业标识相关联的断言语句,所述断言语句用于在测试执行语句执行完成后对相应测试执行语句的执行结果进行验证。
11.本说明书提供的所述方法的另一些实施例中,所述测试配置表还包括与作业标识相关联的测试数据文件的存储地址以及转移地址,以在测试时将测试所需的测试数据文件从所述存储地址复制至转移地址。
12.另一方面,本说明书还提供一种批量自动化测试装置,应用于测试平台,所述测试平台中存储有测试配置表,所述测试配置表至少包括与作业标识相关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;所述作业标识是指对测试作业进行标识的信息;所述装置包括:接收模块,用于接收批量测试请求,所述批量测试请求至少包括指定作业标识;所述指定作业标识是指对所述批量测试请求所涉及的至少一个测试作业进行标识的信息;读取模块,用于从所述测试配置表中读取所述指定作业标识所关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;执行模块,用于利用读取的所述至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息,对所述指定作业标识所标识的测试作业执行测试操作。
13.本说明书提供的所述装置的另一些实施例中,所述测试配置表包括语句配置表及环境配置表;所述语句配置表中存储有与作业标识相关联的至少一条测试执行语句;所述环境配置表中存储有测试执行语句执行时所对应的测试环境信息。
14.另一方面,本说明书还提供一种测试平台,所述平台包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或者多个实施例中所述方法的步骤。
15.本说明书一个或多个实施例提供的批量自动化测试方法及平台,通过预先将测试执行语句、测试环境信息等配置至测试配置表中,在测试过程中,测试平台即可自动基于该测试配置表执行批量测试作业,提高批量测试的简便性及执行效率。且基于测试配置表的形式,可以更加直观地进行测试执行语句、测试环境信息等的维护和修改,大幅提高测试人员执行测试操作的简便性。
附图说明
16.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
17.图1为本说明书提供的测试执行语句与断言语句的配置示意图;
18.图2为本说明书提供的测试执行语句或断言语句的读取流程示意图;
19.图3为本说明书提供的测试环境信息的读取及测试环境的连接示意图;
20.图4为本说明书提供的测试执行的信息读取及执行示意图;
21.图5为本说明书提供的测试执行过程中的执行结果验证流程示意图;
22.图6为本说明书提供的批量自动化测试方法的实施流程示意图;
23.图7为本说明书提供的批量自动化测试装置的模块结构示意图。
具体实施方式
24.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是说明书一部分实施例,而不是全部的实施例。基于说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例方案保护的范围。
25.本说明书提供的场景示例中,所述批量自动化测试方法可以应用于测试平台,所述测试平台可以包括服务器、数据库等。在有测试需求时,测试人员可以在终端设备中填写测试需求信息。测试人员如可以选择或者输入当前批量测试的测试作业的作业标识、测试执行时间等等。终端设备可以根据测试人员输入的测试需求信息发起批量测试请求,并发送至所述测试平台。测试平台可以基于该批量测试请求执行自动化批量测试。当然,也可以在测试平台或与测试平台交互的其他平台配置测试触发机制,在满足测试触发机制后,可以生成批量测试请求,测试平台可以基于该批量测试请求执行批量测试。或者,也可以采用其他的测试启动方式,这里不做限定。
26.所述测试平台中可以存储有测试配置表。所述测试配置表至少可以包括与作业标识相关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息。
27.例如,可以预先根据需要设计测试配置表的表格规范。如可以设计测试配置表的表类型、表所包含的字段、各字段下的字段信息的信息格式等等。所述测试配置表如至少可以包括作业标识字段、测试执行语句字段、环境信息字段、断言语句字段等等。当然,测试人员也可以调取之前使用的测试配置表,复用该测试配置表的表格规范,或者对该测试配置表的表格规范进行适当的调整。
28.测试人员可以根据测试需求在测试配置表中输入测试作业对应的测试执行语句、及测试执行语句执行时所对应的测试环境信息,并关联输入相应测试作业的作业标识等。所述测试环境信息可以包括数据库环境、服务器环境等。如服务器ip地址、端口、用户名、密码等。
29.在作业标识所关联的测试执行语句包括两条以上的情况下,该两条以上的测试执行语句之间还可以设置有执行顺序,以在测试时基于相应的执行顺序依次执行所述测试执行语句,高效准确地完成相应测试作业。相应的,如可以利用预先构建的测试解析程序访问测试配置表,读取各作业标识下的测试执行语句、及测试执行语句执行时所对应的测试环境信息,完成测试。如可以配置测试解析语句按序读取并解析某作业标识下的测试执行语句,自动完成批量测试。
30.或者,在作业标识所关联的测试执行语句包括两条以上的情况下,每条测试执行语句可以配置有测试执行语句标识。相应的,可以在测试解析程序中配置各测试执行语句标识的执行方式,所述执行方式可以包括各测试执行语句标识的执行顺序等,以使测试解析程序有序地从测试配置表中读取并解析测试执行语句,自动完成批量测试
31.所述测试执行语句与测试执行语句执行时所对应的测试环境信息可以通过两个表格分别进行配置。相应的,所述测试配置表可以包括语句配置表及环境配置表。所述语句配置表中可以存储有与作业标识相关联的至少一条测试执行语句。所述环境配置表中可以存储有测试执行语句执行时所对应的测试环境信息。所述环境配置表中存储的测试环境信
息可以利用测试环境标识进行标识;所述测试执行语句可以相应包括执行时所对应的测试环境信息的测试环境标识。
32.批量作业有时会涉及多个数据库、服务器,将测试执行语句对应的测试环境信息直接配置至测试执行语句中,使得测试执行语句的编写较为繁琐,出错时也较难排查及修改。同时,如果将测试环境信息配置至测试解析程序中的配置文件中,如果实际环境发生变更,也需逐一对程序的配置文件进行修改,间接影响批量操作的执行效率。本场景示例中,将测试环境信息单独配置至一个表格中,利用测试环境标识关联测试执行语句与测试执行语句所对应的测试环境信息,可以大幅提高测试执行语句编写及测试环境信息修改的简便性,并提高测试执行语句与测试执行语句所对应的测试环境信息连接的准确性。
33.所述测试环境信息至少可以包括环境类型,以在执行测试执行语句时基于所述环境类型对应的环境连接程序连接所述测试环境信息对应的测试环境。不同的测试环境所对应的环境连接方式可能存在较大的差异性,通过针对不同的测试环境配置不同的连接程序,可以大幅提高测试连接的简便性及准确性。表1为测试环境信息示例表。表2为测试执行语句示例表。
34.表1
[0035][0036]
表2
[0037][0038]
所述测试配置表还可以包括与作业标识相关联的断言语句,所述断言语句可以用于在测试执行语句执行完成后对相应测试执行语句的执行结果进行验证。通过进一步配置断言语句,在测试执行语句执行完成后,对测试执行语句是否正常执行进行判断,可以从代码层面实现对整体执行过程各环节有效监控,便于在测试执行出错时,快速准确地定位出错的测试执行语句。且测试执行语句配置在测试配置表中,还可以便于测试人员在定位出错的测试执行语句后,简便地进行该出错的测试执行语句的修改完善,大幅提高批量测试
过程中,执行程序的排查以及调整,高效简便地实现批量测试的有效运行。
[0039]
例如,可以在测试解析语句中配置测试执行语句与断言语句的执行方式。所述执行方式如可以包括测试执行语句执行完成后是否执行断言语句、执行哪些断言语句以及何时执行断言语句等等。通过将断言语句也配置至测试配置表,可以进一步提高自动测试执行的简便性。或者,也可以在断言语句中配置测试执行语句的测试执行语句标识,以基于该测试执行语句标识确定断言语句与测试执行语句之间的关联关系。通过在测试配置表中配置断言语句与测试执行语句之间的关联关系,可以使得测试人员更加直观地查看及修改测试执行语句与断言语句之间的关联关系,提高测试维护的简便性。
[0040]
优选的,还可以利用如图1所示的表格规范设计语句配置表,通过将执行过程中的不同阶段下的测试执行语句分开配置的方式,可以使得测试过程更加直观清晰,提高测试执行语句配置以及后期维护的简便性。
[0041]
测试人员还可以将测试过程中所涉及的测试数据文件上传到测试平台的指定位置,预先进行存储。并在测试配置表中输入测试数据文件的存储地址以及转移地址。所述转移地址是指测试执行时所需测试数据文件转移至的位置。测试人员在配置上述信息之前,还可以将影响批量执行结果判断的记录进行清理等操作,以保证其他无关数据对测试的影响。
[0042]
测试人员在根据上述实施方式配置完成测试配置表后,终端设备可以将配置完成的测试配置表发送至测试平台的数据库进行存储。测试人员还可以输入测试需求信息,并在终端设备中触发测试启动操作,终端设备可以根据该触发生成批量测试请求,并发送至测试平台。测试请求中如可以包括当前测试作业对应的指定作业标识等。
[0043]
测试平台可以根据该测试请求调取测试解析程序,以使测试解析程序从测试配置表中读取并解析指定作业标识对应的测试执行语句,如图2所示。图2表示测试执行语句读取及解析流程图。测试解析程序还可以基于测试执行语句中的测试环境标识读取测试环境信息。测试解析程序还可以基于测试环境信息中的环境类型调取对应的环境连接程序,以基于该调取的环境连接程序,连接测试环境信息对应的环境。如可以连接数据库的数据表或连接服务器等。图3表示测试环境信息读取及测试环境连接流程图。测试执行过程中,测试解析程序还可以读取并解析断言语句,利用断言语句来判断测试执行的正确与否,完成整个自动化测试案例的执行。
[0044]
上述场景示例,通过预先将测试执行语句、测试环境信息、断言语句等配置至测试配置表中,在测试过程中,测试平台即可自动基于该测试配置表执行批量测试作业,提高批量测试的简便性及执行效率。且基于测试配置表的形式,可以更加直观地进行测试执行语句、测试环境信息、断言语句等的维护和修改,大幅提高测试人员执行测试操作的简便性。
[0045]
下面使用一种sql+shell语句进行批量测试的应用为例进行说明。
[0046]
执行前:测试人员可以修改数据库中批量已有日期记录,完成作业依赖。进行往期批量日志清理,进行数据文件准备。
[0047]
执行时:可以利用entegor作为测试解析程序进行批量作业执行。如在测试中可以通过直接调起shell脚本进行测试。
[0048]
执行后:数据文件加载日志的判断。数据库批量记录的判断。
[0049]
上述过程可以自动化实现可以简化为:
[0050]
执行前:数据库操作(增,删,改),服务器操作(删除文件,增加文件)。
[0051]
执行时:服务器操作(执行shell脚本)。
[0052]
执行后:断言语句(数据库查询,服务器中执行日志查询)。
[0053]
测试执行语句就是数据库的增删改查,服务器的shell脚本和命令行。相应的,数据库和服务器语句的测试执行语句通常可以为如下几种类型:增加,insert;删除,delete;修改,update;查询,select;shell脚本文件,sh$dir/filename.sh;命令行语句,rm,cp等等。例如,在os1环境执行update语句,就编写os1:update
……
;在ls1环境执行rm命令,就编写ls1:rm
……

[0054]
可以基于上述语句类型在语句配置表中配置测试执行语句。语句配置表中的测试环境标识要与环境配置表中各测试环境对应的测试环境标识保持一致,以使得相应测试执行语句在这个测试环境标识所对应的环境中执行。数据库和服务器语句执行流程如图4所示。
[0055]
断言语句可以包括断言执行语句、目标结果获取语句、比较判断语句等。其中,数据库对应的断言执行语句主要是select进行结果的查询,然后将查询结果和预先设定的目标结果进行比较。服务器对应的断言执行语句主要是筛选出相应的批量执行日志的报错信息,然后将筛选出的报错信息和预先设定的目标结果进行比较。如查询数据库结果:assert(os1:select...,=,value)查询出的结果=value则为真。如判断执行日志:assert(ls1:cat/dir/logfile|grep...,!=,result)查询到的值是某结果为真。断言语句的执行流程如图5所示。
[0056]
上述实施方式提供的批量自动化测试的框架,相比直接书写测试案例代码的方式,更易于测试案例的编写与维护,一次编写便可经常使用,一键操作,减少测试人员工作量。且测试执行语句、测试环境配置也更加简洁、直观,便于修改变动,减少环境变动对测试程序执行的影响。且易于拓展性,对于有其它操作的批量类型,只需拓展相应的代码规范并添加到表格中即可。
[0057]
基于上述场景示例,本说明书实施例提供一种批量自动化测试方法,如图6所示。图6是本说明书提供的批量自动化测试方法的一个实施例的流程示意图。所述方法可以应用于测试平台,所述测试平台中存储有测试配置表,所述测试配置表至少包括与作业标识相关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;所述作业标识是指对测试作业进行标识的信息。所述方法可以包括如下步骤。
[0058]
s602:接收批量测试请求,所述批量测试请求至少包括指定作业标识;所述指定作业标识是指对所述批量测试请求所涉及的至少一个测试作业进行标识的信息。
[0059]
s604:从所述测试配置表中读取所述指定作业标识所关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息。
[0060]
s606:利用读取的所述至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息对所述指定作业标识所标识的测试作业执行测试操作。
[0061]
另一些实施例中,在作业标识所关联的测试执行语句包括两条以上的情况下,该两条以上的测试执行语句之间设置有执行顺序,以在测试时基于相应的执行顺序依次执行所述测试执行语句。
[0062]
另一些实施例中,所述测试配置表包括执行语句配置表及环境配置表;所述执行
语句配置表中存储有与作业标识相关联的至少一条测试执行语句;所述环境配置表中存储有测试执行语句执行时所对应的测试环境信息。
[0063]
另一些实施例中,所述环境配置表中存储的测试环境信息利用测试环境标识进行标识;所述测试执行语句包括执行时所对应的测试环境信息的测试环境标识。
[0064]
另一些实施例中,所述测试环境信息至少包括环境类型,以在执行测试执行语句时基于所述环境类型对应的环境连接程序连接所述测试环境信息对应的测试环境。
[0065]
另一些实施例中,所述测试配置表还包括与作业标识相关联的断言语句,所述断言语句用于在测试执行语句执行完成后对相应测试执行语句的执行结果进行验证。
[0066]
另一些实施例中,所述测试配置表还包括与作业标识相关联的测试数据文件的存储地址以及转移地址,以在测试时将测试所需的测试数据文件从存储地址复制至转移地址。
[0067]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
[0068]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0069]
基于上述实施例提供的方法,本说明书实施例还提供一种批量自动化测试装置,应用于测试平台,所述测试平台中存储有测试配置表,所述测试配置表至少包括与作业标识相关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;所述作业标识是指对测试作业进行标识的信息。如图7所示,所述装置可以包括:接收模块702,用于接收批量测试请求,所述批量测试请求至少包括指定作业标识;所述指定作业标识是指对所述批量测试请求所涉及的至少一个测试作业进行标识的信息;读取模块704,用于从所述测试配置表中读取所述指定作业标识所关联的至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息;执行模块706,用于利用读取的所述至少一条测试执行语句及测试执行语句执行时所对应的测试环境信息对所述指定作业标识所标识的测试作业执行测试操作。
[0070]
需要说明的,上述所述的装置根据上述实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0071]
本说明书还提供一种测试平台,所述平台可以包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括上述任意一个或者多个实施例所述方法的步骤。所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
[0072]
需要说明的是,本说明书实施例并不局限于必须是符合标准数据模型/模板或本
说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。
[0073]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0074]
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1