代码增量覆盖率统计方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:33878491 阅读:11 留言:0更新日期:2022-06-22 17:07
本申请涉及一种代码增量覆盖率统计方法、装置、计算机设备和存储介质。所述方法包括:接收代码增量覆盖率统计请求,代码增量覆盖率统计请求携带项目系统编码;根据项目系统编码,获取项目源代码以及项目变更信息,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件;根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数;根据编译文件变更函数查询代码编译文件,确定变更函数调用信息;根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息。采用本方法能够提高代码增量覆盖率统计效率。统计效率。统计效率。

【技术实现步骤摘要】
代码增量覆盖率统计方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种代码增量覆盖率统计方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着计算机技术的发展,项目的版本迭代越来越频繁,出现了代码测试技术,代码测试技术可用于在项目版本迭代后,通过进行测试确认项目版本迭代有没有引入新的错误或导致其他代码产生错误。
[0003]传统技术中,为了获得较高的代码增量覆盖率,常采用的代码测试方法为全功能回归测试,即针对项目代码能实现的所有功能进行测试,在测试完成后统计代码增量覆盖率。
[0004]然而,全功能回归测试虽然能够获取较高的代码增量覆盖率,但是由于全功能回归测试的测试时间长且覆盖率统计繁琐,存在代码增量覆盖率统计效率低的问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高代码增量覆盖率统计效率的代码增量覆盖率统计方法、装置、计算机设备和存储介质。
[0006]一种代码增量覆盖率统计方法,所述方法包括:
[0007]接收代码增量覆盖率统计请求,代码增量覆盖率统计请求携带项目系统编码;
[0008]根据项目系统编码,获取项目源代码以及项目变更信息,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件;
[0009]根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数;
[0010]根据编译文件变更函数查询代码编译文件,确定变更函数调用信息;r/>[0011]根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息。
[0012]在一个实施例中,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件包括:
[0013]对项目源代码进行编译,得到代码编译文件,并获取与代码增量覆盖率统计请求对应的测试用例;
[0014]根据代码编译文件执行测试用例,调用代码覆盖率统计工具,得到全量代码覆盖率文件。
[0015]在一个实施例中,根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数包括:
[0016]比对项目变更信息和项目源代码,确定与项目变更信息对应的源代码变更函数;
[0017]根据源代码变更函数,遍历代码编译文件,确定与项目变更信息对应的编译文件变更函数。
[0018]在一个实施例中,比对项目变更信息和项目源代码,确定与项目变更信息对应的源代码变更函数包括:
[0019]根据项目变更信息,确定项目变更文件以及变更代码段;
[0020]根据项目变更文件以及变更代码段,比对项目源代码,确定与项目变更信息对应的源代码变更函数。
[0021]在一个实施例中,根据编译文件变更函数查询代码编译文件,确定变更函数调用信息包括:
[0022]根据编译文件变更函数,查询代码编译文件,确定涉及变更函数类以及涉及变更函数接口;
[0023]从代码编译文件中获取与涉及变更函数类对应的第一函数信息,以及与涉及变更函数接口对应的第二函数信息;
[0024]根据第一函数信息以及第二函数信息,确定调用编译文件变更函数的调用函数信息;
[0025]根据调用函数信息,得到变更函数调用信息。
[0026]在一个实施例中,根据编译文件变更函数查询代码编译文件,确定变更函数调用信息之后,还包括:
[0027]根据变更函数调用信息,确定对应的对外接口;
[0028]显示对外接口。
[0029]在一个实施例中,根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息包括:
[0030]根据变更函数调用信息中调用函数信息,遍历全量代码覆盖率文件,确定与调用函数信息对应的调用函数代码覆盖率文件;
[0031]对调用函数代码覆盖率文件进行转换,得到代码增量覆盖率信息。
[0032]一种代码增量覆盖率统计装置,所述装置包括:
[0033]接收模块,用于接收代码增量覆盖率统计请求,代码增量覆盖率统计请求携带项目系统编码;
[0034]获取模块,用于根据项目系统编码,获取项目源代码以及项目变更信息,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件;
[0035]处理模块,用于根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数;
[0036]查询模块,用于根据编译文件变更函数查询代码编译文件,确定变更函数调用信息;
[0037]筛选模块,用于根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息。
[0038]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0039]接收代码增量覆盖率统计请求,代码增量覆盖率统计请求携带项目系统编码;
[0040]根据项目系统编码,获取项目源代码以及项目变更信息,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件;
[0041]根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数;
[0042]根据编译文件变更函数查询代码编译文件,确定变更函数调用信息;
[0043]根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息。
[0044]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0045]接收代码增量覆盖率统计请求,代码增量覆盖率统计请求携带项目系统编码;
[0046]根据项目系统编码,获取项目源代码以及项目变更信息,根据项目源代码,得到全量代码覆盖率文件以及代码编译文件;
[0047]根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数;
[0048]根据编译文件变更函数查询代码编译文件,确定变更函数调用信息;
[0049]根据变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息。
[0050]上述代码增量覆盖率统计方法、装置、计算机设备和存储介质,在接收到代码增量覆盖率统计请求后,能够根据其中携带的项目系统编码,实现对项目源代码以及项目变更信息的获取,从而可以根据项目源代码,得到全量代码覆盖率文件以及代码编译文件,根据项目变更信息、项目源代码以及代码编译文件,确定与项目变更信息对应的编译文件变更函数,进而可以利用编译文件变更函数查询代码编译文件,确定变更函数调用信息,利用变更函数调用信息筛选全量代码覆盖率文件,得到代码增量覆盖率信息,整个过程,不需要进行全功能回归测试就可以实现对代码增量覆盖率信息的获取,能够提高代码增量覆盖率统计效率。
附图说明
[0051]图1为一个实施例中代码增量覆盖率统计方法的流程示意图;
[0052]图2为另一个实施例中代码增量覆盖率本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种代码增量覆盖率统计方法,其特征在于,所述方法包括:接收代码增量覆盖率统计请求,所述代码增量覆盖率统计请求携带项目系统编码;根据所述项目系统编码,获取项目源代码以及项目变更信息,根据所述项目源代码,得到全量代码覆盖率文件以及代码编译文件;根据所述项目变更信息、所述项目源代码以及所述代码编译文件,确定与所述项目变更信息对应的编译文件变更函数;根据所述编译文件变更函数查询所述代码编译文件,确定变更函数调用信息;根据所述变更函数调用信息筛选所述全量代码覆盖率文件,得到代码增量覆盖率信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述项目源代码,得到全量代码覆盖率文件以及代码编译文件包括:对所述项目源代码进行编译,得到代码编译文件,并获取与所述代码增量覆盖率统计请求对应的测试用例;根据所述代码编译文件执行所述测试用例,调用代码覆盖率统计工具,得到全量代码覆盖率文件。3.根据权利要求1所述的方法,其特征在于,所述根据所述项目变更信息、所述项目源代码以及所述代码编译文件,确定与所述项目变更信息对应的编译文件变更函数包括:比对所述项目变更信息和所述项目源代码,确定与所述项目变更信息对应的源代码变更函数;根据所述源代码变更函数,遍历所述代码编译文件,确定与所述项目变更信息对应的编译文件变更函数。4.根据权利要求3所述的方法,其特征在于,所述比对所述项目变更信息和所述项目源代码,确定与所述项目变更信息对应的源代码变更函数包括:根据所述项目变更信息,确定项目变更文件以及变更代码段;根据所述项目变更文件以及所述变更代码段,比对所述项目源代码,确定与所述项目变更信息对应的源代码变更函数。5.根据权利要求1所述的方法,其特征在于,所述根据所述编译文件变更函数查询所述代码编译文件,确定变更函数调用信息包括:根据所述编译文件变更函数,查询所述代码编译文件,确定涉及变更函数类以及涉及变更函数接口;从所述...

【专利技术属性】
技术研发人员:刘岩
申请(专利权)人:顺丰科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1