增量代码的覆盖率信息的获取方法、装置及电子设备与流程

文档序号:37460081发布日期:2024-03-28 18:43阅读:17来源:国知局
增量代码的覆盖率信息的获取方法、装置及电子设备与流程

本申请涉及计算机领域,具体而言,涉及一种增量代码的覆盖率信息的获取方法、装置及电子设备。


背景技术:

1、单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。单元测试是保证软件质量的重要手段。

2、在现有的单元测试中,相关的增量代码的覆盖率信息的获取方法,未考虑到在获取大量单元测试用例后,开发人员只修复少量代码场景下的单元测试效率。比如开发人员只修复了一个文件中的某一个方法,但是在现有的增量代码的覆盖率信息的获取方法中,还是会将待测版本代码运行所有的单测用例,来生成覆盖统计文件,也需要重新将待测版本代码和基线版本代码进行增量对比,两种操作都会增加时间的消耗,进而造成增量代码的覆盖率信息的获取效率较低的技术问题。


技术实现思路

1、本申请的主要目的在于提供一种增量代码的覆盖率信息的获取方法、装置及电子设备,以解决相关技术中增量代码的覆盖率信息的获取效率较低的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种增量代码的覆盖率信息的获取方法。该方法包括:对待测版本代码进行第一信息校验,得到第一校验结果,其中,第一信息校验用于判断待测版本代码是否存在已生成过的代码覆盖率报告;在第一校验结果指示存在代码覆盖率报告的情况下,对代码覆盖率报告进行第二信息校验,得到第二校验结果,其中,第二信息校验用于判断代码覆盖率报告是否满足关键字过滤条件,代码覆盖率报告中存在小于预设覆盖率阈值的覆盖率时,代码覆盖率报告满足关键字过滤条件;在第二校验结果指示代码覆盖率报告满足关键字过滤条件的情况下,从代码覆盖率报告中确定出覆盖率小于预设覆盖率阈值的目标测试内容,并从第一增量函数信息中确定出目标测试内容对应的第二增量函数信息,其中,第一增量函数信息为待测版本代码相比于基线版本代码的增量函数信息;基于第二增量函数信息对目标测试内容进行单元测试,得到第二增量函数信息的覆盖率信息,其中,待测版本代码包括目标测试内容。

3、为了实现上述目的,根据本申请的另一方面,提供了一种增量代码的覆盖率信息的获取装置。该装置包括:第一校验单元,用于对待测版本代码进行第一信息校验,得到第一校验结果,其中,第一信息校验用于判断待测版本代码是否存在已生成过的代码覆盖率报告;第二校验单元,用于在第一校验结果指示存在代码覆盖率报告的情况下,对代码覆盖率报告进行第二信息校验,得到第二校验结果,其中,第二信息校验用于判断代码覆盖率报告是否满足关键字过滤条件,代码覆盖率报告中存在小于预设覆盖率阈值的覆盖率时,代码覆盖率报告满足关键字过滤条件;确定单元,用于在第二校验结果指示代码覆盖率报告满足关键字过滤条件的情况下,从代码覆盖率报告中确定出覆盖率小于预设覆盖率阈值的目标测试内容,并从第一增量函数信息中确定出目标测试内容对应的第二增量函数信息,其中,第一增量函数信息为待测版本代码相比于基线版本代码的增量函数信息;测试单元,用于基于第二增量函数信息对目标测试内容进行单元测试,得到第二增量函数信息的覆盖率信息,其中,待测版本代码包括目标测试内容。

4、为了实现上述目的,根据本申请的另一方面,提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述增量代码的覆盖率信息的获取方法。

5、为了实现上述目的,根据本申请的另一方面,提供了一种增量代码的覆盖率信息的获取电子设备,上述电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述增量代码的覆盖率信息的获取方法。

6、通过本申请提供的实施例,通过对代码覆盖率报告是否已生成的第一信息校验和是否存在关键字过滤条件的第二信息校验的设置,进而达到了有效利用上一次报告的结果,通过关键字过滤模块,只对不满足上一次单元测试需求的代码内容生成覆盖统计文件,且增量函数信息也可以直接从上一次的增量函数信息中获取,大大缩短了生成增量覆盖信息的时间,实现了提高增量代码的覆盖率信息的获取效率的技术效果。



技术特征:

1.一种增量代码的覆盖率信息的获取方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述从第一增量函数信息中确定出所述目标测试内容对应的第二增量函数信息,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述第二增量函数信息对所述目标测试内容进行单元测试,得到所述第二增量函数信息的覆盖率信息,包括:

4.根据权利要求2所述的方法,其特征在于,在所述从所述代码覆盖率报告中获取所述待测版本代码相对于基线版本代码的第一变更文件之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,在所述获取所述待测版本代码相对于所述基线版本代码的所述第一变更文件之后,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,在所述对所述待测版本代码进行第一信息校验之前,所述方法还包括:

7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:

8.一种增量代码的覆盖率信息的获取装置,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,其上存储有程序,所述程序被处理器执行时实现权利要求1至7中任意一项所述的方法。

10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的方法。


技术总结
本申请公开一种增量代码的覆盖率信息的获取方法、装置及电子设备。方法包括:对待测版本代码进行第一信息校验得到第一校验结果;在第一校验结果指示存在代码覆盖率报告的情况下,对代码覆盖率报告进行第二信息校验得到第二校验结果;在第二校验结果指示代码覆盖率报告满足关键字过滤条件的情况下,从代码覆盖率报告中确定出覆盖率小于预设覆盖率阈值的目标测试内容,并从第一增量函数信息中确定出目标测试内容对应的第二增量函数信息,第一增量函数信息为待测版本代码相比于基线版本代码的增量函数信息;基于第二增量函数信息对目标测试内容进行单元测试,得到第二增量函数信息的覆盖率信息,解决了增量代码的覆盖率信息的获取效率较低的问题。

技术研发人员:唐春鸽,黄俞荣,宋永政
受保护的技术使用者:山石网科通信技术股份有限公司
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1