测试数据批量生成方法及装置与流程

文档序号:26556366发布日期:2021-09-08 00:55阅读:265来源:国知局
测试数据批量生成方法及装置与流程

1.本发明涉及人工智能技术领域,尤其涉及测试数据批量生成方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前自动化及版本测试过程中,测试数据均需测试人员手工编写并人工导入系统,存在手工设计数据与实际生产数据存在差异,且手工设计数据量少,效率低,脱离实际生产环境业务场景等问题。


技术实现要素:

4.本发明实施例提供一种测试数据批量生成方法,用以解决测试数据均需测试人员手工编写并人工导入系统,存在手工设计数据与实际生产数据存在差异,且手工设计数据量少,效率低,脱离实际生产环境业务场景的问题,该方法包括:
5.按照测试需求,从生产管理系统提取实际生产环境数据;
6.基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;
7.对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试。
8.本发明实施例还提供一种测试数据批量生成装置,用以解决测试数据均需测试人员手工编写并人工导入系统,存在手工设计数据与实际生产数据存在差异,且手工设计数据量少,效率低,脱离实际生产环境业务场景的问题,该装置包括:
9.实际生产环境数据提取模块,用于按照测试需求,从生产管理系统提取实际生产环境数据;
10.业务逻辑规则筛选模块,用于基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;
11.数据添加模块,用于对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试。
12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述测试数据批量生成方法。
13.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述测试数据批量生成方法的步骤。
14.本发明实施例中,与现有技术中测试数据均需测试人员手工编写并人工导入系统,存在手工设计数据与实际生产数据存在差异,且手工设计数据量少,效率低,脱离实际生产环境业务场景的技术方案相比,通过按照测试需求,从生产管理系统提取实际生产环
境数据;基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试,实现测试数据按照复杂业务场景需求自动生成,并应用于测试数据设计及自动化工作中,以减少手工操作量,并降低测试数据遗漏缺失带来的风险。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
16.图1为本发明实施例中测试数据批量生成方法流程图一;
17.图2为本发明实施例中测试数据批量生成方法流程图二;
18.图3为本发明实施例中测试数据批量生成方法流程图三;
19.图4为本发明实施例中测试数据批量生成方法流程图四;
20.图5为本发明实施例中测试数据批量生成方法流程图五;
21.图6为本发明实施例中tcap系统中数据要素录入界面;
22.图7为本发明实施例中tcap系统中数据要素根据笛卡尔积排列组合生成案例及数据界面;
23.图8为本发明实施例中测试数据批量生成方法流程图六;
24.图9为本发明实施例中测试数据批量生成方法流程图七;
25.图10为本发明实施例中数据导入自动化执行平台界面;
26.图11为本发明实施例中自动化平台执行脚本时使用的测试数据;
27.图12为本发明实施例中数据应用于版本测试案例导入界面;
28.图13为本发明实施例中测试数据批量生成装置结构框图一;
29.图14为本发明实施例中测试数据批量生成装置结构框图二;
30.图15为本发明实施例中测试数据批量生成装置结构框图三。
具体实施方式
31.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
32.图1为本发明实施例中测试数据批量生成方法流程图,如图1所示,该方法包括:
33.步骤101:按照测试需求,从生产管理系统提取实际生产环境数据;
34.步骤102:基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;
35.步骤103:对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试。
36.在本发明实施例中,步骤101中提到的生产管理系统可以包括各个主机和平台,其
中,主机为银行业务集中处理系统,为c/s类程序,银行的个人及对公柜面业务均基于此。平台为基于浏览器的b/s处理程序,银行网银及各类内部管理程序均为平台系统。
37.步骤101中,按照实际测试需要,从各个主机与平台的应用数据库中提取实际生产环境数据(与测试环境相对,是指实际发生生产业务的环境,实际生产环境中的数据为卡号,户名,交易明细,客户信息等内容)。例如提取某些特定证件类型的数据或提取某种卡类别数据。此时同时需要进行业务条件筛选查询,实际测试需要一般不与当前业务条件相冲突,也是基于业务流程的系统改造,符合业务条件及业务规则,若实际测试需要但不符合业务条件的数据可定义为异常值数据。
38.在本发明实施例中,如图2所示,还包括:
39.步骤201:对所述实际生产环境数据进行加密变形。
40.具体的,加密变形是基于实际生产环境数据,根据特定加密规则将客户户名,证件编号,地址等敏感的客户数据进行文字替换,各期版本的文字变形数据字典均不相同。例如原户名为“中国工商银行”,变形后户名为“xxxxxx”。
41.在本发明实施例中,步骤102基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据,包括:
42.利用业务流程建模(指的是基于预设架构资产管控系统建立的产品流程模型)中各数据间的约束关联关系(例如当证件类型选择身份证时,证件号码长度为18位,或当选择计息时,可选择利率仅为参数系统中维护)以及利用eam资产库(全称:架构资产管控系统)中的其他业务规则,对实际生产环境数据按照业务逻辑规则进行筛选,以满足不同种类业务产品的测试需求(即从步骤101中提取的数据,需要按照业务规则再次进行筛选,去掉无效的数据,例如,提取的数据可能存在作废卡或失效卡,但业务处理时需使用在有效期的正常卡片,将作废卡或失效卡信息去掉)。其中eam资产库为对于现有的业务架构及业务架构下的价值流,任务,活动、规则等业务产品资产进行集中管理的系统。
43.实际测试需求是指根据各期版本项目会改造不同的程序及功能,所需测试数据不同。
44.其他业务规则是指的资产库中录入的业务规则。例如理财产品购买起点为50000元,购买时间限制等。
45.在本发明实施例中,如图3所示,步骤103对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,包括:
46.步骤301:基于业务规则,确定筛选后数据涉及的正常数据范围;
47.步骤302:基于筛选后数据,确定非业务规则范围内的边界值和异常值;
48.步骤303:将非业务规则范围内的边界值和异常值添加到筛选后数据,获得可组合的原始数据;
49.步骤304:基于全态组合算法及双态组合算法对可组合的原始数据进行排列组合,获得批量测试数据。
50.在本发明实施例中,如图4所示,步骤103对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,包括:
51.步骤401:基于全态组合算法及双态组合算法对筛选后数据进行排列组合;
52.步骤402:基于业务规则,确定满足排列组合后的筛选后数据涉及的正常数据范
围;
53.步骤403:基于筛选后数据,确定非业务规则范围内的边界值和异常值;
54.步骤404:将非业务规则范围内的边界值和异常值添加到筛选后数据,获得批量测试数据。
55.在本发明实施例中,如图5所示,步骤401对于筛选后数据,基于全态组合算法及双态组合算法对筛选后数据进行排列组合,包括:
56.步骤501:基于全态组合算法对筛选后数据进行排列组合,获得第一排列组合数据;
57.步骤502:基于双态组合算法对第一排列组合数据进行排列组合,获得第二排列组合数据;
58.步骤402基于业务规则,确定满足排列组合后的筛选后数据涉及的正常数据范围,包括:
59.基于业务规则,确定第二排列组合数据涉及的正常数据范围。
60.具体的,利用tcap(test结果analysing platform,测试案例分析平台)标准化案例中数据要素设计方法(全态组合算法(笛卡尔积)及双态组合算法(pairwise),对于导入系统tcap的筛选后数据(如图6所示)按照算法进行排列组合(如图7所示),获得排列组合后的数据),通过识别业务规则涉及的正常数据范围,加入非业务规则范围内的边界值和异常值(例如业务规则为大于0小于5整数,则边界值为0或5,异常值为负数或小数等)。通过测试数据的自动生成,以覆盖各类业务场景,避免测试数据缺失遗漏。原始测试数据已从各数据库中提取完成,经过不同字段取值的排列组合,可批量生成测试数据。
61.全态组合算法(笛卡尔积)是指在数学中,两个集合x和y的笛卡尔积(cartesian product),又称直积,表示为x
×
y,第一个对象是x的成员而第二个对象是y的所有可能有序对的其中一个成员。
62.pairwise算法:pairwise基于如下2个假设:
63.(1)每一个维度都是正交的,即每一个维度互相都没有交集。
64.(2)根据数学统计分析,73%的缺陷(单因子是35%,双因子是38%)是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。
65.因此,pairwise基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的。
66.pairwise算法详解
67.假设有3个维度,每个维度有几个因子。如下:
68.浏览器:m,o,p
69.操作平台:w(windows),l(linux),i(ios)
70.语言:c(chinese),e(english)
71.求解:使用pairwise算法进行计算,确定有多少个测试结果,具体是什么的测试结果。
72.如果不使用pairwise算法,利用全态组合算法(笛卡尔积)需要3
×3×
2=18个测试结果。下面是全态组合算法获得的具体的测试结果:
73.1,mwc
74.2,mwe
75.3,mlc
76.4,mle
77.5,mic
78.6,mie
79.7,owc
80.8,owe
81.9,olc
82.10,ole
83.11,oic
84.12,oie
85.13,pwc
86.14,pwe
87.15,plc
88.16,ple
89.17,pic
90.18,pie
91.一共有18个测试结果,很繁琐。但是这是100%的测试覆盖率,缺陷率也是100%。
92.现在使用pairwise算法进行计算。首先从最下方一个18号开始,它是pie,两两组合是pi,pe,ie,这3个组合在以上的相同位置出现过,pi在17号,pe在16号,ie在12号,所以18号这个测试结果就可以舍去。最终剩下的如下:
93.1,mwc
94.4,mle
95.6,mie
96.7,owe
97.9,olc
98.11,oic
99.14,pwe
100.15,plc
101.17,pic
102.共计9个测试结果,节省了50%的测试结果。
103.现在从上面开始重新做一次。1号是mwc,两两组合是mw、mc、wc都出现过,去掉。最终剩下的是:
104.2,mwe
105.4,mle
106.5,mic
107.8,owe
108.10,ole
109.11,oic
110.13pwc
111.15plc
112.18pie
113.这样也是剩下9个测试结果,但是具体的结果内容不一样。pairwise算法最终剩下的测试结果个数肯定相同,但是可以有不同的结果组合。
114.pairwise算法在数学统计分析的基础上,对传统的全正交设计法进行了优化,适当的提高了效率。
115.下面举例说明本发明如何使用全态组合算法及双态组合算法。
116.例:验证交易手续费收取时:
117.卡类别取值“理财金卡”、“e时代卡”、“军保卡”,交易金额取值“1元”、“200元”、“50000元”,交易对手方“本行”、“他行”。
118.则按全态笛卡尔积生成的组合生成的数据如表1所示:
119.表1按全态笛卡尔积生成的组合生成的数据
[0120][0121]
[0122]
按双态pairwise组合生成的数据如表2所示:
[0123]
表2按双态pairwise组合生成的数据
[0124]
交易对手方交易金额取值卡类别取值本行1元理财金卡本行200元e时代卡本行200元军保卡本行50000元e时代卡本行50000元军保卡他行1元e时代卡他行1元军保卡他行200元理财金卡他行50000元理财金卡
[0125]
在本发明实施例中,如图8所示,还包括:
[0126]
步骤801:将批量测试数据输出至版本测试案例进行相应的测试。
[0127]
在本发明实施例中,如图9所示,还包括:
[0128]
步骤901:将批量测试数据输出至自动化测试脚本进行相应的测试。
[0129]
对生成的数据文本进行自动化脚本数据或测试案例导入(如图10、图11和图12所示)等特定数据表格格式输出,便于版本测试案例导入或直接应用自动化脚本运行。
[0130]
本发明实施例中还提供了一种测试数据批量生成装置,如下面的实施例所述。由于该装置解决问题的原理与测试数据批量生成方法相似,因此该装置的实施可以参见测试数据批量生成方法的实施,重复之处不再赘述。
[0131]
图13为本发明实施例中测试数据批量生成装置结构框图,如图13所示,该装置包括:
[0132]
实际生产环境数据提取模块02,用于按照测试需求,从生产管理系统提取实际生产环境数据;
[0133]
业务逻辑规则筛选模块04,用于基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;
[0134]
数据添加模块06,用于对于筛选后数据,基于全态组合算法及双态组合算法确定添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试。
[0135]
在本发明实施例中,如图14所示,还包括:
[0136]
加密变形模块08,用于对所述实际生产环境数据进行加密变形。
[0137]
在本发明实施例中,数据添加模块06具体用于:
[0138]
基于业务规则,确定筛选后数据涉及的正常数据范围;
[0139]
基于筛选后数据,确定非业务规则范围内的边界值和异常值;
[0140]
将非业务规则范围内的边界值和异常值添加到筛选后数据,获得可组合的原始数据;
[0141]
基于全态组合算法及双态组合算法对可组合的原始数据进行排列组合,获得批量测试数据。
[0142]
在本发明实施例中,数据添加模块06具体用于:
[0143]
基于全态组合算法及双态组合算法对筛选后数据进行排列组合;
[0144]
基于业务规则,确定满足排列组合后的筛选后数据涉及的正常数据范围;
[0145]
基于筛选后数据,确定非业务规则范围内的边界值和异常值;
[0146]
将非业务规则范围内的边界值和异常值添加到筛选后数据,获得批量测试数据。
[0147]
在本发明实施例中,数据添加模块06具体用于:
[0148]
基于全态组合算法对筛选后数据进行排列组合,获得第一排列组合数据;
[0149]
基于双态组合算法对第一排列组合数据进行排列组合,获得第二排列组合数据;
[0150]
基于业务规则,确定第二排列组合数据涉及的正常数据范围。
[0151]
在本发明实施例中,如图15所示,还包括:
[0152]
批量输出模块10,用于将批量测试数据输出至版本测试案例进行相应的测试。
[0153]
在本发明实施例中,如图15所示,还包括:
[0154]
批量输出模块10,用于将批量测试数据输出至自动化测试脚本进行相应的测试。
[0155]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述测试数据批量生成方法。
[0156]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述测试数据批量生成方法的步骤。
[0157]
本发明实施例中,与现有技术中测试数据均需测试人员手工编写并人工导入系统,存在效率低,脱离实际生产环境业务场景的技术方案相比,通过按照测试需求,从生产管理系统提取实际生产环境数据;基于数据间的约束关联关系和预设架构资产管控系统中的业务规则,对所述实际生产环境数据进行筛选,获得筛选后数据;对于筛选后数据,添加非业务规则范围内的边界值和异常值,获得批量测试数据,所述批量测试数据用于测试,实现测试数据按照复杂业务场景需求自动生成,并应用于测试数据设计及自动化工作中,以减少手工操作量,并降低测试数据遗漏缺失带来的风险。
[0158]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0159]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0160]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0161]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0162]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1