一种回归测试范围确定方法、装置、设备及存储介质与流程
未命名
09-15
阅读:140
评论:0

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.图1为本技术实施例提供的一种回归测试范围确定方法的流程图;
34.图2为本技术实施例提供的一种回归测试范围确定装置的结构示意图。
具体实施方式
35.如本技术背景技术所述,当软件系统测试人员需要在测试新增功能和原有问题修改的时候,需要尽可能关注本次修改的代码数据对其他功能模块所带来的影响,也就是说,测试人员需要确定针对本次修改的代码数据的回归测试的范围,进而根据确定的回归测试范围对开发人员开发的软件系统进行回归测试。然后现有的回归测试的范围确定需要人工根据经验进行判断,对测试人员的技术要求较高,且得到的测试范围准确性较低。
36.为了解决上述技术问题,本技术实施例提供了一种回归测试范围确定方法,该方法包括:先获取待测试软件的新代码,然后基于预先构建的图神经网络模型对新代码进行回归测试分析,得到新代码对应的回归测试范围,所述回归测试范围用于表示新代码对应的知识图谱中发生关系变化的节点的集合,图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的,知识图谱为预先建立的以待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,待测试组件中包括至少一个组件,所述测试用例中包括至少一个用例。这样,通过利用训练好的图神经网络模型对知识图谱进行分析,得到新代码对待测试软件的影响范围,进而得到较为准确的测试范围,无需人工凭借经验获得回归测试范围,起到了降低测试人员的技术要求以及使得回归测试范围更加准确的效果。
37.需要说明的是,本技术提供的一种回归测试范围确定方法、装置、设备及存储介质可用于人工智能领域或金融领域。上述仅为示例,并不对本技术提供的一种回归测试范围确定方法、装置、设备及存储介质的应用领域进行限定。
38.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.图1为本技术实施例提供的一种回归测试范围确定方法的流程图。结合图1所示,本技术实施例提供的回归范围确定方法可以包括:
40.s101、获取待测试软件的新代码。
41.实现该方法之前,需要利用大量历史数据对图神经网络模型进行训练,包括利用待测试软件的原代码对应的历史知识图谱进行训练,使图神经网络模型学习知识图谱的特征信息和结构信息,使得训练后的图神经网络模型能够对知识图谱中节点之间的关系进行识别与判断。当对知识图谱中的节点进行改变时,能够自动得到变化节点对其他节点的造成的影响范围。
42.在进行回归测试时,需要得到新代码对其他功能模块造成的影响,即得到知识图谱中由于代码改变造成的关联关系发生变化的节点,因此先获取新代码,将新代码输入训练好的图神经网络模型中,训练好的图神经网络模型自动分析新代码对在知识图谱中造成的节点之间的关系变化。所述新代码为区别于待测试软件的原始代码的代码,具体的可以为用于对待检测软件进行问题修复或者对待检测软件升级改造的代码。
43.s102、基于预先构建的图神经网络模型对所述新代码进行回归测试分析,得到所述新代码对应的回归测试范围。
44.所述回归测试范围用于表示所述新代码对应的知识图谱中发生关系变化的节点的集合;所述图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的;所述知识图谱为预先建立的以所述待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,所述待测试组件中包括至少一个组件,所述测试用例中包括至少一个用例。
45.对新代码进行回归测试分析具体为图神经网络模型用新代码代替原代码,得到知识图谱中发生节点之间关系变化的节点,将知识图谱中发生节点之间关系变化的节点的集合作为回归测试范围。
46.需要说明的是,回归测试可以用于对问题修复或者软件升级造成的代码更改情况,因此新代码可以包括两种情况,用于对所述待检测软件进行升级改造的新代码或者用于对所述待检测软件进行问题修复的新代码。
47.当所述新代码为用于对所述待检测软件进行升级改造的新代码时,所述知识图谱为以所述待测试软件的原代码、待测试组件和测试用例为的实体节点的图谱。其中待测试组件可以根据软件的具体类型进行设置,例如可以具体设置为银行在交易过程中的交易路径、交易模块,当代码发生变化时,图神经网络模型自动判断是否会由于代码改变造成交易路径节点与其他节点之间的关系变化,若是,则将交易路径节点作为回归测试范围的一部分。可以理解的是,当所述新代码为用于对所述待检测软件进行升级改造的新代码时,所述测试用例为用于针对软件升级改造进行测试的用例。
48.当所述新代码为用于对所述待检测软件进行问题修复的新代码时,所述知识图谱为以所述待测试软件的原代码、待测试组件、测试用例、和所述待测试软件的历史缺陷数据为实体节点的图谱。同上文所述,待检测组件的具体内容可以根据回归检测所针对的软件具体设置,例如可以将待测试组件设置为银行交易模块,即在进行一次交易过程中所需要用到的模块。当新代码所做的更改为针对原有软件的特定问题进行修复时,可以通过图神经网络模型自动识别由代码的改变造成的在待测试组件节点、测试用例节点、和待测试软件的历史缺陷数据节点之间的关联关系的改变,进一步的将发生关系改变的节点集合作为回归测试的范围。
49.上述实施例中提供了一种回归测试范围确定方法,先获取待测试软件的新代码,然后基于预先构建的图神经网络模型对新代码进行回归测试分析,得到新代码对应的回归测试范围,所述回归测试范围用于表示新代码对应的知识图谱中发生关系变化的节点的集合,图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的,知识图谱为预先建立的以待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,待测试组件中包括至少一个组件,
所述测试用例中包括至少一个用例。这样,通过利用训练好的图神经网络模型对知识图谱进行分析,得到新代码对待测试软件的影响范围,进而得到较为准确的测试范围,无需人工凭借经验获得回归测试范围,起到了降低测试人员的技术要求以及使得回归测试范围更加准确的效果。
50.上述实施例中,图神经网络模型可以自动分析得到知识图谱中发生关系变化的节点的集合,并将所述节点的集合作为回归测试的范围输出,除此之外,所述图神经网络模型还可以根据所述知识图谱中节点之间的关系变化从所述测试用例中推荐对应的影响用例,利用所述影响用例对所述回归测试范围进行测试,若所述新代码的代码覆盖率低于预设值,则说明所述回归测试范围的准确性较低,需要对所述图神经网络模型进行优化。
51.由于预设的知识图谱中具有代表测试用例的节点,其中测试用例包括至少一个,图神经网络模型可以根据确定的回归测试范围推荐对应的测试用例,例如当回归测试的范围确定为交易路径,则推荐的测试用例为针对交易路径而设置的测试用例,即上述影响用例。利用影响用例进行回归测试,检测代码的覆盖率,当所述代码覆盖率低于预设值,例如设定预设值为85%,当代码覆盖率小于所述预设值时,说明所述回归测试范围的准确性较低,需要对所述图神经网络模型进行训练,具体的可以利用一些历史数据进行训练,对模型进行调优,所述对图神经网络模型进行训练的过程为本领域技术人员熟知的,在此不进行赘述。如此,通过检测新代码的覆盖率进一步判断图神经网络模型确定的回归测试范围的准确性,当所述图神经网络模型得到的回归测试范围的准确性较低时,通过补充历史回归测试范围确定案例,对图神经网络模型进行训练,以提高图神经网络模型的回归测试范围确定准确性。
52.在本技术实施例的一种实现方式中,所述方法还包括:将所述影响用例在显示界面中进行展示。
53.可以对多个测试用例进行编号,在所述多个测试用例中选择影响用例之后,将该影响用例对应的标号进行显示,以对测试人员进行提醒。为了达到对测试人员的提醒作用,进一步的还可以自动向相关人员发送邮件,当所述图神经网络模型需要进行训练时,可以用于提醒相关人员进行图神经网络模型的及时训练。
54.以上为本技术实施例提供回归测试范围确定方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
55.图2为本技术实施例提供的一种回归测试范围确定装置的结构示意图。
56.结合图2所示,本技术实施例提供的回归测试范围确定装置200,包括:
57.新代码获取模块210,用于获取待测试软件的新代码;
58.回归测试分析模块220,用于基于预先构建的图神经网络模型对所述新代码进行回归测试分析,得到所述新代码对应的回归测试范围所述回归测试范围用于表示所述新代码对应的知识图谱中发生关系变化的节点的集合;所述图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的;所述知识图谱为预先建立的以所述待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,所述待测试组件中包括至少一个组件,所述测试用例中包括至少一个用例。
59.在本技术实施例的一种方法中,所述新代码包括:
60.用于对所述待检测软件进行升级改造的新代码;
61.所述知识图谱为以所述待测试软件的原代码、待测试组件和测试用例为的实体节点的图谱。
62.在本技术实施例的一种方法中,所述新代码包括:
63.用于对所述待检测软件进行问题修复的新代码;
64.所述知识图谱为以所述待测试软件的原代码、待测试组件、测试用例、和所述待测试软件的历史缺陷数据为实体节点的图谱。
65.在本技术实施例的一种方法中,所述装置还包括:
66.影响用例推荐模块,用于根据所述知识图谱中节点之间的关系变化从所述测试用例中推荐对应的影响用例;
67.回归测试模块,用于利用所述影响用例对所述回归测试范围进行测试;
68.图神经网络模型优化模块,用于若所述新代码的代码覆盖率低于预设值时,对所述图神经网络模型进行优化。
69.在本技术实施例的一种方法中,所述装置还包括:展示模块,用于将所述影响用例在显示界面中进行展示。
70.本技术实施例还提供了对应的设备以及计算机存储介质,用于实现本技术实施例提供的方案。
71.其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本技术任一实施例所述的方法。
72.所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本技术任一实施例所述的方法。
73.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的方法。
74.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
75.还需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及装置实施例仅仅是示
意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
76.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种回归测试范围确定方法,其特征在于,所述方法包括:获取待测试软件的新代码;基于预先构建的图神经网络模型对所述新代码进行回归测试分析,得到所述新代码对应的回归测试范围;所述回归测试范围用于表示所述新代码对应的知识图谱中发生关系变化的节点的集合;所述图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的;所述知识图谱为预先建立的以所述待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,所述待测试组件中包括至少一个组件,所述测试用例中包括至少一个用例。2.根据权利要求1所述的方法,其特征在于,所述新代码包括:用于对所述待检测软件进行升级改造的新代码;所述知识图谱为以所述待测试软件的原代码、待测试组件和测试用例为的实体节点的图谱。3.根据权利要求1所述的方法,其特征在于,所述新代码包括:用于对所述待检测软件进行问题修复的新代码;所述知识图谱为以所述待测试软件的原代码、待测试组件、测试用例、和所述待测试软件的历史缺陷数据为实体节点的图谱。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述知识图谱中节点之间的关系变化从所述测试用例中推荐对应的影响用例;利用所述影响用例对所述回归测试范围进行测试;若所述新代码的代码覆盖率低于预设值,则对所述图神经网络模型进行优化。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述影响用例在显示界面中进行展示。6.一种回归测试范围确定装置,其特征在于,所述装置包括:新代码获取模块,用于获取待测试软件的新代码;回归测试分析模块,用于基于预先构建的图神经网络模型对所述新代码进行回归测试分析,得到所述新代码对应的回归测试范围所述回归测试范围用于表示所述新代码对应的知识图谱中发生关系变化的节点的集合;所述图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的;所述知识图谱为预先建立的以所述待测试软件的原代码、待测试组件、测试用例和所述待测试软件的历史缺陷数据中的一项以上作为实体节点的图谱,所述待测试组件中包括至少一个组件,所述测试用例中包括至少一个用例。7.根据权利要求6所述的装置,其特征在于,所述装置还包括:影响用例推荐模块,用于根据所述知识图谱中节点之间的关系变化从所述测试用例中推荐对应的影响用例;回归测试模块,用于利用所述影响用例对所述回归测试范围进行测试;图神经网络模型优化模块,用于若所述新代码的代码覆盖率低于预设值时,对所述图神经网络模型进行优化。8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
展示模块,用于将所述影响用例在显示界面中进行展示。9.一种计算设备,其特征在于,所述设备包括:存储器、处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
技术总结
本申请公开了一种回归测试范围确定方法、装置、设备及存储介质,可应用于人工智能领域或金融领域。在执行方法时,先获取待测试软件的新代码,然后基于预先构建的图神经网络模型对新代码进行回归测试分析,得到新代码对应的回归测试范围,所述回归测试范围用于表示新代码对应的知识图谱中发生关系变化的节点的集合,图神经网络模型是预先依据所述待测试软件的原代码对应的历史知识图谱训练得到的。这样,通过利用训练好的图神经网络模型对知识图谱进行分析,得到新代码对待测试软件的影响范围,进而得到较为准确的测试范围,无需人工凭借经验获得回归测试范围,起到了降低测试人员的技术要求以及使得回归测试范围更加准确的效果。效果。效果。
技术研发人员:李洋
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.06.21
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:姿态可控车辆的制作方法 下一篇:一种防水透气阀的组装自动线及其操作方法与流程