一种代码覆盖结果生成方法及装置制造方法及图纸

技术编号:35088042 阅读:16 留言:0更新日期:2022-10-01 16:42
本发明专利技术实施例提供了一种代码覆盖结果生成方法及装置,涉及软件测试技术领域,方法包括:在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果;获取当前已执行的测试用例对应的增量代码;基于全量代码覆盖结果和增量代码,得到当前的增量代码覆盖结果。基于上述处理,能够得到增量代码覆盖结果,降低增量代码覆盖结果的获取成本。降低增量代码覆盖结果的获取成本。降低增量代码覆盖结果的获取成本。

【技术实现步骤摘要】
一种代码覆盖结果生成方法及装置


[0001]本专利技术涉及软件测试
,特别是涉及一种代码覆盖结果生成方法及装置。

技术介绍

[0002]随着网络技术的快速发展,越来越多的软件应用于用户的生活、工作和娱乐等各方面。而随着软件的业务的不断发展,使得软件也需要不断地迭代更新,因此,为了保证能够为用户提供稳定可靠的服务,则可以对软件进行测试。
[0003]相关技术中,测试人员可以基于测试用例对待测软件进行测试,得到待测软件的测试结果。另外,可以获取测试过程中待测软件的代码覆盖结果,代码覆盖结果可以包括待测软件的代码被覆盖的比例(即代码覆盖率),以基于代码覆盖结果完善待测软件的功能,提高待测软件的可靠性。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种代码覆盖结果生成方法及装置,以得到增量代码覆盖结果,降低增量代码覆盖结果的获取成本。具体技术方案如下:
[0005]第一方面,为了达到上述目的,本专利技术实施例公开了一种代码覆盖结果生成方法,所述方法包括:
[0006]在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果;
[0007]获取当前已执行的测试用例对应的增量代码;
[0008]基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果。
[0009]可选的,所述在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果,包括:
[0010]在基于预设测试用例对待测软件进行测试的过程中,当检测到用于获取增量覆盖率的组件被触发时,获取当前已执行的测试用例对应的全量代码覆盖结果;
[0011]或者,
[0012]在基于预设测试用例对待测软件进行测试的过程中,当达到指定时刻时,获取当前已执行的测试用例对应的全量代码覆盖结果。
[0013]可选的,在基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果之后,所述方法还包括:
[0014]显示当前的增量代码覆盖结果。
[0015]可选的,所述显示当前的增量代码覆盖结果,包括:
[0016]基于将当前的增量代码覆盖结果添加至预设的Django模板中,生成用于显示当前的增量代码覆盖结果的页面,并显示所述页面的链接;
[0017]当检测到所述页面的链接被触发时,显示所述页面。
[0018]可选的,所述获取当前已执行的测试用例对应的增量代码,包括:
[0019]获取所述待测软件的当前版本号和基线版本号;
[0020]从预设路径下分别获取所述当前版本号对应的当前代码,以及所述基线版本号对应的基线代码;
[0021]通过比较所述当前代码和所述基线代码,得到当前已执行的测试用例对应的增量代码。
[0022]可选的,所述全量代码覆盖结果包括用于表示每一行代码是否被覆盖的标识;
[0023]所述基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果,包括:
[0024]基于所述标识,从所述增量代码中确定被覆盖的代码,作为目标代码;
[0025]基于所述目标代码,生成当前的增量代码覆盖结果。
[0026]可选的,所述基于所述目标代码,生成当前的增量代码覆盖结果,包括:
[0027]计算所述目标代码在所述增量代码中所占的比例,作为增量代码覆盖率;
[0028]生成当前的增量代码覆盖结果;其中,当前的增量代码覆盖结果包括所述增量代码覆盖率,以及所述增量代码的标识。
[0029]第二方面,为了达到上述目的,本专利技术实施例公开了一种代码覆盖结果生成装置,其特征在于,所述装置包括:
[0030]全量代码覆盖结果获取模块,用于在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果;
[0031]增量代码获取模块,用于获取当前已执行的测试用例对应的增量代码;
[0032]增量代码覆盖结果获取模块,用于基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果。
[0033]可选的,所述全量代码覆盖结果获取模块,具体用于在基于预设测试用例对待测软件进行测试的过程中,当检测到用于获取增量覆盖率的组件被触发时,获取当前已执行的测试用例对应的全量代码覆盖结果;
[0034]或者,
[0035]在基于预设测试用例对待测软件进行测试的过程中,当达到指定时刻时,获取当前已执行的测试用例对应的全量代码覆盖结果。
[0036]可选的,所述装置还包括:
[0037]显示模块,用于在基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果之后,显示当前的增量代码覆盖结果。
[0038]可选的,所述显示模块,具体用于基于将当前的增量代码覆盖结果添加至预设的Django模板中,生成用于显示当前的增量代码覆盖结果的页面,并显示所述页面的链接;
[0039]当检测到所述页面的链接被触发时,显示所述页面。
[0040]可选的,所述增量代码获取模块,具体用于获取所述待测软件的当前版本号和基线版本号;
[0041]从预设路径下分别获取所述当前版本号对应的当前代码,以及所述基线版本号对应的基线代码;
[0042]通过比较所述当前代码和所述基线代码,得到当前已执行的测试用例对应的增量代码。
[0043]可选的,所述全量代码覆盖结果包括用于表示每一行代码是否被覆盖的标识;
[0044]所述增量代码覆盖结果获取模块,包括:
[0045]目标代码确定子模块,用于基于所述标识,从所述增量代码中确定被覆盖的代码,作为目标代码;
[0046]增量代码覆盖结果生成子模块,用于基于所述目标代码,生成当前的增量代码覆盖结果。
[0047]可选的,所述增量代码覆盖结果生成子模块,具体用于计算所述目标代码在所述增量代码中所占的比例,作为增量代码覆盖率;
[0048]生成当前的增量代码覆盖结果;其中,当前的增量代码覆盖结果包括所述增量代码覆盖率,以及所述增量代码的标识。
[0049]在本专利技术实施的另一方面,为了达到上述目的,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
[0050]所述存储器,用于存放计算机程序;
[0051]所述处理器,用于执行所述存储器上所存放的程序时,实现如上述任一所述的代码覆盖结果生成方法。
[0052]在本专利技术实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一所述的代码覆盖结果生成方法。
[0053]本专利技术实施例还提供了一种包含指令的计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码覆盖结果生成方法,其特征在于,所述方法包括:在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果;获取当前已执行的测试用例对应的增量代码;基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果。2.根据权利要求1所述的方法,其特征在于,所述在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果,包括:在基于预设测试用例对待测软件进行测试的过程中,当检测到用于获取增量覆盖率的组件被触发时,获取当前已执行的测试用例对应的全量代码覆盖结果;或者,在基于预设测试用例对待测软件进行测试的过程中,当达到指定时刻时,获取当前已执行的测试用例对应的全量代码覆盖结果。3.根据权利要求1所述的方法,其特征在于,在基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果之后,所述方法还包括:显示当前的增量代码覆盖结果。4.根据权利要求3所述的方法,其特征在于,所述显示当前的增量代码覆盖结果,包括:基于将当前的增量代码覆盖结果添加至预设的Django模板中,生成用于显示当前的增量代码覆盖结果的页面,并显示所述页面的链接;当检测到所述页面的链接被触发时,显示所述页面。5.根据权利要求1所述的方法,其特征在于,所述获取当前已执行的测试用例对应的增量代码,包括:获取所述待测软件的当前版本号和基线版本号;从预设路径下分别获取所述当前版本号对应的当前代码,以及所述基线版本号对应的基线代码;通过比较所述当前代码和所述基线代码,得到当前已执行的测试用例对应的增量代码。6.根据权利要求1所述的方法,其特征在于,所述全量代码覆盖结果包括用于表示每一行代码是否被覆盖的标识;所述基于所述全量代码覆盖结果和所述增量代码,得到当前的增量代码覆盖结果,包括:基于所述标识,从所述增量代码中确定被覆盖的代码,作为目标代码;基于所述目标代码,生成当前的增量代码覆盖结果。7.根据权利要求6所述的方法,其特征在于,所述基于所述目标代码,生成当前的增量代码覆盖结果,包括:计算所述目标代码在所述增量代码中所占的比例,作为增量代码覆盖率;生成当前的增量代码覆盖结果;其中,当前的增量代码覆盖结果包括所述增量代码覆盖率,以及所述增量代码的标识。8.一种代码覆盖结果生成装置,其特征在于,所述装置包括:
全量代码覆盖结果获取模块,用于在基于预设测试用例对待测软件进行测试的过程中,当检测到满足预设条件时,获取当前已执行的测试用例对应的全量代码覆盖结果;增量代码获取模块,...

【专利技术属性】
技术研发人员:孙文东
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

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

1