测试用例处理方法、装置、电子设备及可读存储介质与流程

allin2023-04-16  95



1.本公开涉及计算机技术领域,尤其涉及测试技术领域,具体而言,本公开涉及一种测试用例处理方法、装置、电子设备及可读存储介质。


背景技术:

2.为测试互联网产品的质量,一般使用测试用例对互联网产品进行功能测试。目前,一般通过测试用例管理系统管理测试用例。为便于对测试用例的管理,测试用例管理系统中通常会构建测试用例树。
3.现有技术中,可能会存在向测试用例管理系统中导入测试用例数据的需求,如何在向测试用例管理系统中导入测试用例数据时,对测试用例树进行有效更新,成了为一个重要的技术问题。


技术实现要素:

4.本公开为了解决上述缺陷中的至少一项,提供了一种测试用例处理方法、装置、电子设备及可读存储介质。
5.根据本公开的第一方面,提供了一种测试用例处理方法,该方法包括:
6.获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
7.将第一测试用例树中的各第一节点分别导入第二测试用例树。
8.根据本公开的第二方面,提供了一种测试用例处理装置,该装置包括:
9.测试用例树获取模块,用于获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
10.节点导入模块,用于将第一测试用例树中的各第一节点分别导入第二测试用例树。
11.根据本公开的第三方面,提供了一种电子设备,该电子设备包括:
12.至少一个处理器;以及
13.与上述至少一个处理器通信连接的存储器;其中,
14.存储器存储有可被上述至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述测试用例处理方法。
15.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行上述测试用例处理方法。
16.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述测试用例处理方法。
17.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
18.附图用于更好地理解本方案,不构成对本公开的限定。其中:
19.图1是本公开实施例提供的一种测试用例处理方法的流程示意图;
20.图2是本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图;
21.图3是本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图;
22.图4是本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图;
23.图5是本公开实施例提供的规则池的结构示意图;
24.图6是本公开实施例提供的各规则的结构示意图。
25.图7是本公开实施例提供的另一种测试用例处理方法的流程示意图;
26.图8是本公开实施例提供的一种测试用例处理装置的结构示意图;
27.图9是本公开实施例提供的另一种测试用例处理装置的结构示意图;
28.图10是用来实现本公开实施例的测试用例处理方法的电子设备的框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.测试用例树是通过解析测试用例数据构建的树状结构图,用于对测试用例的管理。测试用例数据通常包括用例分组和测试用例,用例分组在测试用例树通过用例分组节点表示,测试用例在测试用例树通过测试用例节点表示。
31.测试用例管理系统能够为用户提供用例管理和用例查看等功能,测试用例管理系统中一般会根据已存测试用例数据构建测试用例树。
32.当向测试用例管理系统中导入测试用例数据时,如何根据待导入测试用例数据对测试用例树进行有效更新,成为了一个重要的技术问题。
33.在根据待导入的测试用例数据对测试用例树进行更新时,测试用例树中的节点间关系可能也需要进行调整,以保证测试用例树能够准确表达测试用例数据之间的关系。因此,如何调整测试用例树中的节点间关系,以维护测试用例数据之间的关系,是对测试用例树进行更新时的一个重要的技术问题。
34.本公开实施例提供的测试用例处理方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。
35.图1示出了本公开实施例提供的一种测试用例处理方法的流程示意图,如图1中所示,该方法主要可以包括:
36.步骤s110:获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
37.步骤s120:将第一测试用例树中的各第一节点分别导入第二测试用例树。
38.其中,已存测试用例数据可以为已经存储于测试用例管理系统中的测试用例数据,第二测试用例树是通过解析已存测试用例数据构建的。
39.待导入测试用例数据为待导入测试用例管理系统中的测试用例数据,在将待导入测试用例数据导入测试用例管理系统时,可以根据待导入测试用例数据对第二测试用例树进行更新,以保证第二测试用例树能够表示测试用例管理系统中测试用例数据之间的关系。
40.第一测试用例树是通过解析待导入测试用例数据构建的。可以在将待导入测试用例数据导入测试用例管理系统时,解析待导入测试用例数据,从而构建第一测试用例树。
41.本公开实施例中,可以将第一测试用例树中的各节点记做第一节点,通过将各第一节点分别导入第二测试用例树,使得第二测试用例树中包含第一节点对应的节点,实现对第二测试用例树的更新。更新后的第二测试用例树能够表示将待导入测试用例数据导入测试用例管理系统之后,测试用例管理系统中测试用例数据之间的关系。
42.本公开实施例提供的方法,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
43.本公开的一种可选方式中,将第一测试用例树中的各第一节点分别导入第二测试用例树,包括:
44.基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树。
45.本公开实施例中,待导入测试用例数据与已存测试用例数据之间可能存在一些相同的测试用例数据,使得第一测试用例树与第二测试用例树中存在相匹配的节点。相匹配的第一节点与第二节点对应有相同的测试用例数据。
46.邻接节点可以为节点的父节点和/或子节点。节点间关系可以包括子节点与其父节点之间的继承关系。
47.当第二测试用例树中存在与第一节点相匹配的第二节点时,第一节点在第一测试用例树中的邻接节点通常不同于第二节点在第二测试用例树中的邻接节点。如果直接将第一测试用例树作为子树插入第二测试用例树,而不对更新后第二测试用例树中第二节点的邻接节点进行调整,则可能使得部分节点的节点间关系存在冲突,也就无法准确表达测试用例数据之间的关系。因此,需要在第二测试用例树中存在与第一节点相匹配的第二节点时,对这些第二节点的邻接节点进行调整,以实现对节点间关系的调整。
48.本公开实施例中,可以在将第一测试用例树中的各第一节点分别导入第二测试用例树的过程中,分别确定各第一节点在第二测试用例树中是否存在相匹配的第二节点,并根据第一节点在第二测试用例树中是否存在相匹配的第二节点确定相应的处理方式,以实现对更新后第二测试用例树中节点间关系的调整。
49.本公开的一种可选方式中,基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树,包括:
50.当第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,
基于第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理。
51.本公开实施例中,当第一节点在第二测试用例树中存在相匹配的第二节点时,可以认为第一节点对应的测试用例数据已经存在于已存测试用例数据中,无需新增节点,这时可以根据第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理,以实现对更新后第二测试用例树中节点间关系的调整。
52.本公开实施例中,可以根据第二节点的节点类型、属性等信息为第二节点预配置邻接节点更新规则,以控制对第二节点的邻接节点的调整。
53.本公开实施例提供的方案,通过在第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,基于第二节点对应的邻接节点更新规则对第二节点的邻接节点进行处理,实现了对第二测试用例树中的节点间关系的有效调整,能够保证更新后的第二测试用例树能够准确表达测试用例数据之间的关系。
54.本公开的一种可选方式中,当第二节点对应的邻接节点更新规则为允许对第二节点的邻接节点进行更新时,对第二节点的邻接节点进行处理,包括:
55.将第一预指定节点确定为第二节点的邻接节点,或者,基于第一节点的邻接节点确定第二节点的邻接节点。
56.本公开实施例中,邻接节点更新规则可以包括允许对第二节点的邻接节点进行更新,或者不允许对第二节点的邻接节点进行更新。
57.当邻接节点更新规则为不允许对第二节点的邻接节点进行更新时,可以不对第二节点的邻接节点进行调整,相当于在将第一节点导入第二测试用例树时,忽略了第一节点在第一测试用例树中邻接节点,仍沿用第二测试用例树中原有的邻接节点,从而避免更新后的第二测试用例树中出现节点间关系存在冲突的情况。
58.当邻接节点更新规则为允许对第二节点的邻接节点进行更新时,可以将第一预指定节点作为第二节点的邻接节点。例如,第一预指定节点所指定的是第二节点的父节点,则可以将第一预指定节点作为第二节点的父节点。本公开实施中,也可以根据第一节点的邻接节点对第二节点的邻接节点进行调整,具体而言,可以将第一节点的邻接节点在第二测试用例树中的匹配节点作为第二节点的邻接节点。例如,确定第一节点在第一测试用例树中父节点,将第二测试用例树中与该父节点匹配的节点作为第二节点的父节点。
59.在实际使用中,第一预指定节点可以由测试人员根据实际需要进行设定。
60.作为一个示例,可以由第一测试用例树的根节点起,采用深度递归的方式遍历输入第一测试用例树,分别将各第一节点导入第二测试用例树。该示例中是从第一测试用例树的根节点起,依次将各层级的第一节点导入第二测试用例树,在对第二节点的节点间关系进行更新时,可以依次对各第二节点的父节点进行更新,最终完成对第二测试用例树中所有节点间关系的更新。
61.本公开的一种可选方式中,上述方法还包括:
62.基于第二节点对应的节点属性更新规则对第二节点的节点属性进行处理。
63.本公开实施例中,节点属性可以包括测试用例的类型(如为自动测试用例或者手工测试用例),以及测试用例的文件类型等。
64.当第二测试用例树中存在与第一节点相匹配的第二节点时,第一节点的节点属性可能会不同于相匹配的第二节点,这时可以通过配置节点属性更新规则来判断是否对第二
节点的节点属性进行更新。
65.本公开实施例中,可以根据第二节点的节点类型、属性等信息为第二节点预配置节点属性更新规则,以控制第二节点的节点属性更新。
66.在第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,还可以基于节点属性更新规则对第二节点的节点属性进行处理。
67.具体而言,节点属性更新规则可以包括以下任一项:
68.更新第二节点的全部节点属性;
69.更新第二节点的指定节点属性;
70.不更新第二节点的节点属性。
71.其中,若节点属性更新规则为更新第二节点的全部节点属性,则可以根据第一节点的全部节点属性对第二节点的全部节点属性进行更新。若节点属性更新规则为更新第二节点的指定节点属性,则可以根据第一节点的指定节点属性对第二节点的指定节点属性进行更新。指定节点属性可以由测试人员根据及时需要设定。若节点属性更新规则为不更新第二节点的节点属性,则可以不对第二节点的节点属性进行更新。
72.在实际使用中,节点属性更新规则可被预先配置,也可由测试人员根据实际的测试需求提交。可以对各节点属性更新规则分别设定不同的优先级,以便在测试人员提交的节点属性更新规则与预置的节点属性更新规则发生冲突时,基于优先级确定最终的节点属性更新规则。
73.作为一个示例,更新第二节点的全部节点属性的优先级高于更新第二节点的指定节点属性。测试人员提交的节点属性更新规则为更新第二节点的指定节点属性,预置的节点属性更新规则为更新第二节点的全部节点属性,此时基于优先级可以确定出最终的节点属性更新规则为更新第二节点的全部节点属性。
74.本公开的一种可选方式中,基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树,包括:
75.当第一测试用例树中的第一节点在第二测试用例树中不存在相匹配的第二节点时,在第二测试用例树中创建与所第一节点相匹配的第二节点,并确定第二节点的邻接节点。
76.本公开实施例中,当第一节点在第二测试用例树中不存在相匹配的第二节点时,可以在第二测试用例树中创建与所第一节点相匹配的第二节点,该第二节点为第二测试用例树中的新增节点,同时需要确定第二节点的邻接节点,从而实现将该第一节点导入第二测试用例树。
77.本公开的一种可选方式中,确定第二节点的邻接节点,包括:
78.将第二预指定节点确定为第二节点的邻接节点,或者,基于第一节点的邻接节点确定第二节点的邻接节点。
79.本公开实施例中,当第一节点在第二测试用例树中不存在相匹配的第二节点时,需要在第二测试用例树中的新增相匹配的第二节点,并需要确定第二节点的邻接节点。具体而言,可以将第二预指定节点作为第二节点的邻接节点,
80.例如,第二预指定节点所指定的是第二节点的父节点,则可以将第一预指定节点作为第二节点的父节点。本公开实施中,也可以根据第一节点的邻接节点对第二节点的邻
接节点进行调整,具体而言,可以将第一节点的邻接节点在第二测试用例树中的匹配节点作为第二节点的邻接节点。例如,确定第一节点在第一测试用例树中父节点,
81.在实际使用中,第二预指定节点间可以由测试人员根据实际需要进行设定。
82.本公开的一种可选方式中,第一测试用例树中各第一节点的节点标识与第二测试用例树中的各第二节点的节点标识均是基于预置的命名规则确定的,则上述方法还包括:
83.基于第一节点的节点标识以及第二测试用例树中各第二节点的节点标识,在第二测试用例树中查找是否存在与第一节点相匹配的第二节点。
84.本公开实施例中,第一测试用例树与第二测试用例树中的各节点的节点标识均可以基于预配置的命名规则确定,使得待导入测试用例数据与已存测试用例数据中相同的测试用例数据对应的节点时能够有相同的节点标识,节点标识相同的第一节点与第二节点相互匹配。在实际使用中,可以基于第一节点的节点标识在第二测试用例树中进行查找,确定是否存在节点标识相同的第二节点,从而确定第二测试用例树中是否存在与第一节点相匹配的第二节点。
85.图2示出了本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图。
86.如图2中所示,第一测试用例树中包括的第一节点为s4、s5、c3、c4以及c5,其中,s4与s5为用例分组节点,c3、c4以及c5为测试用例节点。第二测试用例树中包括的第二节点为s1、s2、s3、c1、c2、c3以及c4,其中,s1、s2以及s3为用例分组节点,c1、c2、c3以及c4为测试用例节点。更新后的第二测试用例树中包括的第二节点为s1、s2、s3、s4、s5、c1、c2、c3、c4以及c5,其中,s1、s2、s3、s4以及s5为用例分组节点,c1、c2、c3、c4以及c5为测试用例节点。
87.将各第一节点分别导入第二测试用例树得到更新后的第二测试用例树,具体过程为:
88.将第一节点s4导入第二测试用例树。第一节点s4在第二测试用例树中不存在相匹配的第二节点,在第二测试用例树中新增第二节点s4。第二节点s4的预指定的节点间关系为:第二节点s4的父节点为第二节点s2。从而将第二节点s4作为第二节点s2的子节点导入第二测试用例树。
89.将第一节点s5导入第二测试用例树。第一节点s5在第二测试用例树中不存在相匹配的第二节点,在第二测试用例树中新增第二节点s5。根据第一节点s5的节点间关系对第二节点s5的节点间关系进行更新,由第一节点s5的父节点为第一节点s4,将第二节点s5作为第二节点s4的子节点导入第二测试用例树。
90.将第一节点c3导入第二测试用例树。第一节点c3在第二测试用例树中存在相匹配的第二节点c3,第二节点c3的邻接节点更新规则为允许对第二节点c3对应的节点间关系进行更新,因此,可以根据第一节点c3的节点间关系对第二节点c3的节点间关系进行更新,由第一节点c3的父节点为第一节点s4,将第二节点s4作为第二节点c3的子节点导入第二测试用例树。第二节点c3的节点属性更新规则为更新第二节点c3的全部节点属性,可以根据第一节点c3全部节点属性对第二节点c3的全部节点属性进行更新。
91.将第一节点c4导入第二测试用例树。第一节点c3在第二测试用例树中存在相匹配的第二节点c4,第二节点c4的邻接节点更新规则为不允许对第二节点c3对应的节点间关系进行更新,因此,可以不对第二节点c4的节点间关系进行更新。第二节点c3的节点属性更新
规则为不更新第二节点的节点属性,因此可以不对第二节点c3的节点属性进行更新。
92.将第一节点c5导入第二测试用例树。第一节点c5在第二测试用例树中不存在相匹配的第二节点,在第二测试用例树中新增第二节点c5。根据第一节点c5的节点间关系对第二节点c5的节点间关系进行更新,由第一节点c5的父节点为第一节点s5,将第二节点c5作为第二节点s5的子节点导入第二测试用例树。
93.图3示出了本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图。
94.如图3中所示,开始遍历子树,树节点遍历,即遍历第一测试用例树中的各第一节点。
95.节点类型识别,即确定第一节点的节点类型,节点类型可以包括用例分组节点以及测试用例节点,节点类型可以与规则相对应。本例中的规则可以包括但是不限于邻接节点更新规则,节点属性更新规则。
96.规则处理包括:获取节点对应的规则池,将输入规则集与规则池中取交集,按照规则优先级排序,按照规则优先级确定生效规则。其中,规则池为预置的规则集合,包括预置的邻接节点更新规则以及节点属性更新规则,输入规则集为测试人员数据提交的规则,如测试人员数据提交的节点属性更新规则,在输入规则集与规则池中规则存在冲突时,基于规则的优先级顺序确定最终的生效规则,例如,测试人员提交的节点属性更新规则为更新第二节点的指定节点属性,规则池中预置的节点属性更新规则为更新第二节点的全部节点属性,更新第二节点的全部节点属性的优先级较高,此时基于优先级可以确定出最终的节点属性更新规则为更新第二节点的全部节点属性。
97.规则判断定,是否命中规则,即判断第一节点是否被配置有上述邻接节点更新规则或者节点属性更新规则,若第一节点被配置有上述邻接节点更新规则或者节点属性更新规则,可以基于邻接节点更新规则或者节点属性更新规则进行相应处理。若第一节点未被配置有上述邻接节点更新规则或者节点属性更新规则,则可以结束对当前第一节点的处理,继续遍历下一个第一节点。
98.是否存在子节点,即在遍历过程中确定被遍历到的第一节点是否仍具有子节点,若仍具有,则可以再次执行上述将第一节点导入第二测试用例树的操作,直至被遍历到的第一节点是否不具有子节点,此时,可以认为第一测试用例树中的所有第一节点已经均被倒入第二测试时用例树中,可以结束遍历操作。
99.图4示出了本公开实施例提供的将第一节点分别导入第二测试用例树得到更新后的第二测试用例树的流程示意图。
100.测试数据解析,即通过解析待导入测试用例数据生成第一测试用例树。
101.数据识别,即从第二测试用例树中识别出与第一节点匹配的第二节点。
102.数据生成,即生成节点信息,如节点属性、节点类型等。
103.合并目标树,即将第一节点分别导入第二测试用例树。
104.图5示出了本公开实施例提供的规则池的结构示意图。
105.如图5中所示,规则池1、规则池2、规则池3以及规则池4均为预置的规则池。规则池1中包括规则1-1、规则1-2、规则1-3等规则,规则池2中包括规则2-1、规则2-2、规则2-3等规则,规则池3中包括规则3-1、规则3-2、规则3-3等规则,规则池4中包括规则4-1、规则4-2、规
则4-3等规则。
106.规则池分别与节点类型相对应,如图5中所示,节点类型a与规则池1以及规则池2相对应,节点类型b与规则池3以及规则池4相对应。
107.图6示出了本公开实施例提供的各规则的结构示意图。
108.如图6所示,规则一般包含判断条件、执行操作、优先级三个部分。优先级用于当存在相冲突的规则时,按照优先级的顺序进行规则生效。当某个规则生效时,首先判断当前节点的属性是否符合当前规则的判断条件,如果符合则按照规则定义执行对应操作,反之,则跳过当前规则。
109.图7出了本公开实施例提供的另一种测试用例处理方法的流程示意图,如图7中所示,该方法主要可以包括:
110.步骤s710:获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
111.步骤s720:当第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,基于第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理;
112.步骤s730:当第一测试用例树中的第一节点在第二测试用例树中不存在相匹配的第二节点时,在第二测试用例树中创建与所第一节点相匹配的第二节点,并确定第二节点的邻接节点。
113.其中,已存测试用例数据可以为已经存储于测试用例管理系统中的测试用例数据,第二测试用例树是通过解析已存测试用例数据构建的。
114.待导入测试用例数据为待导入测试用例管理系统中的测试用例数据,在将待导入测试用例数据导入测试用例管理系统时,可以根据待导入测试用例数据对第二测试用例树进行更新,以保证第二测试用例树能够表示测试用例管理系统中测试用例数据之间的关系。
115.第一测试用例树是通过解析待导入测试用例数据构建的。可以在将待导入测试用例数据导入测试用例管理系统时,解析待导入测试用例数据,从而构建第一测试用例树。
116.本公开实施例中,可以将第一测试用例树中的各节点记做第一节点,通过将各第一节点分别导入第二测试用例树,使得第二测试用例树中包含第一节点对应的节点,实现对第二测试用例树的更新。更新后的第二测试用例树能够表示将待导入测试用例数据导入测试用例管理系统之后,测试用例管理系统中测试用例数据之间的关系。
117.本公开实施例提供的方法,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
118.本公开实施例中,待导入测试用例数据与已存测试用例数据之间可能存在一些相同的测试用例数据,使得第一测试用例树与第二测试用例树中存在相匹配的节点。相匹配的第一节点与第二节点对应有相同的测试用例数据。
119.邻接节点可以为节点的父节点和/或子节点。节点间关系可以包括子节点与其父节点之间的继承关系。
120.当第二测试用例树中存在与第一节点相匹配的第二节点时,第一节点在第一测试用例树中的邻接节点通常不同于第二节点在第二测试用例树中的邻接节点。如果直接将第一测试用例树作为子树插入第二测试用例树,而不对更新后第二测试用例树中第二节点的邻接节点进行调整,则可能使得部分节点的节点间关系存在冲突,也就无法准确表达测试用例数据之间的关系。因此,需要在第二测试用例树中存在与第一节点相匹配的第二节点时,对这些第二节点的邻接节点进行调整,以实现对节点间关系的调整。
121.本公开实施例中,可以在将第一测试用例树中的各第一节点分别导入第二测试用例树的过程中,分别确定各第一节点在第二测试用例树中是否存在相匹配的第二节点,并根据第一节点在第二测试用例树中是否存在相匹配的第二节点确定相应的处理方式,以实现对更新后第二测试用例树中节点间关系的调整。
122.本公开实施例中,当第一节点在第二测试用例树中存在相匹配的第二节点时,可以认为第一节点对应的测试用例数据已经存在于已存测试用例数据中,无需新增节点,这时可以根据第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理,以实现对更新后第二测试用例树中节点间关系的调整。
123.本公开实施例中,可以根据第二节点的节点类型、属性等信息为第二节点预配置邻接节点更新规则,以控制对第二节点的邻接节点的调整。
124.本公开实施例提供的方案,通过在第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,基于第二节点对应的邻接节点更新规则对第二节点的邻接节点进行处理,实现了对第二测试用例树中的节点间关系的有效调整,能够保证更新后的第二测试用例树能够准确表达测试用例数据之间的关系。
125.当第一测试用例树中的第一节点在第二测试用例树中不存在相匹配的第二节点时,在第二测试用例树中创建与所第一节点相匹配的第二节点,并确定第二节点的邻接节点。
126.本公开实施例中,当第一节点在第二测试用例树中不存在相匹配的第二节点时,可以在第二测试用例树中创建与所第一节点相匹配的第二节点,该第二节点为第二测试用例树中的新增节点,同时需要确定第二节点的邻接节点,从而实现将该第一节点导入第二测试用例树。
127.基于与图1中所示的方法相同的原理,图8示出了本公开实施例提供的一种测试用例处理装置的结构示意图,如图8所示,该测试用例处理装置80可以包括:
128.测试用例树获取模块810,用于获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
129.节点导入模块820,用于将第一测试用例树中的各第一节点分别导入第二测试用例树。
130.本公开实施例提供的装置,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
131.可选地,节点导入模块具体用于:
132.基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树。
133.可选地,节点导入模块在基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树时,具体用于:
134.当第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,基于第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理。
135.可选地,当第二节点对应的邻接节点更新规则为允许对第二节点的邻接节点进行更新时,节点导入模块在对第二节点的邻接节点进行处理时,具体用于:
136.将第一预指定节点确定为第二节点的邻接节点,或者,基于第一节点的邻接节点确定第二节点的邻接节点。
137.可选地,上述装置还包括:
138.节点属性更新模块,用于基于第二节点对应的节点属性更新规则对第二节点的节点属性进行处理。
139.可选地,节点属性更新规则包括以下任一项:
140.更新第二节点的全部节点属性;
141.更新第二节点的指定节点属性;
142.不更新第二节点的节点属性。
143.可选地,节点导入模块在基于第一测试用例树中的各第一节点在第二测试用例树中是否存在相匹配的第二节点,将第一节点导入第二测试用例树时,具体用于:
144.当第一测试用例树中的第一节点在第二测试用例树中不存在相匹配的第二节点时,在第二测试用例树中创建与所第一节点相匹配的第二节点,并确定第二节点的邻接节点。
145.可选地,节点导入模块在确定第二节点的邻接节点时,具体用于:
146.将第二预指定节点确定为第二节点的邻接节点,或者,基于第一节点的邻接节点确定第二节点的邻接节点。
147.可选地,第一测试用例树中各第一节点的节点标识与第二测试用例树中的各第二节点的节点标识均是基于预置的命名规则确定的,上述装置还包括:
148.匹配节点查找模块,用于基于第一节点的节点标识以及第二测试用例树中各第二节点的节点标识,在第二测试用例树中查找是否存在与第一节点相匹配的第二节点。
149.可以理解的是,本公开实施例中的测试用例处理装置的上述各模块具有实现图1中所示的实施例中的测试用例处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述测试用例处理装置的各模块的功能描述具体可以参见图1中所示实施例中的测试用例处理方法的对应描述,在此不再赘述。
150.基于与图7中所示的方法相同的原理,图9示出了本公开实施例提供的另一种测试用例处理装置的结构示意图,如图9所示,该测试用例处理装置90可以包括:
151.测试用例树获取模块910,用于获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;
152.第一节点导入模块920,用于当第一测试用例树中的第一节点在第二测试用例树中存在相匹配的第二节点时,基于第二节点对应的邻接节点更新规则,对第二节点的邻接节点进行处理;
153.第二节点导入模块930,用于当第一测试用例树中的第一节点在第二测试用例树中不存在相匹配的第二节点时,在第二测试用例树中创建与所第一节点相匹配的第二节点,并确定第二节点的邻接节点。
154.本公开实施例提供的装置,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
155.可以理解的是,本公开实施例中的测试用例处理装置的上述各模块具有实现图7中所示的实施例中的测试用例处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述测试用例处理装置的各模块的功能描述具体可以参见图7中所示实施例中的测试用例处理方法的对应描述,在此不再赘述。
156.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
157.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
158.该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例提供的测试用例处理方法。
159.该电子设备与现有技术相比,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
160.该可读存储介质为存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例提供的测试用例处理方法。
161.该可读存储介质与现有技术相比,通过获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
162.该计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例提供的测试用例处理方法。
163.该计算机程序产品与现有技术相比,通过获取待导入测试用例数据对应的第一测
试用例树以及已存测试用例数据对应的第二测试用例树,将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。
164.图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
165.如图10所示,电子设备1000包括计算单元1010,其可以根据存储在只读存储器(rom)1020中的计算机程序或者从存储单元1080加载到随机访问存储器(ram)1030中的计算机程序,来执行各种适当的动作和处理。在ram 1030中,还可存储设备1000操作所需的各种程序和数据。计算单元1010、rom 1020以及ram 1030通过总线1040彼此相连。输入/输出(i/o)接口1050也连接至总线1040。
166.设备1000中的多个部件连接至i/o接口1050,包括:输入单元1060,例如键盘、鼠标等;输出单元1070,例如各种类型的显示器、扬声器等;存储单元1080,例如磁盘、光盘等;以及通信单元1090,例如网卡、调制解调器、无线通信收发机等。通信单元1090允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
167.计算单元1010可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1010的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1010执行本公开实施例中所提供的测试用例处理方法。例如,在一些实施例中,执行本公开实施例中所提供的测试用例处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1080。在一些实施例中,计算机程序的部分或者全部可以经由rom 1020和/或通信单元1090而被载入和/或安装到设备1000上。当计算机程序加载到ram 1030并由计算单元1010执行时,可以执行本公开实施例中所提供的测试用例处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1010可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开实施例中所提供的测试用例处理方法。
168.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
169.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来
编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
170.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
171.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
172.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
173.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
174.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
175.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:
1.一种测试用例处理方法,包括:获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;将所述第一测试用例树中的各第一节点分别导入所述第二测试用例树。2.根据权利要求1所述的方法,其中,所述将所述第一测试用例树中的各第一节点分别导入所述第二测试用例树,包括:基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树。3.根据权利要求2所述的方法,其中,所述基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树,包括:当所述第一测试用例树中的第一节点在所述第二测试用例树中存在相匹配的第二节点时,基于所述第二节点对应的邻接节点更新规则,对所述第二节点的邻接节点进行处理。4.根据权利要求3所述的方法,其中,当所述第二节点对应的邻接节点更新规则为允许对所述第二节点的邻接节点进行更新时,所述对所述第二节点的邻接节点进行处理,包括:将第一预指定节点确定为所述第二节点的邻接节点,或者,基于所述第一节点的邻接节点确定所述第二节点的邻接节点。5.根据权利要求3或4所述的方法,还包括:基于所述第二节点对应的节点属性更新规则对所述第二节点的节点属性进行处理。6.根据权利要求5所述的方法,其中,所述节点属性更新规则包括以下任一项:更新所述第二节点的全部节点属性;更新所述第二节点的指定节点属性;不更新所述第二节点的节点属性。7.根据权利要求2-6中任一项所述的方法,所述基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树,包括:当所述第一测试用例树中的第一节点在所述第二测试用例树中不存在相匹配的第二节点时,在所述第二测试用例树中创建与所第一节点相匹配的第二节点,并确定所述第二节点的邻接节点。8.根据权利要求7所述的方法,其中,所述确定所述第二节点的邻接节点,包括:将第二预指定节点确定为所述第二节点的邻接节点,或者,基于所述第一节点的邻接节点确定所述第二节点的邻接节点。9.根据权利要求2-8中任一项所述的方法,其中,所述第一测试用例树中各第一节点的节点标识与所述第二测试用例树中的各第二节点的节点标识均是基于预置的命名规则确定的,所述方法还包括:基于所述第一节点的节点标识以及所述第二测试用例树中各第二节点的节点标识,在所述第二测试用例树中查找是否存在与所述第一节点相匹配的第二节点。10.一种测试用例处理装置,包括:测试用例树获取模块,用于获取待导入测试用例数据对应的第一测试用例树以及已存
测试用例数据对应的第二测试用例树;节点导入模块,用于将所述第一测试用例树中的各第一节点分别导入所述第二测试用例树。11.根据权利要求10所述的装置,其中,所述节点导入模块具体用于:基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树。12.根据权利要求11所述的装置,其中,所述节点导入模块在基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树时,具体用于:当所述第一测试用例树中的第一节点在所述第二测试用例树中存在相匹配的第二节点时,基于所述第二节点对应的邻接节点更新规则,对所述第二节点的邻接节点进行处理。13.根据权利要求12所述的装置,其中,当所述第二节点对应的邻接节点更新规则为允许对所述第二节点对应的邻接节点进行更新时,所述节点导入模块在对所述第二节点的邻接节点进行处理时,具体用于:将第一预指定节点确定为所述第二节点的邻接节点,或者,基于所述第一节点的邻接节点确定所述第二节点的邻接节点。14.根据权利要求12或13所述的装置,还包括:节点属性更新模块,用于基于所述第二节点对应的节点属性更新规则对所述第二节点的节点属性进行处理。15.根据权利要求11-14中任一项所述的装置,其中,所述节点导入模块在基于所述第一测试用例树中的各第一节点在所述第二测试用例树中是否存在相匹配的第二节点,将所述第一节点导入所述第二测试用例树时,具体用于:当所述第一测试用例树中的第一节点在所述第二测试用例树中不存在相匹配的第二节点时,在所述第二测试用例树中创建与所第一节点相匹配的第二节点,并确定所述第二节点的邻接节点。16.根据权利要求15所述的装置,其中,所述节点导入模块在确定所述第二节点的邻接节点时,具体用于:将第二预指定节点确定为所述第二节点的邻接节点,或者,基于所述第一节点的邻接节点确定所述第二节点的邻接节点。17.根据权利要求11-16中任一项所述的装置,其中,所述第一测试用例树中各第一节点的节点标识与所述第二测试用例树中的各第二节点的节点标识均是基于预置的命名规则确定的,所述装置还包括:匹配节点查找模块,用于基于所述第一节点的节点标识以及所述第二测试用例树中各第二节点的节点标识,在所述第二测试用例树中查找是否存在与所述第一节点相匹配的第二节点。18.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处
理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。20.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。

技术总结
本公开提供了一种测试用例处理方法、装置、电子设备及可读存储介质,涉及计算机领域,尤其涉及测试技术领域。具体实现方案为:获取待导入测试用例数据对应的第一测试用例树以及已存测试用例数据对应的第二测试用例树;将第一测试用例树中的各第一节点分别导入第二测试用例树。本方案中,通过将待导入测试用例数据构建的第一测试用例树中节点分别导入第二测试用例树,实现对第二测试用例树的有效更新,能够满足导入测试用例数据时的使用需求。能够满足导入测试用例数据时的使用需求。能够满足导入测试用例数据时的使用需求。


技术研发人员:周梧桐 张克鹏 宁梦龙 黄晓燕 穆礼
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2022.05.13
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-10613.html

最新回复(0)