可左右滑动选省市

测试案例的生成方法、装置、电子设备及存储介质

更新时间:2024-07-01
测试案例的生成方法、装置、电子设备及存储介质 专利申请类型:发明专利;
源自:北京高价值专利检索信息库;

专利名称:测试案例的生成方法、装置、电子设备及存储介质

专利类型:发明专利

专利申请号:CN202111051764.X

专利申请(专利权)人:京东科技控股股份有限公司
权利人地址:北京市北京经济技术开发区科创十一街18号C座2层221室

专利发明(设计)人:王春智,邹明明,王莹

专利摘要:本发明实施例涉及一种测试案例的生成方法、装置、电子设备及存储介质,通过获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;即本发明实施例中的测试平台能够根据指标映射文档自动生成测试案例,实现了即能提高测试案例的编写效率,又能提高测试案例的覆盖度的效果。

主权利要求:
1.一种测试案例的生成方法,其特征在于,应用于测试平台,所述方法包括:获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数,所述取值相关参数包括为不同测试案例类型对应的阈值、枚举的具体数值;
根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;
根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;
将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;
其中,所述指标映射文档还记录有至少一个待测试字段对应的默认值;所述将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例,包括:将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;
将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例;
所述预设测试案例模板包括以下至少一种:
阀值判断、枚举判断、分段判断、字符串包含判断、八位日期验证、十位日期验证、身份证验证、开始字符判断以及结尾字符判断;
其中,每个预设测试案例模板对应有所述测试案例类型标识。
2.根据权利要求1所述的方法,其特征在于,所述指标映射文档为表结构文档;所述根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板之前,还包括:解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象;
解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象;
解析所述指标映射文档中的默认值列数据,获得第三数据对象;
所述根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值,包括:根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板;
根据所述目标测试案例模板和取值相关参数确定各测试字段对应的目标测试值;
所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例,包括:依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值的步骤,获得由多条测试数据构成的测试数据组;
将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据接收到的第一操作指令,修改所述指标映射文档中的待测试字段的相应信息;
或者,根据接收到的第二操作指令,添加新的预设测试案例模板。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:接收用户对所述测试案例的下载请求,下载所述测试案例。
5.根据权利要求1或2所述的方法,其特征在于,所述获取与测试需求对应的指标映射文档之前,还包括:若验证所述指标映射文档满足测试需求,则执行所述获取与测试需求对应的指标映射文档的步骤。
6.一种测试案例的生成装置,其特征在于,包括:
获取模块,用于获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数,所述取值相关参数包括为不同测试案例类型对应的阈值、枚举的具体数值;
第一确定模块,用于根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;
第二确定模块,用于根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;
生成模块,用于将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;
其中,所述指标映射文档还记录有至少一个待测试字段对应的默认值;所述生成模块,具体用于:将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例;
所述预设测试案例模板包括以下至少一种:
阀值判断、枚举判断、分段判断、字符串包含判断、八位日期验证、十位日期验证、身份证验证、开始字符判断以及结尾字符判断;
其中,每个预设测试案例模板对应有所述测试案例类型标识。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1‑5任一项所述的测试案例的生成方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1‑5任一项所述的测试案例的生成方法的步骤。 说明书 : 测试案例的生成方法、装置、电子设备及存储介质技术领域[0001] 本发明涉及计算机领域,尤其涉及一种测试案例的生成方法、装置、电子设备及存储介质。背景技术[0002] 软件测试是软件项目流程的必要阶段,只有通过软件测试的软件才能进行上线发行。[0003] 现有技术中,测试人员首先根据软件的具体测试需求编写对应的测试案例,然后根据测试案例对软件进行测试。但是,测试需求中往往包含大量的逻辑规则等内容,通过人工编写的测试案例,编写效率低且会出现测试案例覆盖度不足的问题。发明内容[0004] 本发明提供了一种测试案例的生成方法、装置、电子设备及存储介质,以解决人工编写测试案例效率低,且测试案例覆盖度不足的技术问题。[0005] 第一方面,本发明提供了一种测试案例的生成方法,应用于测试平台,所述方法包括:获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例。[0006] 作为可选的实施例,所述指标映射文档还记录有至少一个待测试字段对应的默认值;所述将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例,包括:将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例。[0007] 作为可选的实施例,所述指标映射文档为表结构文档;所述根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板之前,还包括:解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象;解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象;解析所述指标映射文档中的默认值列数据,获得第三数据对象;所述根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值,包括:根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板;根据所述目标测试案例模板和取值相关参数确定各测试字段对应的目标测试值;所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例,包括:依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值的步骤,获得由多条测试数据构成的测试数据组;将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集。[0008] 作为可选的实施例,所述预设测试案例模板包括以下至少一种:阀值判断、枚举判断、分段判断、字符串包含判断、八位日期验证、十位日期验证、身份证验证、开始字符判断以及结尾字符判断;其中,每个预设测试案例模板对应有所述测试案例类型标识。[0009] 作为可选的实施例,所述方法还包括:根据接收到的第一操作指令,修改所述指标映射文档中的待测试字段的相应信息;或者,根据接收到的第二操作指令,添加新的预设测试案例模板。[0010] 作为可选的实施例,所述方法还包括:接收用户对所述测试案例的下载请求,下载所述测试案例。[0011] 作为可选的实施例,所述获取与测试需求对应的指标映射文档之前,还包括:若验证所述指标映射文档满足测试需求,则执行所述获取与测试需求对应的指标映射文档的步骤。[0012] 第二方面,本发明提供一种测试案例的生成装置,包括:获取模块,用于获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;第一确定模块,用于根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;第二确定模块,用于根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;生成模块,用于将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例。[0013] 第三方面,本发明提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一项所述的测试案例的生成方法的步骤。[0014] 第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的测试案例的生成方法的步骤。[0015] 本发明实施例提供的测试案例的生成方法、装置、电子设备及存储介质,通过获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;即本发明实施例中的测试平台能够根据指标映射文档自动生成测试案例,实现了即能提高测试案例的编写效率,又能提高测试案例的覆盖度的效果。附图说明[0016] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0018] 图1为本发明实施例提供的一种测试案例的生成方法的流程示意图;[0019] 图2为本发明实施例提供的一种指标映射文档上传至测试平台的操作示意图;[0020] 图3为本发明实施例提供的另一种测试案例的生成方法的流程示意图;[0021] 图4为本发明实施例提供的再一种测试案例的生成方法的流程示意图;[0022] 图5为本发明实施例提供的一种测试案例的生成方法的流程图;[0023] 图6为本发明实施例提供的一种测试案例的生成装置的结构示意图;[0024] 图7为本发明实施例提供的一种电子设备的结构示意图。具体实施方式[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。[0026] 软件测试是软件项目流程的必要阶段,只有通过软件测试的软件才会进行上线发行。[0027] 现有技术中,测试人员首先根据软件的具体测试需求编写对应的测试案例,然后根据测试案例对软件进行测试。比如说针对一些决策引擎中风控策略规则,需要对其所输出的策略文件进行规则逻辑测试,此时,测试人员通过部署人员编写的指标映射文件,获取测试模板,然后根据策略文件中的具体规则,利用测试模板编写具体的测试案例和预期结果,最后,根据测试案例进行测试。[0028] 但是,人工编写测试案例效率低,尤其是针对包含大量规则和额度计算逻辑在内的策略测试需求,每个策略测试包中都需要使用很多的字段,不同类型的字段及数据格式给测试人员编写测试案例带来了一定的挑战,每个策略需求都需要根据不同的码值、格式和域值重新编写测试案例,以保证策略案例的覆盖度。可见,人工编写测试案例,编写效率低,也可能出现测试案例覆盖度不足的情况。[0029] 针对上述技术问题,本发明的技术构思在于:提供一种测试平台,该测试平台可以解析上传的指标映射文档,根据文档中的测试案例类型标识从预设测试案例模板中确定要生成的目标测试案例模板,并根据文档中的取值相关参数自动生成测试值,最后测试值填充到目标测试案例模板中,从而实现自动生成测试案例。[0030] 图1为本发明实施例提供的一种测试案例的生成方法的流程示意图,应用于测试平台,测试平台可以为部署有测试案例的生成装置的终端设备。如图1所示,该测试案例的生成方法包括:[0031] 步骤S101、获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数。[0032] 具体来说,指标映射文档(datamodel)通常为部署人员根据测试需求编写的文档,在该文档中会记录各待测试字段的标识信息,以及各待测试字段对应的测试案例类型标识和取值相关参数。其中,待测试字段的标识信息可以为英文字段名称和/或中文名称,例如针对于身份证号码的待测试字段,其对应的英文字段名称为“cust_id”,对应的中文名称“身份证号码”;测试案例类型标识可以为针对各种测试案例类型的编号,例如阈值判断的测试案例类型,其对应的编号为01,枚举验证的测试案例类型对应的编号为02,身份证号验证的测试案例类型对应的编号为07;取值相关参数可以为不同测试案例类型对应的阈值、枚举的具体数值等。[0033] 另外,在该指标映射文档中还会记录待测试字段对应的其他信息,例如字段类型(字符串string、双精度浮点型double、整数int等)、长度、精度、字段说明、备注等。[0034] 表1为本发明实施例提供的一种金融软件的指标映射文档。如表1所示,该指标映射文档中记录了包括身份证号、拒付率1、拒付率2、票据策略类型、资产负债率、资产负债率增长幅度、主营业务收入降幅、毛利润降幅、注册减少金额、有监管处罚信息次数、近一年公开市场违约次数、变更接口是否成功、法人信息是否发生变更、法人变更距今天数、注册时间、结束时间在内的待测试字段的英文字段名称和中文名称;还记载了各待测试字段对应的测试案例类型标识和取值相关参数,例如,拒付率1对应的测试案例类型标识为01,其取值相关参数为阈值0.2,又比如票据策略类型对应的测试案例类型标识为02,其取值相关参数为枚举值01、02和03。另外,表1中还可选记载了各待测试字段对应的类型、长度、精度、字段说明、备注等其他信息。[0035] 表1[0036][0037] 作为可选的实施例,步骤S101之前,还包括:若验证所述指标映射文档满足测试需求,则执行所述获取与测试需求对应的指标映射文档的步骤。[0038] 具体来说,部署人员开发出对应的指标映射文档datamodel后,测试人员首先根据软件包含的逻辑规则校验datamodel是否满足测试需求,在确定满足测试需求后,将datamodel上传至测试平台,即测试平台会获取与测试需求对应的指标映射文档。图2为本发明实施例提供的一种指标映射文档上传至测试平台的操作示意图,如图2所示,测试人员选择验证通过的datamodel文件,然后点击“提交”按钮实现上传。[0039] 作为可选的实施例,所述方法还包括:根据接收到的第一操作指令,修改所述指标映射文档中的待测试字段的相应信息。[0040] 具体来说,指标映射文档具有扩充性。在测试人员验证datamodel不满足测试需求时,可以接收用户的操作指令,对datamodel中的待测试字段以及相应信息进行增加、删除、修改等操作,也就使得最终生成的测试案例具有扩充性。[0041] 步骤S102、根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板。[0042] 具体来说,部署人员根据日常测试需求,预先开发了针对各种测试案例模板,并存储到测试平台上。该测试案例模板可以为生成测试案例所对应的程序文件。本步骤中,测试平台根据指标映射文档中所记载的测试案例类型标识,从预先开发的各种测试案例模板中选取出对应的测试案例模板,作为目标测试案例模板,例如,根据表1中的身份证号对应的测试案例类型标识为07,确定出目标测试案例模板为身份证验证,根据拒付率1对应的测试案例类型标识为01,确定出目标测试案例模板为阈值判断。[0043] 作为可选的实施例,所述预设测试案例模板包括以下至少一种:阀值判断、枚举验证、分段判断、字符串包含判断、八位日期验证、十位日期验证、身份证验证、开始字符判断以及结尾字符判断;其中,每个预设测试案例模板对应有所述测试案例类型标识。[0044] 具体来说,研发人员根据日常测试需求开发了9种常用的测试案例模板,并为每个测试案例模板进行编号,例如,01‑阀值判断、02‑枚举验证、03‑分段判断、04‑字符串包含判断、05‑八位日期、06‑十位日期、07‑身份证验证、08‑开始字符判断以及09‑结尾字符判断。从而方便了测试平台根据datamodel中的测试案例类型标识(即编号)确定出对应的目标测试案例模板。[0045] 作为可选的实施例,所述方法还包括:根据接收到的第二操作指令,添加新的预设测试案例模板。也就是说,当有新的测试案例类型需求时,可以再新增新的测试案例模板,也就说,可随时扩充预设测试案例模板。[0046] 步骤S103、根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值。[0047] 具体来说,在确定目标测试案例模板后,可以再根据取值相关参数确定待测试字段的目标测试值,其中,每个待测试字段会根据目标测试案例模板的类型生成至少一个目标测试值,以覆盖逻辑规则。例如针对于年龄大于阈值18的逻辑规则,其对应的目标测试案例模板为阈值判断,取值相关参数为阈值18,则生成的目标测试值包括等于18、大于18和小于18的三个数值。[0048] 步骤S104、将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例。[0049] 具体来说,将生成的至少一个目标测试值依次赋值到目标测试案例模板中,从而生成对应的至少一个测试案例。例如,针对年龄大于阈值18的逻辑规则,包括等于18、大于18和小于18的三个目标测试值,则会对应生成三个测试案例。[0050] 作为可选的实施例,所述方法还包括:接收用户对所述测试案例的下载请求,下载所述测试案例。[0051] 具体来说,测试平台自动生成测试案例后,测试人员可以从测试平台上下载测试案例,并根据测试案例对软件进行测试。在测试时,测试人员即可以根据测试案例在软件对应的待测试字段手动填写目标测试值,判断是否能获取到预期结果,也可以直接根据测试案例生成测试脚本,并运行测试脚本,根据脚本的运行结果确定是否测试通过。[0052] 本发明实施例提供的测试案例的生成方法,应用于测试平台,通过获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;即本发明实施例中测试平台能够根据指标映射文档自动生成测试案例,实现了即能提高测试案例的编写效率,又能提高测试案例的覆盖度的效果。[0053] 在上述实施例的基础上,图3为本发明实施例提供的另一种测试案例的生成方法的流程示意图,所述指标映射文档还记录有至少一个待测试字段对应的默认值。如图3所示,该测试案例的生成方法包括:[0054] 步骤S201、获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数。[0055] 步骤S202、根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板。[0056] 步骤S203、根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值。[0057] 步骤S204、将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值,构成测试数据。[0058] 步骤S205、将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例。[0059] 本实施例中的步骤S201‑步骤S203的实现方式分别与上述实施例中的步骤S101‑步骤S103的实现方式类似,此处不再赘述。[0060] 与上述实施例的区别在于,为了避免多个待测试字段同时取目标测试值而造成的测试结果混乱的情况,在本实施例中,所述指标映射文档还记录有至少一个待测试字段对应的默认值;将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例。[0061] 参考表1所示,指标映射文档中还可以包括待测试字段对应的默认值,若无默认值,可以为空。举例来说,针对于表1中的身份证号码字段,可以赋予对应的目标测试值,其他待测试字段包括拒付率1、拒付率2、票据策略类型等可以赋予对应的默认值,身份证号码字段对应的目标测试值和其他待测试字段的默认值构成一条测试数据;然后可以将测试数据中的目标测试值赋值到目标案例测试模板中对应的cust_id处,其他待测试字段的默认值也自动填充到目标案例模板中,从而生成了针对于身份证号码的测试案例,该测试案例会包含所有待测试字段,身份证号码取值目标测试值,其他待测试字段取值为默认值。同理,还可以将表1中的拒付率1赋予对应的默认值,其他待测试字段包括身份证号码、拒付率2、票据策略类型等赋予对应的默认值(若无默认值,则默认为空),构成另一条测试数据,进而生成针对于拒付率1的测试案例。[0062] 本发明的实施例提供的测试案例的生成方法,所述指标映射文档还记录有至少一个待测试字段对应的默认值,通过将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例;即本发明实施例的测试平台可以根据指标映射文档自动生成测试案例,所生成的测试案例中仅有一个字段取值为目标测试值,其他字段为默认值,从而避免了多个字段同时取值为对应目标测试值,而造成的测试结果混乱。[0063] 在上述实施例的基础上,图4为本发明实施例提供的再一种测试案例的生成方法的流程示意图,所述指标映射文档为表结构文档。如图4所示,该测试案例的生成方法包括:[0064] 步骤S301、获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数。[0065] 步骤S302、解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象。[0066] 步骤S303、解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象。[0067] 步骤S304、解析所述指标映射文档中的默认值列数据,获得第三数据对象。[0068] 步骤S305、根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板。[0069] 步骤S306、根据所述目标测试案例模板和取值相关参数确定各待测字段对应的目标测试值。[0070] 步骤S307、依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值,获得由多条测试数据构成的测试数据组。[0071] 步骤S308、将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集。[0072] 本实施例中的步骤S301的实现方式分别与上述实施例中的步骤S101的实现方式类似,此处不再赘述。[0073] 与上述实施例的区别在于,为了提高测试案例的覆盖度,在本实施例中,解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象;解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象;解析所述指标映射文档中的默认值列数据,获得第三数据对象;根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板;根据所述目标测试案例模板和取值相关参数确定各待测字段对应的目标测试值;依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值的步骤,获得由多条测试数据构成的测试数据组;将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集。[0074] 具体来说,指标映射文档可以为如表1所示的表结构文档。测试平台在获取到如表1所示的指标映射文档后,首先解析指标映射文档中的“测试案例类型标识”列数据,获得第一数据对象,其中,第一数据对象为目标案例模板对应的程序文件中、已经封装好的json数据,可命名为caseTypeData,如下所示:[0075] {"cust_id":"07","npayment_rate":"01","admit_npayment_rate":"01","pj_strategic_type":"02","debt":"02","da_ratio":"01","revenue":"05","gp_ratio":"03","rc_desc":"01","puinsh_ver":"06","default_ver":"01","checkInfoFlagEntRisk_change":"09","isFrChange":"03","lep_change_length":"02","zhucedate":"05"}[0076] 然后,测试平台继续解析指标映射文档中的“取值相关参数”列数据,获得第二数据对象,其中,第二数据对象也为目标案例模板对应的程序文件中、已经封装好的json数据,可命名为caseDescData,如下所示:[0077] {"cust_id":"45,46,4523,412423","npayment_rate":"0.2","admit_npayment_rate":"01,02,03","pj_strategic_type":"0.3","debt":"0.8","da_ratio":"0.5","revenue":"0.4","gp_ratio":"0","rc_desc":"1","puinsh_ver":"1,5,10","default_ver":"0,1","checkInfoFlagEntRisk_change":"365","isFrChange":"YES,NO","lep_change_length":"365","zhucedate":"‑30"}[0078] 然后,测试平台继续解析指标映射文档中的“默认值”列数据,获得第三数据对象,其中,第三数据对象也为目标案例模板对应的程序文件中、已经封装好的json数据,可命名为mrDescData,如下所示:[0079] {"cust_id":null,"npayment_rate":"‑1","admit_npayment_rate":"‑1","pj_strategic_type":"01","debt":"‑1","da_ratio":"‑1","revenue":"‑1","gp_ratio":"‑1","rc_desc":"‑1","puinsh_ver":"0","default_ver":"‑1","checkInfoFlagEntRisk_change":"‑1","isFrChange":"NO","lep_change_length":"‑1","zhucedate":"20001231"}[0080] 然后,测试平台根据解析出来的caseTypeData中的测试案例类型标识,为各待测试字段从预设测试案例模板中选取出对应的测试案例模板,作为目标测试案例模板;然后根据各待测试字段对应的目标测试案例模板和取值相关参数确定出各待测试字段对应的目标测试值;然后可以选取一个待测试字段,为其赋予一个目标测试值,其他待测试字段赋予默认值,构成一条测试数据,再为该待测试字段赋予另一个目标测试值,其他待测试字段同样赋予默认值,构成另一条测试数据;再然后选取另一个待测试字段,为其赋予对应的一个目标测试值,其他待测试字段赋予默认值,构成再一条测试数据,依次类推,从而形成由多条测试数据构成的测试数据集,可参考表2,表2为本发明实施例提供的一种测试数据集,表2中的每一行为一条测试数据,所有行的测试数据构成了测试数据集casedata。[0081] 表2[0082][0083] 最后,根据测试数据集casedata中的每一行测试数据生成一个测试案例,从而构成多行测试数据对应的测试案例集,测试案例集可供测试人员进行下载。优选的,采用javaAPI‑poi将测试数据集生成对应的测试案例集。[0084] 为了更详细的了解本发明,图5为本发明实施例提供的一种测试案例的生成方法的流程图,如图5所示,部署人员根据策略需求开发对应的指标映射文档datamodel;然后测试人员校验datamodel是否满足测试需求,若满足测试需求,则向测试平台上传datamodel;测试平台在获取到datamodel后,会对datamodel中的列数据进行解析,确定要生成的目标测试案例模板(有阈值类型、枚举类型、细分类型、字符包含、身份证、八位日期、十位日期等);并对生成的各待测试字段的目标测试值进行组装,生成可供测试人员下载的测试案例集。[0085] 本发明实施例提供的测试案例的生成方法,通过解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象;解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象;解析所述指标映射文档中的默认值列数据,获得第三数据对象;根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板;根据所述目标测试案例模板和取值相关参数确定各待测字段对应的目标测试值;依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值的步骤,获得由多条测试数据构成的测试数据组;将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集;即本发明实施例中的测试平台解析上传的指标映射文档,并对各待测试字段生成的目标测试值进行组装,自动生成了测试案例集,即提高了测试案例的编写效率,又提高测试案例的覆盖度。[0086] 图6为本发明实施例提供的一种测试案例的生成装置的结构示意图,该装置可以部署在测试平台上。如图6所示,该测试案例的生成装置,包括:[0087] 获取模块10,用于获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;第一确定模块20,用于根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;第二确定模块20,用于根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;生成模块40,用于将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例。[0088] 作为本发明的可选实施例,所述指标映射文档还记录有至少一个待测试字段对应的默认值;所述生成模块40,具体用于:将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予所述默认值,构成测试数据;将所述测试数据填充到所述目标测试案例模板中,以生成对应的测试案例。[0089] 作为本发明的可选实施例,所述指标映射文档为表结构文档;所述获取模块10,还用于:解析所述指标映射文档中的测试类型标识列数据,获得第一数据对象;解析所述指标映射文档中的取值相关参数列数据,获得第二数据对象;解析所述指标映射文档中的默认值列数据,获得第三数据对象。所述第一确定模块20,具体用于根据所述第一数据对象,确定各待测试字段对应的目标测试案例模板;所述第二确定模块30,具体用于根据所述目标测试案例模板和取值相关参数确定各测试字段对应的目标测试值;所述生成模块40,具体用于依次执行所述将所述各待测试字段中的其中一个待测试字段赋予对应的目标测试值,其他待测试字段赋予默认值的步骤,获得由多条测试数据构成的测试数据组;将所述测试数据组依次填充到对应的目标测试案例模板中,以生成测试案例集。[0090] 作为本发明的可选实施例,所述预设测试案例模板包括以下至少一种:阀值判断、枚举判断、分段判断、字符串包含判断、八位日期验证、十位日期验证、身份证验证、开始字符判断以及结尾字符判断;其中,每个预设测试案例模板对应有所述测试案例类型标识。[0091] 作为本发明的可选实施例,所述获取模块10还用于:根据接收到的第一操作指令,修改所述指标映射文档中的待测试字段的相应信息;或者,根据接收到的第二操作指令,添加新的预设测试案例模板。[0092] 作为本发明的可选实施例,所述装置还包括下载模块50,所述下载模块50用于:接收用户对所述测试案例的下载请求,下载所述测试案例。[0093] 作为本发明的可选实施例,所述获取模块,具体用于:若验证所述指标映射文档满足测试需求,则执行所述获取与测试需求对应的指标映射文档的步骤。[0094] 本实施例提供的测试案例的生成装置,其实现原理和技术效果与上述实施例类似,此处不再赘述。[0095] 本发明实施例提供的测试案例的生成装置,通过获取模块,用于获取与测试需求对应的指标映射文档,其中,所述指标映射文档中记录有各待测试字段对应的测试案例类型标识和取值相关参数;第一确定模块,用于根据所述测试案例类型标识从预设测试案例模板中确定对应的目标测试案例模板;第二确定模块,用于根据所述目标测试案例模板和所述取值相关参数确定待测试字段的目标测试值;生成模块,用于将所述目标测试值赋值给所述目标测试案例模板,以生成对应的测试案例;即本发明实施例中的测试案例的生成装置能够根据指标映射文档自动生成测试案例,实现了即能提高测试案例的编写效率,又能提高测试案例的覆盖度的效果。[0096] 如图7所示,本发明实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,[0097] 存储器113,用于存放计算机程序;[0098] 在本发明一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的测试案例的生成方法的步骤。[0099] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的测试案例的生成方法的步骤。[0100] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0101] 以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

专利地区:北京

专利申请日期:2021-09-08

专利公开日期:2024-06-18

专利公告号:CN113672520B

电话咨询
读内容
搜本页
回顶部