一种测试数据构建方法、装置、设备和存储介质与流程

摘要: 本技术涉及测试数据构建,具体涉及一种测试数据构建方法、装置、设备和存储介质。背景技术:1、在软件系统的开发过程中,测试是保障系统质量与业务逻辑正确性的关键环节,...
一种测试数据构建方法、装置、设备和存储介质与流程

本技术涉及测试数据构建,具体涉及一种测试数据构建方法、装置、设备和存储介质。

背景技术:

1、在软件系统的开发过程中,测试是保障系统质量与业务逻辑正确性的关键环节,对于以业务规则为核心的系统而言,如风控决策引擎、实时定价系统、营销优惠平台等,其核心功能由大量相互关联的业务规则构成。要验证这些规则是否按预期执行,就需要构造相应的测试数据作为输入,并比对系统的实际输出与期望输出是否一致,因此,测试数据的构建工作,本质上就是要形成一组覆盖目标规则、且包含明确预期结果的输入数据集合,以便系统性地验证规则逻辑的正确性、完整性以及规则之间的交互行为。

2、然而,现有技术在构建此类测试数据时,普遍采用随机生成或基于固定模板的简单填充方式,方法缺乏对实际测试场景的针对性,无法根据具体的测试目标来获得匹配、精准的测试数据,严重影响后续测试的准确性。

技术实现思路

1、有鉴于此,本技术提供了一种测试数据构建方法、装置、设备和存储介质,用于解决现有技术在构建此类测试数据时,普遍采用随机生成或基于固定模板的简单填充方式,方法缺乏对实际测试场景的针对性,无法根据具体的测试目标来获得匹配、精准的测试数据,严重影响后续测试的准确性的问题。

2、为实现以上目的,现提出的方案如下:

3、第一方面,一种测试数据构建方法,包括:

4、从待测试的目标规则集合中提取各条规则;

5、确定目标测试场景,根据所述目标测试场景,配置规则覆盖策略;

6、针对每一条所述规则,按照所述规则覆盖策略构建与该条规则对应的一个或多个测试特征向量;

7、针对每一个所述测试特征向量,在各条所述规则中选取与该测试特征向量匹配的各个匹配规则,并计算所述匹配规则的期望输出值;

8、将每一条所述规则对应的各个测试特征向量、与各个所述测试特征向量对应的各条匹配规则以及预期输出值分别进行组合,以形成与所述目标规则集合对应的测试数据集合。

9、优选地,所述根据所述目标测试场景,配置规则覆盖策略,包括:

10、确定所述目标测试场景的各个场景特征参数;

11、根据各个所述场景特征参数,从预先设置的全分支覆盖、边界值覆盖、正交组合覆盖中,确定至少一种配置为规则覆盖策略。

12、优选地,所述按照所述规则覆盖策略构建与该条规则对应的一个或多个测试特征向量,包括:

13、对该条规则进行解析,形成逻辑树;

14、在所述逻辑树中确定各个维度以及每一个所述维度对应的约束区间;

15、按照所述规则覆盖策略,由各个维度以及每一个所述维度对应的约束区间建立与该条规则对应的一个或多个测试特征向量。

16、优选地,所述按照所述规则覆盖策略,由各个维度以及每一个所述维度对应的约束区间建立与该条规则对应的一个或多个测试特征向量,包括:

17、若所述规则覆盖策略为全分支覆盖,则根据各个所述维度以及约束区间,按照各个所述维度之间的逻辑关系,对各个所述维度进行分组;

18、确定每一个所述维度的维度类型;

19、将每一个所述维度对应的约束区间分别按照所述维度类型进行实例化,得到各个实例化值;

20、在每一个分组内,将该分组内的各个所述实例化值进行组合,形成与该分组对应的测试特征向量,以得到与该条规则对应的一个或多个测试特征向量。

21、优选地,所述按照所述规则覆盖策略,由各个维度以及每一个所述维度对应的约束区间建立与该条规则对应的一个或多个测试特征向量,包括:

22、若所述规则覆盖策略为边界值覆盖,则确定每一个所述维度的维度类型;

23、提取维度类型为数值型的维度对应的约束区间的数值边界点;

24、针对每一个所述数值边界点,按照预设步长生成与该数值边界点对应的各个边界探测值;

25、针对每一个所述边界探测值,将该边界探测值与维度类型除数值型以外的其他维度的约束区间的取值进行组合,形成各个测试特征向量。

26、优选地,所述按照所述规则覆盖策略,由各个维度以及每一个所述维度对应的约束区间建立与该条规则对应的一个或多个测试特征向量,包括:

27、若所述规则覆盖策略为正交组合覆盖,则将确定每一个约束区间的一个或多个取值;

28、由各个所述维度和取值构建全局维度-取值映射表;所述全局维度-取值映射表中,每一行对应一个维度以及该维度对应约束区间的各个取值;

29、按照每一个所述维度的取值数量,构建与所述全局维度-取值映射表对应的正交表;

30、按照所述正交表的每一行,确定该行中每一个维度的取值,由该行对应的各个取值组成测试特征向量。

31、优选地,所述各条所述规则中选取与该测试特征向量匹配的各个匹配规则,包括:

32、分别提取每一条所述规则中的多维条件表达式,并确定该测试特征向量中的各个取值;

33、针对每一条所述规则,判断该测试特征向量中的各个取值均满足该条规则中的多维条件表达式;

34、若是,则将该条规则作为与该测试特征向量对应的匹配规则。

35、第二方面,一种测试数据构建装置,包括:

36、规则提取模块,用于从待测试的目标规则集合中提取各条规则;

37、策略配置模块,用于确定目标测试场景,根据所述目标测试场景,配置规则覆盖策略;

38、测试特征向量构建模块,用于针对每一条所述规则,按照所述规则覆盖策略构建与该条规则对应的一个或多个测试特征向量;

39、匹配模块,用于针对每一个所述测试特征向量,在各条所述规则中选取与该测试特征向量匹配的各个匹配规则,并计算所述匹配规则的期望输出值;

40、测试数据集合建立模块,用于将每一条所述规则对应的各个测试特征向量、与各个所述测试特征向量对应的各条匹配规则以及预期输出值分别进行组合,以形成与所述目标规则集合对应的测试数据集合。

41、第三方面,一种测试数据构建设备,包括存储器和处理器;

42、所述存储器,用于存储程序;

43、所述处理器,用于执行所述程序,实现如第一方面任一项所述的测试数据构建方法的各个步骤。

44、第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面任一项所述的测试数据构建方法的各个步骤。

45、从上述技术方案可以看出,本技术从待测试的目标规则集合中提取各条规则;确定目标测试场景,根据所述目标测试场景,配置规则覆盖策略;针对每一条所述规则,按照所述规则覆盖策略构建与该条规则对应的一个或多个测试特征向量;针对每一个所述测试特征向量,在各条所述规则中选取与该测试特征向量匹配的各个匹配规则,并计算所述匹配规则的期望输出值;将每一条所述规则对应的各个测试特征向量、与各个所述测试特征向量对应的各条匹配规则以及预期输出值分别进行组合,以形成与所述目标规则集合对应的测试数据集合。本技术通过对目标规则集合的提取和目标测试场景的确定,将测试人员的测试意图转化为明确的输入条件和覆盖策略,这样就确定了测试的目标和测试的具体方式,从根本上区别于现有技术中缺乏目标导向的盲目生成测试数据的问题;然后基于确定好的规则覆盖策略,对每一条规则有针对性的构造测试特征向量,由于每个测试特征向量的生成都受规则覆盖策略的直接约束,因此这些测试特征向量就会具备明确的测试目的,能够精准的命中规则的关键逻辑分支,这样使得每一个测试特征向量都是有价值的,避免了产生大量无效的测试数据;而每一个测试特征向量都可能不止与一个规则是对应匹配的,因此确定与每一个测试特征向量匹配的一个或多个匹配规则,使单个测试特征向量的价值最大化,并计算期望输出值,将期望输出值、测试特征向量和匹配规则进行组合,最终形成了与测试目标精准对应的测试数据集合,可以利用生成的测试数据集合有针对性的实现测试,有利于测试的准确性。