代码测试方法、装置、计算机设备及存储介质与流程
- 国知局
- 2024-07-31 22:54:44
本申请涉及计算机,尤其涉及一种代码测试方法、装置、计算机设备及存储介质。
背景技术:
1、在开发软件的过程中,往往需要对软件代码进行测试,以确保代码的正常运行。目前,计算机设备可通过检测到用于进行代码测试的用户指令,响应于该指令,执行指定的自动化测试脚本的方式完成代码测试。然而,采用该方法,在开发人员修改代码后,测试人员需要分析修改要点,并根据修改要点判断是否需要发起自动化测试脚本进行代码测试。这样,不但测试效率低,而且还存在人工判断不准确的可能。因此,如何提高代码测试的效率和准确率成为了一个亟待解决的问题。
技术实现思路
1、本申请实施例提供了一种代码测试方法、装置、计算机设备及存储介质,可提高代码测试的效率和准确率。
2、第一方面,本申请提供了一种代码测试方法,该方法包括:
3、对目标代码库对应的git提交记录进行解析,获得提交信息;该提交信息包括被修改的文件路径以及被修改的代码行;
4、基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;
5、确定每个子程序的入口程序;
6、基于每个子程序的入口程序,确定目标测试脚本;
7、调用目标测试脚本,对目标代码库中的代码进行测试。
8、在其中一个实施例中,确定每个子程序的入口程序,包括:周期性的对目标代码库中的代码进行上下文扫描,确定代码之间的调用关系;基于调用关系,构建代码调用图谱;基于代码调用图谱,确定每个子程序的入口程序。
9、在其中一个实施例中,基于代码调用图谱,确定每个子程序的入口程序,包括:针对每个子程序,在代码调用图谱中,确定子程序对应的一个或多个候选入口程序;针对一个或多个候选入口程序,以候选入口程序为起点遍历代码调用图谱,确定每个候选入口程序与子程序之间的调用路径;基于每个候选入口程序与子程序之间的调用路径,从目标代码库中确定该子程序的入口程序。
10、在其中一个实施例中,该方法还包括:检测到用于指定每个子程序的入口程序的用户操作;基于用户操作,确定每个子程序的入口程序。
11、在其中一个实施例中,基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序,包括:从提交信息中,获取至少一条代码修改信息;代码修改信息为与被修改的代码相关的信息;基于至少一条代码修改信息,确定目标代码库的代码修改信息所影响的至少一个子程序。
12、在其中一个实施例中,基于每个子程序的入口程序,确定目标测试脚本,包括:从一个或多个测试脚本中,选择脚本命名与每个子程序的入口程序相匹配的测试脚本,作为目标测试脚本。
13、在其中一个实施例中,调用目标测试脚本,对目标代码库中的代码进行测试之前,该方法还包括:确定代码测试所需的测试环境是否配置成功;在确定代码测试所需的测试环境配置成功的情况下,执行的调用目标测试脚本,对目标代码库中的代码进行测试的步骤。
14、在其中一个实施例中,该方法还包括:在用户界面显示代码测试结果;代码测试结果包括代码测试通过、代码测试不通过、代码错误信息、代码覆盖率。
15、第二方面,本申请提供了一种代码测试装置,该装置包括:
16、解析模块,用于对目标代码库对应的git提交记录进行解析,获得提交信息;提交信息包括被修改的文件路径以及被修改的代码行;
17、子程序确定模块,用于基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;
18、入口程序确定模块,用于确定每个子程序的入口程序;
19、测试脚本确定模块,用于基于每个子程序的入口程序,确定目标测试脚本;
20、测试模块,用于调用目标测试脚本,对目标代码库中的代码进行测试。
21、第三方面,本申请提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
22、对目标代码库对应的git提交记录进行解析,获得提交信息;提交信息包括被修改的文件路径以及被修改的代码行;
23、基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;
24、确定每个子程序的入口程序;
25、基于每个子程序的入口程序,确定目标测试脚本;
26、调用目标测试脚本,对目标代码库中的代码进行测试。
27、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
28、对目标代码库对应的git提交记录进行解析,获得提交信息;提交信息包括被修改的文件路径以及被修改的代码行;
29、基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;
30、确定每个子程序的入口程序;
31、基于每个子程序的入口程序,确定目标测试脚本;
32、调用目标测试脚本,对目标代码库中的代码进行测试。
33、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
34、对目标代码库对应的git提交记录进行解析,获得提交信息;提交信息包括被修改的文件路径以及被修改的代码行;
35、基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;
36、确定每个子程序的入口程序;
37、基于每个子程序的入口程序,确定目标测试脚本;
38、调用目标测试脚本,对目标代码库中的代码进行测试。
39、上述代码测试方法、装置、计算机设备及存储介质,可通过对目标代码库对应的git提交记录进行解析,获得提交信息;基于提交信息,确定代码修改信息所影响的至少一个子程序;进一步的,确定每个子程序的入口程序,最后,基于每个子程序的入口程序,确定目标测试脚本,并调用目标测试脚本,对目标代码库中的代码进行测试。这样,可以准确的确定出需要进行代码测试的至少一个子程序(或者称为测试范围)以及每个子程序对应的入口程序(或者称为测试点),从而,在进行代码测试时,一方面,可以减少不必要的测试工作量,提高代码测试的效率;另一方面,能够提高代码测试的准确率。
技术特征:1.一种代码测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定每个所述子程序的入口程序,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述代码调用图谱,确定每个所述子程序的入口程序,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述提交信息,确定所述目标代码库的代码修改信息所影响的至少一个子程序,包括:
6.根据权利要求1至4任一项所述的方法,其特征在于,所述基于每个所述子程序的入口程序,确定目标测试脚本,包括:
7.根据权利要求1至4任一项所述的方法,其特征在于,所述调用所述目标测试脚本,对所述目标代码库中的代码进行测试之前,所述方法还包括:
8.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
9.一种代码测试装置,其特征在于,所述装置包括:
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
技术总结本申请公开了一种代码测试方法、装置、计算机设备及存储介质,涉及计算机机设领域,可应用于金融科技领域或其他相关领域。其中方法包括:对目标代码库对应的git提交记录进行解析,获得提交信息;该提交信息包括被修改的文件路径以及被修改的代码行;基于提交信息,确定目标代码库的代码修改信息所影响的至少一个子程序;确定每个子程序的入口程序;基于每个子程序的入口程序,确定目标测试脚本;调用目标测试脚本,对目标代码库中的代码进行测试。采用本方法,可提高代码测试的效率和准确率。技术研发人员:张若晨,暨光耀,温丽明,胡俊秀受保护的技术使用者:中国工商银行股份有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/195275.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表