一种基于知识图谱的测试策略生成方法及相关产品与流程

未命名 09-22 阅读:97 评论:0


1.本技术涉及人工智能或金融的技术领域,特别是涉及一种基于知识图谱的测试策略生成方法及相关产品。


背景技术:

2.大型项目通常具有需求庞大、涉及上下游系统复杂的测试用例规模,具体的测试用例规模可能达到几万甚至几十万条不等。
3.在测试周期、测试人员和测试设备等条件的制约下,测试用例的执行顺序往往会严重影响测试进度,进而影响项目质量,测试执行效率很低。例如,策略一为先执行a测试用例,后执行b测试用例;策略二为先执行b测试用例,后执行a测试用例。相较于b测试用例,a测试用例错误率较高,关联的测试用例较多,策略一的测试进度可能较快,项目质量也高,而测试二则进度较慢,进而项目质量也不高。
4.因此,如何提供效率较高的测试执行策略,是本领域技术人员亟需解决的技术问题。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种基于知识图谱的测试策略生成方法及相关产品,旨在提供效率较高的测试执行策略。
6.第一方面,本技术实施例提供了一种基于知识图谱的测试策略生成方法,包括:
7.获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;
8.根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;
9.根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;
10.学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;
11.将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。
12.可选的,所述学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征,包括:
13.基于line图嵌入方法,学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。
14.可选的,在所述获取多个测试用例的属性信息之后,所述方法还包括:
15.将所述多个测试用例的属性信息存储于mysql数据库。
16.可选的,在所述根据所述多个测试用例的属性信息,建立所述多个测试用例的知
识图谱之后,所述方法还包括:
17.将所述多个测试用例的知识图谱存储于neo4j图数据库;
18.定期判断所述多个测试用例的属性信息是否发生变化;
19.若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。
20.可选的,所述根据所述多个测试用例的属性信息更新所述neo4j图数据库,包括:
21.响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;
22.根据所述新增的测试用例的属性信息和所述多个测试用例的属性信息,建立变更后的知识图谱;
23.将所述变更后的知识图谱存储于neo4j图数据库。
24.第二方面,本技术实施例提供了一种基于知识图谱的测试策略生成装置,包括:
25.属性信息获取模块,用于获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;
26.图谱建立模块,用于根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;
27.属性特征获取模块,用于根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;
28.网络特征获取模块,用于学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;
29.策略生成模块,用于将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。
30.可选的,所述网络特征获取模块,包括:
31.学习单元,用于基于line图嵌入方法,学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。
32.可选的,所述装置还包括:
33.数据库存储模块,用于将所述多个测试用例的属性信息存储于mysql数据库。
34.可选的,所述装置还包括:
35.图数据库存储模块,用于将所述多个测试用例的知识图谱存储于neo4j图数据库;
36.定期判断模块,用于定期判断所述多个测试用例的属性信息是否发生变化;
37.更新模块,用于若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。
38.可选的,所述更新模块,包括:
39.新增获取单元,用于响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;
40.知识图谱建立单元,用于根据所述新增的测试用例的属性信息和所述多个测试用例的属性信息,建立变更后的知识图谱;
41.变更存储单元,用于将所述变更后的知识图谱存储于neo4j图数据库。
42.第三方面,本技术实施例提供了一种设备,所述设备包括存储器和处理器,所述存
储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面任一项所述的基于知识图谱的测试策略生成方法。
43.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述的基于知识图谱的测试策略生成方法。
44.本技术实施例提供了一种基于知识图谱的测试策略生成方法及相关产品,在执行所述方法时,先获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。这样,通过xgboost模型分析所述属性特征和所述网络特征,得到优先级较高的测试用例,生成的测试执行策略可以优先执行错误率较高或影响其他测试进度的测试用例,提升整个项目的测试进度,进而提升项目质量。
附图说明
45.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术实施例提供的基于知识图谱的测试策略生成方法的一种方法流程图;
47.图2为本技术实施例提供的基于知识图谱的测试策略生成方法的另一种方法流程图;
48.图3为本技术实施例提供的基于知识图谱的测试策略生成装置的一种结构示意图。
具体实施方式
49.在测试周期、测试人员和测试设备等条件的制约下,测试用例的执行顺序往往会严重影响测试进度,进而影响项目质量,测试执行效率很低。
50.例如,策略一为先执行a测试用例,后执行b测试用例;策略二为先执行b测试用例,后执行a测试用例。相较于b测试用例,a测试用例错误率较高,关联的测试用例较多,策略一的测试进度可能较快,项目质量也高,而测试二则进度较慢,进而项目质量也不高。
51.本技术实施例提供的方法由计算机设备执行,用于提供效率较高的测试执行策略。
52.需要说明的是,本发明提供的基于知识图谱的测试策略生成方法及相关产品可用于人工智能领域或金融领域。上述仅为示例,并不对本发明提供的基于知识图谱的测试策
略生成方法及相关产品的应用领域进行限定。
53.显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.参见图1,图1为本技术实施例提供的基于知识图谱的测试策略生成方法的一种方法流程图,包括:
55.步骤s101:获取多个测试用例的属性信息。
56.在通过对多个测试用例进行数据清洗、合并等预处理后,可以通过信息抽取的方法,可以获取多个测试用例的基本信息,即属性信息。属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种。
57.其中,测试用例编号是每一条测试用例的唯一编号;所属系统用于标识每一条测试用例是哪个系统的测试用例,如存款系统的测试用例、atm系统的测试用例、手机银行系统的测试用例;上游系统、下游系统是每一条测试用例在执行时交易链路的上下游系统,如手机银行开户这条测试用例,上游系统手机银行发起开户请求至下游系统客户信息,下游系统客户信息创建完客户后将客户号返回上游系统手机银行;测试场景是每一条测试用例所属的测试场景,如工作日营业场景、每月结息场景、网络故障场景等;业务功能是每一条测试用例所属的业务功能,如开账户功能、销户功能、挂失账户功能等;测试类型是每一条测试用例属于什么测试类型,例如正向测试流程、破坏类测试、性能测试等;测试设备是执行这条测试用例需要使用什么设备,例如智能柜台、atm机具、打印机、指纹仪等;执行状态是一条测试用例的执行状态,如成功、失败、延迟、阻碍等;测试账号是测试使用的账号,如测试用银行卡号、测试用支票号等。
58.作为一种可能的实施方式,可以将所述多个测试用例的属性信息存储于mysql数据库。mysql数据库运行速度快、可移植性强、安全性和连接性性能也比较好,可以便于后续对属性信息的移植和使用。
59.步骤s102:根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱。
60.根据测试用例属性信息进行关联,例如有20条测试用例使用的是同一个测试设备智能柜台执行,有10条测试用例上游系统都是手机银行等,就可以将这些测试用例关联起来,通过这种关联,建立测试用例的关系图谱。每个属性信息相关联的信息都可以建立知识图谱的联系,通过知识图谱可以清晰地看出使用与其他测试用例相关性高的测试用例,这些也就是需要优先测试的测试用例,以免因为较晚执行优先级较高的测试用例,影响到其他测试用例的重复执行。
61.步骤s103:根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征。
62.属性特征用于标准化表示所述属性信息。构建测试用例的属性特征,针对不同的测试用例属性信息,可以对应不同的属性特征。例如,测试用例编号的属性特征为唯一数字编码;所属系统的属性特征是存款属于核心系统、atm属于渠道系统等;上游系统、下游系统的属性特征与其本身相同;测试场景的属性特征为正常场景、异常场景等。具体的属性特征
的设置方法可以提前预设,在此不做限定。
63.而针对不同的属性特征,可以采用不同的特征处理方式。例如对于基本的测试用例编号、所属系统、上下游系统等,采用独热编码处理。对于测试类型、测试账号等数值类特征,采用等频分桶归一化处理。
64.步骤s104:学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。
65.在得到多个测试用例的网络特征时,可以基于line图嵌入方法,学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。图嵌入的方法更加直观、局限性较好,可以压缩数据,可扩展性高,很容易找到多个测试用例节点的表示的最低维度。
66.步骤s105:将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略。
67.xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。根据测试用例的属性特征及网络特征,训练xgboost模型,利用训练好的模型制定测试执行策略,对于测试系统关键链路重要功能的测试用例优先执行,对于同一测试场景下的测试用例可以并行执行等。如:工作日营业场景下智能柜台渠道开账户相关的测试用例的执行优先级较高且具备执行条件。
68.综上所述,本实施例通过xgboost模型分析所述属性特征和所述网络特征,得到优先级较高的测试用例,实现了从数据挖掘角度为测试执行提供更智能化的执行策略,大大提高了测试执行效率。
69.在本技术实施例中,上述图1所述的步骤存在多种可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本技术实施例的全部实现方式。
70.参见图2,该图为本技术实施例提供的基于知识图谱的测试策略生成方法的另一种方法流程图,包括:
71.步骤s201:获取多个测试用例的属性信息。
72.步骤s202:根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱。
73.步骤s203:将所述多个测试用例的知识图谱存储于neo4j图数据库。
74.neo4j图数据库是一个nosql的图数据库管理系统,像其他nosql数据库一样具有高效的查询性能。同时,neo4j还具有完全事务管理特性,完全支持acid事务管理。不仅便于存储,也便于后续对于知识图谱的使用。
75.步骤s204:定期判断所述多个测试用例的属性信息是否发生变化。
76.随着测试进度的推进,定时更新mysql中测试用例的属性信息,当测试用例的执行状态或其他属性发生改变后,根据变更后的属性更新当前neo4j图数据库。
77.步骤s205:若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。
78.对于新增的测试用例,由于在关系图谱中没有关联,需要先进行测试用例属性抽取、关系图谱构建等过程,最后存入当前图数据库中。即响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;根据所述新增的测试用例的属性信息和所述多个
测试用例的属性信息,建立变更后的知识图谱;将所述变更后的知识图谱存储于neo4j图数据库。这样,可以使得neo4j图数据库中的属性信息一直都保持在最新的状态,保证测试用例的实时性,也可以减少不必要的测试进程。
79.步骤s206:根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征。
80.步骤s207:学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。
81.步骤s208:将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略。
82.综上所述,本实施例通过定期更新测试用例的属性信息,保证了整个项目测试进度的实时性,减少了不必要的测试进程,提高了测试效率,进而保证了项目的测试质量。
83.以上为本技术实施例提供基于知识图谱的测试策略生成方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
84.参见图3所示的基于知识图谱的测试策略生成装置的结构示意图,该装置包括属性信息获取模块301、图谱建立模块302、属性特征获取模块303、网络特征获取模块304和策略生成模块305。
85.属性信息获取模块301,用于获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;
86.图谱建立模块302,用于根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;
87.属性特征获取模块303,用于根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;
88.网络特征获取模块304,用于学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;
89.策略生成模块305,用于将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。
90.作为一种可能的实施方式,所述网络特征获取模块304,包括:
91.学习单元,用于基于line图嵌入方法,学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。
92.作为一种可能的实施方式,所述装置还包括:
93.数据库存储模块,用于将所述多个测试用例的属性信息存储于mysql数据库。
94.作为一种可能的实施方式,所述装置还包括:
95.图数据库存储模块,用于将所述多个测试用例的知识图谱存储于neo4j图数据库;
96.定期判断模块,用于定期判断所述多个测试用例的属性信息是否发生变化;
97.更新模块,用于若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。
98.作为一种可能的实施方式,所述更新模块,包括:
99.新增获取单元,用于响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;
100.知识图谱建立单元,用于根据所述新增的测试用例的属性信息和所述多个测试用例的属性信息,建立变更后的知识图谱;
101.变更存储单元,用于将所述变更后的知识图谱存储于neo4j图数据库。
102.本技术实施例还提供了对应的设备以及计算机存储介质,用于实现本技术实施例提供的方案。
103.其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本技术任一实施例所述的基于知识图谱的测试策略生成方法。
104.所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本技术任一实施例所述的基于知识图谱的测试策略生成方法。
105.本技术实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
106.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的方法。
107.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
108.以上所述仅是本技术示例性的实施方式,并非用于限定本技术的保护范围。

技术特征:
1.一种基于知识图谱的测试策略生成方法,其特征在于,所述方法包括:获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。2.根据权利要求1所述的方法,其特征在于,所述学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征,包括:基于line图嵌入方法,学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征。3.根据权利要求1所述的方法,其特征在于,在所述获取多个测试用例的属性信息之后,所述方法还包括:将所述多个测试用例的属性信息存储于mysql数据库。4.根据权利要求1所述的方法,其特征在于,在所述根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱之后,所述方法还包括:将所述多个测试用例的知识图谱存储于neo4j图数据库;定期判断所述多个测试用例的属性信息是否发生变化;若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。5.根据权利要求4所述的方法,其特征在于,所述根据所述多个测试用例的属性信息更新所述neo4j图数据库,包括:响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;根据所述新增的测试用例的属性信息和所述多个测试用例的属性信息,建立变更后的知识图谱;将所述变更后的知识图谱存储于neo4j图数据库。6.一种基于知识图谱的测试策略生成装置,其特征在于,所述装置包括:属性信息获取模块,用于获取多个测试用例的属性信息,所述属性信息包括测试用例编号、所属系统、上游系统、下游系统、测试场景、业务功能、测试类型、测试设备、执行状态和测试账号中的一种或多种;图谱建立模块,用于根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;属性特征获取模块,用于根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征,所述属性特征用于标准化表示所述属性信息;网络特征获取模块,用于学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;
策略生成模块,用于将所述属性特征和所述网络特征输入xgboost模型,得到测试执行策略,所述xgboost模型用于分析所述属性特征和所述网络特征,得到测试优先级高的测试用例。7.根据权利要求6所述的装置,其特征在于,所述装置还包括:图数据库存储模块,用于将所述多个测试用例的知识图谱存储于neo4j图数据库;定期判断模块,用于定期判断所述多个测试用例的属性信息是否发生变化;更新模块,用于若是,根据所述多个测试用例的属性信息更新所述neo4j图数据库。8.根据权利要求7所述的装置,其特征在于,所述更新模块,包括:新增获取单元,用于响应于所述多个测试用例新增测试用例,获取新增的测试用例的属性信息;知识图谱建立单元,用于根据所述新增的测试用例的属性信息和所述多个测试用例的属性信息,建立变更后的知识图谱;变更存储单元,用于将所述变更后的知识图谱存储于neo4j图数据库。9.一种设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行权利要求1至5任一项所述的基于知识图谱的测试策略生成方法。10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的计算机存储设备实现权利要求1至5任一项所述的基于知识图谱的测试策略生成方法。

技术总结
本申请提供了一种基于知识图谱的测试策略生成方法及相关产品,可应用于人工智能领域或金融领域,包括:获取多个测试用例的属性信息;根据所述多个测试用例的属性信息,建立所述多个测试用例的知识图谱;根据所述多个测试用例的属性信息,获取所述多个测试用例的属性特征;学习所述多个测试用例的知识图谱中多个测试用例节点的低维表示,得到所述多个测试用例的网络特征;将所述属性特征和所述网络特征输入Xgboost模型,得到测试执行策略。这样,通过模型分析得到优先级较高的测试用例,生成的测试执行策略可以优先执行错误率较高或影响其他测试进度的测试用例,提升整个项目的测试进度,进而提升项目质量。进而提升项目质量。进而提升项目质量。


技术研发人员:贾琳 吕婉晴 叶靓璇 施玮琦 翁晴晴 岳茹霞 董琪 张宗洋 李婷姝 阮文静 朱伟伟
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.06.16
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐