一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种代码测试方法及装置与流程

2023-03-19 04:34:48 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种代码测试方法及装置。


背景技术:

2.目前,在互联网技术普及并快速发展的今天,往往通过综合性研发测试平台全天24小时提供项目环境,并在此基础上进行高效率的项目产品研发及测试,以加快产品发布。现有技术中心,当研发人员提交代码后,测试人员与研发人员进行及时有效的信息沟通,从而无法有效的及时的做出测试判断。可见,现有方法中测试端和研发端之间相互独立,信息无法及时互通,从而导致测试端无法及时准确进行测试判断,降低了测试效率。


技术实现要素:

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.确定单元,用于根据所述分析结果确定测试所述研发代码未覆盖的接口数据及场景数据,得到测试未覆盖数据;
46.所述反馈单元,还用于将所述测试未覆盖数据反馈至所述测试用例运行端,以使所述测试用例运行端根据所述测试未覆盖数据重新对所述研发代码进行覆盖测试。
47.本技术实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例第一方面中任一项所述的代码测试方法。
48.本技术实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例第一方面中任一项所述的代码测试方法。
附图说明
49.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
50.图1为本技术实施例提供的一种代码测试方法的流程示意图;
51.图2为本技术实施例提供的另一种代码测试方法的流程示意图;
52.图3为本技术实施例提供的一种代码测试装置的结构示意图;
53.图4为本技术实施例提供的另一种代码测试装置的结构示意图;
54.图5为本技术实施例提供的一种时序及系统交互图。
具体实施方式
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
56.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
57.实施例1
58.请参看图1,图1为本实施例提供了一种代码测试方法的流程示意图。其中,该代码
测试方法包括:
59.s101、获取研发端提交的研发代码。
60.s102、分析研发代码的增量代码影响接口范围。
61.s103、根据增量代码影响接口范围判断接口文件是否需要更新,若是,则结束本流程;若否,则执行步骤s104。
62.s104、根据增量代码影响接口范围获取接口影响范围数据。
63.s105、将接口影响范围数据反馈至测试用例运行端,以使测试用例运行端根据接口影响范围数据对研发代码进行测试,得到测试数据。
64.本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
65.在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
66.可见,实施本实施例所描述的代码测试方法,能够便于研发人员及时地维护接口文档,以实时保持最新的状态;还能够便与测试人员实时做出影响范围判断,有效及时地进行测试案例设计和执行。
67.实施例2
68.请参看图2,图2为本实施例提供了一种代码测试方法的流程示意图。其中,该代码测试方法包括:
69.s201、获取研发端提交的研发代码。
70.s202、分析研发代码的增量代码影响接口范围。
71.s203、根据增量代码影响接口范围确定影响接口文件,并根据影响接口文件确定模糊接口。
72.s204、获取模糊接口的接口详细信息。
73.s205、根据接口详细信息判断模糊接口的请求参数中是否全部包含研发代码中的实体类参数定义,若是,则执行步骤s206;若否,则执行步骤s207~s213。
74.s206、反馈针对影响接口文件的更新提示信息至研发端,并结束本流程。
75.s207、根据接口文件获取接口名称变化数据和实体类参数变化数据。
76.s208、根据接口名称变化数据和实体类参数变化数据生成接口影响范围数据。
77.s209、将接口影响范围数据反馈至测试用例运行端,以使测试用例运行端根据接口影响范围数据对研发代码进行测试,得到测试数据。
78.s210、获取测试数据。
79.s211、对测试数据进行测试覆盖分析,得到分析结果。
80.s212、根据分析结果确定测试研发代码未覆盖的接口数据及场景数据,得到测试未覆盖数据。
81.s213、将测试未覆盖数据反馈至测试用例运行端,以使测试用例运行端根据测试未覆盖数据重新对研发代码进行覆盖测试。
82.本实施例中,该方法可以应用于金融领域。
83.本实施例中,该方法设计了一个精准测试系统,用于执行本技术提出的这种代码测试方法。具体举例流程如下:
84.(1)研发人员提交代码改动到gitlab;
85.(2)gitlab触发webhook通知到精准测试系统;
86.(3)精准测试系统分析增量代码影响的接口范围(涉及controller和service层的改动);
87.(4)精准测试系统请求arena平台查询这些影响的接口文档是否已更新;
88.(5)如果接口文档没有更新,通知到研发人员去维护更新接口文档;
89.(6)精准测试系统通知测试人员增量代码接口的影响范围;
90.(7)测试人员执行测试案例;
91.(8)精准测试系统从libra平台收集测试覆盖数据;
92.(9)精准测试系统分析libra数据,得出测试人员未覆盖的接口及场景,并且通知到测试人员。
93.在本实施例中,图5示出了一种时序及系统交互图。
94.本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
95.在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
96.可见,实施本实施例所描述的代码测试方法,能够便于研发人员及时地维护接口文档,以实时保持最新的状态;还能够便与测试人员实时做出影响范围判断,有效及时地进行测试案例设计和执行。
97.实施例3
98.请参看图3,图3为本实施例提供的一种代码测试装置的结构示意图。如图3所示,该代码测试装置包括:
99.第一获取单元310,用于获取研发端提交的研发代码;
100.分析单元320,用于分析研发代码的增量代码影响接口范围;
101.判断单元330,用于根据增量代码影响接口范围判断接口文件是否需要更新;
102.第二获取单元340,用于当判断出接口文件不需要更新时,根据增量代码影响接口范围获取接口影响范围数据;
103.反馈单元350,用于将接口影响范围数据反馈至测试用例运行端,以使测试用例运行端根据接口影响范围数据对研发代码进行测试,得到测试数据。
104.本实施例中,对于代码测试装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
105.可见,实施本实施例所描述的代码测试装置,能够便于研发人员及时地维护接口文档,以实时保持最新的状态;还能够便与测试人员实时做出影响范围判断,有效及时地进行测试案例设计和执行。
106.实施例4
107.请参看图4,图4为本实施例提供的一种代码测试装置的结构示意图。如图4所示,该代码测试装置包括:
108.第一获取单元310,用于获取研发端提交的研发代码;
109.分析单元320,用于分析研发代码的增量代码影响接口范围;
110.判断单元330,用于根据增量代码影响接口范围判断接口文件是否需要更新;
111.第二获取单元340,用于当判断出接口文件不需要更新时,根据增量代码影响接口范围获取接口影响范围数据;
112.反馈单元350,用于将接口影响范围数据反馈至测试用例运行端,以使测试用例运行端根据接口影响范围数据对研发代码进行测试,得到测试数据。
113.作为一种可选的实施方式,判断单元330包括:
114.第一确定子单元331,用于根据增量代码影响接口范围确定影响接口文件,并根据影响接口文件确定模糊接口;
115.第一获取子单元332,用于获取模糊接口的接口详细信息;
116.判断子单元333,用于根据接口详细信息判断模糊接口的请求参数中是否全部包含研发代码中的实体类参数定义;
117.第二确定子单元334,用于当判断没有全部包含研发代码中的实体类参数定义时,确定影响接口需要更新;以及当判断出全部包含了研发代码中的实体类参数定义时,确定影响接口不需要更新,并触发第二获取单元根据增量代码影响接口范围获取接口影响范围数据。
118.作为一种可选的实施方式,反馈单元350,还用于当根据增量代码影响接口范围判断出接口文件需要更新时,反馈针对影响接口文件的更新提示信息至研发端。
119.作为一种可选的实施方式,第二获取单元340包括:
120.第二获取子单元341,用于根据接口文件获取接口名称变化数据和实体类参数变化数据;
121.生成子单元342,用于根据接口名称变化数据和实体类参数变化数据生成接口影响范围数据。
122.作为一种可选的实施方式,代码测试装置还包括:
123.第二获取单元340,还用于获取测试数据;
124.分析单元320,还用于对测试数据进行测试覆盖分析,得到分析结果;
125.确定单元360,用于根据分析结果确定测试研发代码未覆盖的接口数据及场景数据,得到测试未覆盖数据;
126.反馈单元350,还用于将测试未覆盖数据反馈至测试用例运行端,以使测试用例运行端根据测试未覆盖数据重新对研发代码进行覆盖测试。
127.本实施例中,对于代码测试装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
128.可见,实施本实施例所描述的代码测试装置,能够便于研发人员及时地维护接口文档,以实时保持最新的状态;还能够便与测试人员实时做出影响范围判断,有效及时地进行测试案例设计和执行。
129.本技术实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例1或实施例2中的代码测试方法。
130.本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例1或实施例2中的代码测试方
法。
131.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
132.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
133.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
135.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
136.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献