针对代码测试的管理方法以及相关设备与流程



1.本技术涉及计算机技术领域,具体涉及一种针对代码测试的管理方法以及相关设备。


背景技术:



2.在项目开发和维护过程中,开发人员经常需要对代码进行变更。在目前的相关技术中,在代码发生变更后,需要开发人员通过人工的方式主动去通知到对应的测试人员,如通过即时通讯(im,internet message)消息进行通知,以便测试人员进行相关测试。但是这种方式往往依赖于代码编写提交人员的自觉遵守流程制度,容易导致存在改动的代码未及时告知到测试人员的情况,不利于提高测试效率和测试质量。比如,可能会存在以下问题:某代码功能块已经测试完毕,若开发人员再对其进行变更,且未通知测试人员,则该代码功能块不会进行重新测试,导致代码测试未覆盖,出现生产问题。


技术实现要素:



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.图1a是本技术实施例提供的针对代码测试的管理方法的场景示意图;
33.图1b是本技术实施例提供的针对代码测试的管理方法的流程图;
34.图1c是本技术实施例提供的针对代码测试的管理方法的另一流程图;
35.图2是本技术实施例提供的针对代码测试的管理方法的另一流程图;
36.图3是本技术实施例提供的针对代码测试的管理装置的结构示意图;
37.图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
38.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.本技术实施例提供一种针对代码测试的管理方法以及相关设备,相关设备可以包括针对代码测试的管理装置、电子设备、计算机可读存储介质和计算机程序产品。该针对代码测试的管理装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
40.可以理解的是,本实施例的针对代码测试的管理方法可以是在终端上执行的,也可以是在服务器上执行,还可以由终端和服务器共同执行的。以上举例不应理解为对本技术的限制。
41.如图1a所示,以终端和服务器共同执行针对代码测试的管理方法为例。本技术实施例提供的针对代码测试的管理系统包括终端10和服务器11等;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等,其中,针对代码测试的管理装置可以集成在服务器中。
42.其中,服务器11,可以用于:接收开发人员发送的代码合并请求,所述代码合并请
求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。其中,服务器11可以是单台服务器,也可以是由多个服务器组成的服务器集或云服务器。
43.其中,终端10,可以用于:接收服务器11发送的目标差异代码,并基于所述目标差异代码进行代码测试。其中,终端10可以包括手机、智能电视、平板电脑、笔记本电脑、或个人计算机(pc,personal computer)等。终端10上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
44.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
45.本实施例将从针对代码测试的管理装置的角度进行描述,该针对代码测试的管理装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。
46.如图1b所示,该针对代码测试的管理方法的具体流程可以如下:
47.101、接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中。
48.其中,开发人员具体为进行项目开发的人员。目标代码文件为第一代码分支中改动后的代码文件。
49.具体地,开发人员在开发产品的时候往往会维护一个稳定的主干分支,对于新接收的需求任务,开发人员可以从稳定的主干分支上拉取一个新的分支,做新需求的开发。
50.其中,第一代码分支可以是用于调试(debug)程序的开发分支,如dev分支等。其中,dev分支是一个开发分支,具体可以用于给开发人员进行程序调试。
51.其中,第二代码分支可以为产品或业务对应的预上线分支,具体可以是发布提测阶段所创建的代码分支。例如,产品即将正式上线时,或者称即将发布阶段时,可以创建第二代码分支。第二代码分支可以是release分支,release分支具体为用以测试、修复线下故障(bug)及发布的分支。
52.在一具体场景中,开发人员在第一代码分支编写代码,当开发人员将编写完成的代码提交时,可以生成代码合并请求,根据代码合并请求,可以将在第一代码分支改动的目标代码文件合并到第二代码分支中。
53.102、从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求。
54.其中,目标代码文件关联的目标业务需求可以是开发人员手动确定的,也可以是该针对代码测试的管理装置基于目标代码文件中代码的类型来确定得到。
55.可选的,本实施例中,步骤“从所述目标代码文件中识别出所述开发人员所改动的目标差异代码”,可以包括:
56.获取所述目标代码文件改动前对应的原始代码文件;
57.将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比;
58.根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码。
59.其中,原始代码文件可以是开发人员改动前,第一代码分支中的代码文件。具体地,原始代码文件中的代码可以按照功能进行分块处理,得到原始代码文件对应的一个或多个功能子代码,同样,目标代码文件也可以按照功能进行分块处理,从而得到目标代码文件对应的一个或多个功能子代码。
60.其中,将目标代码文件中各功能子代码和原始代码文件中各功能子代码进行对比,具体可以是针对目标代码文件中每一功能子代码,将其与原始代码文件中各功能子代码进行对比,确定目标代码文件中的该功能子代码是否出现在原始代码文件中。
61.其中,步骤“根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码”,具体可以包括:将目标代码文件中未出现在原始代码文件中的功能子代码确定为开发人员所改动过的功能子代码,并将其确定为目标差异代码。
62.其中,目标差异代码具体可以是diff code。
63.可选的,本实施例中,步骤“将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比”,可以包括:
64.对所述目标代码文件中各功能子代码进行哈希运算,得到所述目标代码文件中各功能子代码对应的第一哈希值;
65.对所述原始代码文件中各功能子代码进行哈希运算,得到所述原始代码文件中各功能子代码对应的第二哈希值;
66.将所述第一哈希值和所述第二哈希值进行对比。
67.其中,第一哈希值为目标代码文件中功能子代码对应的消息摘要,第二哈希值为业务终原始代码文件中功能子代码对应的消息摘要。
68.其中,哈希运算所采用的算法可以是安全散列算法(sha,secure hash algorithm)和消息摘要算法第五版(md5,message digest algorithm 5)等,本实施例对此不作限定。
69.哈希运算(hash function)是一种主要用于信息安全领域中的加密算法,哈希运算又称为散列函数,是一种通过散列算法,将任意长度的输入转化为固定长度输出的函数,其输出为固定长度的字符串,被称为哈希值。这种转化的本质是一种压缩映射,即哈希值的空间通常小于输入值的空间。哈希运算的一个重要属性是不可逆,即给定一个哈希值,想要计算出它所对应的消息是极其困难的。其中,不同输入值对应的输出值基本不同,不同输出值对应的输入值不同,所以不可能从散列值来确定唯一的输入值,也就是说,没有办法从输出的哈希值得到原来输入的数据。
70.其中,将第一哈希值和第二哈希值进行对比,即对比第一哈希值和第二哈希值是否相同。若第一哈希值和第二哈希值相同,表明目标代码文件中功能子代码和原始代码文件中功能子代码相同;若第一哈希值和第二哈希值不同,表明目标代码文件中功能子代码和原始代码文件中功能子代码不同。
71.103、当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中
时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。
72.其中,可以以邮件的形式向目标业务需求对应的目标测试人员发送目标差异代码,也可以以其他方式进行通知,本实施例对此不作限制。
73.可选的,本实施例中,步骤“向与所述目标业务需求对应的目标测试人员发送所述目标差异代码”,可以包括:
74.获取至少一个候选测试人员对应的业务需求标识信息;
75.从所述至少一个候选测试人员对应的业务需求标识信息中确定出与所述目标业务需求匹配的目标业务需求标识信息;
76.将所述目标业务需求标识信息对应的候选测试人员确定为目标测试人员,并向所述目标测试人员发送所述目标差异代码。
77.其中,具体地,测试人员可以根据其处理的业务进行划分,也就是说,不同测试人员可以对应不同的业务需求,不同业务需求对应不同的业务需求标识信息。业务需求标识信息可以是编号,也可以是以关键词的形式呈现。
78.本实施例中,基于目标差异代码进行代码测试,具体可以是将目标差异代码发布至测试环境中,以便在测试环境中对目标差异代码进行测试,测试目标差异代码的功能是否正常,是否存在缺陷(bug)等。
79.可选的,本实施例中,步骤“向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试”,可以包括:
80.向与所述目标业务需求对应的目标测试人员发送所述目标差异代码;
81.触发所述目标测试人员基于所述目标差异代码和所述目标业务需求,确定代码测试范围;
82.基于所述代码测试范围进行代码测试。
83.可选的,本实施例中,步骤“向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试”之后,该针对代码测试的管理方法还可以包括:
84.在所述目标差异代码测试通过后,将合并后的第二代码分支对应的代码文件发布至生产环境。
85.其中,目标差异代码测试通过,具体可以表明对应的代码文件具备上线的条件,因此可以发布到生产环境中。
86.如图1c所示,为本技术提供的针对代码测试的管理方法对应的流程图,具体过程描述如下:
87.1、在需求建立时,根据所建立的需求,分配开发人员和测试人员;
88.2、当开发人员在dev分支(具体即上述实施例中的第一代码分支)编写代码,并提交编写完成的代码合并到release分支(具体即上述实施例中的第二代码分支)的代码合并请求时,开发人员可以手动选择本次提交代码关联的目标业务需求的编号,并通过关联的目标业务需求,识别出关联的目标测试人员;此外,该针对代码测试的管理系统就可以自动识别标记出本次提交目标代码文件中的diff code(具体即上述实施例中的目标差异代码),diff code为需要发送给目标测试人员的内容;
89.3、当release分支合并成功时,自动触发diff code发送系统,将步骤2标记出来的diff code自动发送/通知到对应需求的相关的目标测试人员;
90.4、目标测试人员收到该代码变更通知(如email),将根据目标业务需求或代码变更进行测试范围评估,重新开展测试。
91.在目前的相关技术中,代码发生变更,并提交发布后,需要人工主动去通知到对应的测试人员,如可以通过im消息进行通知,而这往往依赖于代码编写提交人员的自觉遵守流程制度。这样可能导致存在改动的代码未告知到测试人员的情况,如可能存在以下问题:当该功能块测试已经测试完毕时,若开发人员变更代码,且未通知测试人员,则可能不会进行重新测试,导致代码未覆盖,出现生产问题。另外,如果测试人员无法及时获悉到代码改动细节,难以准确地评估测试范围,影响测试质量和测试效率。
92.基于本技术的针对代码测试的管理方法,可以提供一个代码合并到release分支自动发送diffcode到相关人员的系统,针对每次的代码改动,都会自动通知到相关人员。这样提高了测试效率,且不依赖人员自觉性,不存在犯错的可能。测试人员第一时间知道代码变动,能够第一时间重新评估影响范围,第一时间调整测试策略和用例,提高了测试效率和测试质量。不会存在代码改动了,没通知到测试人员的情况,也避免了将问题代码带到生产中导致生产事故的情况。
93.由上可知,本实施例可以接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。本技术可以在开发人员改动代码时,自动向对应的目标测试人员发送变更的目标差异代码,这样可以提高代码的测试效率和测试质量,避免由于代码变更后,未及时通知到测试人员,导致将存在问题的代码带到生产环境中的情况。
94.根据前面实施例所描述的方法,以下将以该针对代码测试的管理装置具体集成在服务器举例作进一步详细说明。
95.本技术实施例提供一种针对代码测试的管理方法,如图2所示,该针对代码测试的管理方法的具体流程可以如下:
96.201、服务器接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中。
97.具体地,开发人员在开发产品的时候往往会维护一个稳定的主干分支,对于新接收的需求任务,开发人员可以从稳定的主干分支上拉取一个新的分支,做新需求的开发。
98.其中,第一代码分支可以是用于调试(debug)程序的开发分支,如dev分支等。其中,dev分支是一个开发分支,具体可以用于给开发人员进行程序调试。
99.其中,第二代码分支可以为产品或业务对应的预上线分支,具体可以是发布提测阶段所创建的代码分支。例如,产品即将正式上线时,或者称即将发布阶段时,可以创建第二代码分支。第二代码分支可以是release分支,release分支具体为用以测试、修复线下故
障(bug)及发布的分支。
100.在一具体场景中,开发人员在第一代码分支编写代码,当开发人员将编写完成的代码提交时,可以生成代码合并请求,根据代码合并请求,可以将在第一代码分支改动的目标代码文件合并到第二代码分支中。
101.202、服务器从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求。
102.其中,目标代码文件关联的目标业务需求可以是开发人员手动确定的,也可以是该针对代码测试的管理装置基于目标代码文件中代码的类型来确定得到。
103.可选的,本实施例中,步骤“从所述目标代码文件中识别出所述开发人员所改动的目标差异代码”,可以包括:
104.获取所述目标代码文件改动前对应的原始代码文件;
105.将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比;
106.根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码。
107.其中,原始代码文件可以是开发人员改动前,第一代码分支中的代码文件。具体地,原始代码文件中的代码可以按照功能进行分块处理,得到原始代码文件对应的一个或多个功能子代码,同样,目标代码文件也可以按照功能进行分块处理,从而得到目标代码文件对应的一个或多个功能子代码。
108.其中,步骤“根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码”,具体可以包括:将目标代码文件中未出现在原始代码文件中的功能子代码确定为开发人员所改动过的功能子代码,并将其确定为目标差异代码。
109.其中,目标差异代码具体可以是diff code。
110.203、当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,服务器向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。
111.其中,可以以邮件的形式向目标业务需求对应的目标测试人员发送目标差异代码,也可以以其他方式进行通知,本实施例对此不作限制。
112.可选的,本实施例中,步骤“向与所述目标业务需求对应的目标测试人员发送所述目标差异代码”,可以包括:
113.获取至少一个候选测试人员对应的业务需求标识信息;
114.从所述至少一个候选测试人员对应的业务需求标识信息中确定出与所述目标业务需求匹配的目标业务需求标识信息;
115.将所述目标业务需求标识信息对应的候选测试人员确定为目标测试人员,并向所述目标测试人员发送所述目标差异代码。
116.其中,具体地,测试人员可以根据其处理的业务进行划分,也就是说,不同测试人员可以对应不同的业务需求,不同业务需求对应不同的业务需求标识信息。业务需求标识信息可以是编号,也可以是以关键词的形式呈现。
117.本实施例中,基于目标差异代码进行代码测试,具体可以是将目标差异代码发布
至测试环境中,以便在测试环境中对目标差异代码进行测试,测试目标差异代码的功能是否正常,是否存在缺陷(bug)等。
118.由上可知,本实施例可以通过服务器接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。本技术可以在开发人员改动代码时,自动向对应的目标测试人员发送变更的目标差异代码,这样可以提高代码的测试效率和测试质量,避免由于代码变更后,未及时通知到测试人员,导致将存在问题的代码带到生产环境中的情况。
119.为了更好地实施以上方法,本技术实施例还提供一种针对代码测试的管理装置,如图3所示,该针对代码测试的管理装置可以包括接收单元301、识别单元302、以及发送单元303,如下:
120.(1)接收单元301;
121.接收单元,用于接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中。
122.(2)识别单元302;
123.识别单元,用于从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求。
124.可选的,在本技术的一些实施例中,所述识别单元可以包括第一获取子单元、对比子单元和第一确定子单元,如下:
125.所述第一获取子单元,用于获取所述目标代码文件改动前对应的原始代码文件;
126.对比子单元,用于将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比;
127.第一确定子单元,用于根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码。
128.可选的,在本技术的一些实施例中,所述对比子单元具体可以用于对所述目标代码文件中各功能子代码进行哈希运算,得到所述目标代码文件中各功能子代码对应的第一哈希值;对所述原始代码文件中各功能子代码进行哈希运算,得到所述原始代码文件中各功能子代码对应的第二哈希值;将所述第一哈希值和所述第二哈希值进行对比。
129.(3)发送单元303;
130.发送单元,用于当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。
131.可选的,在本技术的一些实施例中,所述发送单元可以包括第二获取子单元、第二确定子单元和第一发送子单元,如下:
132.所述第二获取子单元,用于获取至少一个候选测试人员对应的业务需求标识信
息;
133.第二确定子单元,用于从所述至少一个候选测试人员对应的业务需求标识信息中确定出与所述目标业务需求匹配的目标业务需求标识信息;
134.第一发送子单元,用于将所述目标业务需求标识信息对应的候选测试人员确定为目标测试人员,并向所述目标测试人员发送所述目标差异代码。
135.可选的,在本技术的一些实施例中,所述发送单元可以包括第二发送子单元、第三确定子单元和测试子单元,如下:
136.所述第二发送子单元,用于向与所述目标业务需求对应的目标测试人员发送所述目标差异代码;
137.第三确定子单元,用于触发所述目标测试人员基于所述目标差异代码和所述目标业务需求,确定代码测试范围;
138.测试子单元,用于基于所述代码测试范围进行代码测试。
139.可选的,在本技术的一些实施例中,所述针对代码测试的管理装置还可以包括发布单元,如下:
140.所述发布单元,用于在所述目标差异代码测试通过后,将合并后的第二代码分支对应的代码文件发布至生产环境。
141.由上可知,本实施例可以由接收单元301接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;通过识别单元302从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;通过发送单元303当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。本技术可以在开发人员改动代码时,自动向对应的目标测试人员发送变更的目标差异代码,这样可以提高代码的测试效率和测试质量,避免由于代码变更后,未及时通知到测试人员,导致将存在问题的代码带到生产环境中的情况。
142.本技术实施例还提供一种电子设备,如图4所示,其示出了本技术实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:
143.该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
144.处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
145.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402
的软件程序以及模块,从而执行各种功能应用以及针对代码测试的管理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
146.电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
147.该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
148.尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
149.接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。
150.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
151.由上可知,本实施例可以接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。本技术可以在开发人员改动代码时,自动向对应的目标测试人员发送变更的目标差异代码,这样可以提高代码的测试效率和测试质量,避免由于代码变更后,未及时通知到测试人员,导致将存在问题的代码带到生产环境中的情况。
152.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
153.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种针对代码测试的管理方法中的步骤。例如,该指令可以执行如下步骤:
154.接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。
155.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
156.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
157.由于该计算机可读存储介质中所存储的指令,可以执行本技术实施例所提供的任一种针对代码测试的管理方法中的步骤,因此,可以实现本技术实施例所提供的任一种针对代码测试的管理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
158.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述针对代码测试的管理方面的各种可选实现方式中提供的方法。
159.以上对本技术实施例所提供的一种针对代码测试的管理方法以及相关设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:


1.一种针对代码测试的管理方法,其特征在于,包括:接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。2.根据权利要求1所述的方法,其特征在于,所述从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,包括:获取所述目标代码文件改动前对应的原始代码文件;将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比;根据对比结果,从所述目标代码文件中各功能子代码中确定出所述开发人员所改动的目标差异代码。3.根据权利要求2所述的方法,其特征在于,所述将所述目标代码文件中各功能子代码和所述原始代码文件中各功能子代码进行对比,包括:对所述目标代码文件中各功能子代码进行哈希运算,得到所述目标代码文件中各功能子代码对应的第一哈希值;对所述原始代码文件中各功能子代码进行哈希运算,得到所述原始代码文件中各功能子代码对应的第二哈希值;将所述第一哈希值和所述第二哈希值进行对比。4.根据权利要求1所述的方法,其特征在于,所述向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,包括:获取至少一个候选测试人员对应的业务需求标识信息;从所述至少一个候选测试人员对应的业务需求标识信息中确定出与所述目标业务需求匹配的目标业务需求标识信息;将所述目标业务需求标识信息对应的候选测试人员确定为目标测试人员,并向所述目标测试人员发送所述目标差异代码。5.根据权利要求1所述的方法,其特征在于,所述向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试,包括:向与所述目标业务需求对应的目标测试人员发送所述目标差异代码;触发所述目标测试人员基于所述目标差异代码和所述目标业务需求,确定代码测试范围;基于所述代码测试范围进行代码测试。6.根据权利要求1所述的方法,其特征在于,所述向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试之后,还包括:
在所述目标差异代码测试通过后,将合并后的第二代码分支对应的代码文件发布至生产环境。7.一种针对代码测试的管理装置,其特征在于,包括:接收单元,用于接收开发人员发送的代码合并请求,所述代码合并请求包括所述开发人员在第一代码分支改动的目标代码文件,所述代码合并请求指示将所述目标代码文件合并到第二代码分支中;识别单元,用于从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;发送单元,用于当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。8.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至6任一项所述的针对代码测试的管理方法中的操作。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的针对代码测试的管理方法中的步骤。10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至6任一项所述的针对代码测试的管理方法中的步骤。

技术总结


本申请公开了一种针对代码测试的管理方法以及相关设备,可以接收开发人员发送的代码合并请求;从所述目标代码文件中识别出所述开发人员所改动的目标差异代码,并确定与所述目标代码文件关联的目标业务需求;当基于所述代码合并请求,将所述目标代码文件合并到所述第二代码分支中时,向与所述目标业务需求对应的目标测试人员发送所述目标差异代码,以便所述目标测试人员基于所述目标差异代码进行代码测试。本申请可以在开发人员改动代码时,自动向对应的目标测试人员发送变更的目标差异代码,这样可以提高代码的测试效率和测试质量,避免由于代码变更后,未及时通知到测试人员,导致将存在问题的代码带到生产环境中的情况。导致将存在问题的代码带到生产环境中的情况。导致将存在问题的代码带到生产环境中的情况。


技术研发人员:

杨明兴

受保护的技术使用者:

平安银行股份有限公司

技术研发日:

2022.10.11

技术公布日:

2022/12/9

本文发布于:2024-09-24 03:16:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/31770.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:代码   所述   目标   测试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议