一种覆盖率确定方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33959935 阅读:12 留言:0更新日期:2022-06-30 00:20
本申请提供了一种覆盖率确定方法、装置、电子设备及存储介质,属于软件测试技术领域。本申请通过,获取第一应用对应的第一代码;在调用关系库中确定所述第一代码对应的目标调用关系,所述调用关系库中包括所述第一代码与所述第一应用内第二代码之间的调用关系,以及,所述第一应用与第二应用之间的调用关系;基于所述目标调用关系确定所述第一代码对应的测试范围,在按照所述测试范围进行测试后,获取测试时产生的数据文件,所述数据文件用于记录测试的覆盖执行情况;基于所述覆盖执行情况确定所述测试范围对应的测试覆盖率。以实现自动确定测试范围,进而自动确定测试范围对应的测试覆盖率,从而节约人力成本,提高确定测试覆盖率的效率。试覆盖率的效率。试覆盖率的效率。

【技术实现步骤摘要】
一种覆盖率确定方法、装置、电子设备及存储介质


[0001]本申请涉及软件测试领域,尤其涉及一种覆盖率确定方法、装置、电子设备及存储介质。

技术介绍

[0002]回归测试是指修改了旧代码后,重新进行测试以确认修改是否引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。目前,大多是通过研发人员人工评估确定回归测试的测试范围,在按照该测试范围进行测试后人为查找该测试范围对应的测试覆盖情况,进而确定测试覆盖率,而人为确定测试覆盖率,存在人力成本较高和效率低下等问题。

技术实现思路

[0003]为了解决上述通过人工确定测试覆盖率,存在人力成本较高和效率低下的技术问题,本申请提供了一种覆盖率确定方法、装置、电子设备及存储介质。
[0004]第一方面,提供了一种覆盖率确定方法,所述方法包括:
[0005]获取第一应用对应的第一代码;
[0006]在调用关系库中确定所述第一代码对应的目标调用关系,所述调用关系库中包括所述第一代码与所述第一应用内第二代码之间的调用关系,以及,所述第一应用与第二应用之间的调用关系;
[0007]基于所述目标调用关系确定所述第一代码对应的测试范围;
[0008]在按照所述测试范围进行测试后,获取测试时产生的数据文件,所述数据文件用于记录测试的覆盖执行情况;
[0009]基于所述覆盖执行情况确定所述测试范围对应的测试覆盖率。
[0010]在一个可能的实施方式中,所述方法还包括:
[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]在一个可能的实施方式中,所述第一获取模块,具体用于:
[0052]获取所述第一应用对应的测试代码和参考代码;
[0053]比较所述测试代码和所述参考代码,得到所述测试代码和所述参考代码不同的部分代码,将所述部分代码作为所述第一代码。
[0054]第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0055]存储器,用于存放计算机程序;
[0056]处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
[0057]第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
[0058]第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的覆盖率确定方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种覆盖率确定方法,其特征在于,所述方法包括:获取第一应用对应的第一代码;在调用关系库中确定所述第一代码对应的目标调用关系,所述调用关系库中包括所述第一代码与所述第一应用内第二代码之间的调用关系,以及,所述第一应用与第二应用之间的调用关系;基于所述目标调用关系确定所述第一代码对应的测试范围;在按照所述测试范围进行测试后,获取测试时产生的数据文件,所述数据文件用于记录测试的覆盖执行情况;基于所述覆盖执行情况确定所述测试范围对应的测试覆盖率。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述测试范围生成测试范围信息;和/或,将所述测试范围输入至预设的图谱工具中,以使所述图谱工具输出与所述测试范围对应的关系图谱。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定所述测试范围对应的目标对象;将所述测试范围信息和/或所述关系图谱发送至所述目标对象。4.根据权利要求1所述的方法,其特征在于,所述调用关系库包括:应用内调用关系库和应用间调用关系库,所述应用内调用关系库中包括所述第一代码与所述第一应用内第二代码之间的调用关系,所述应用间调用关系库中包括所述第一应用与第二应用之间的调用关系,所述在调用关系库中确定所述第一代码对应的目标调用关系,包括:在所述应用内调用关系库中确定所述第一代码对应的第一调用关系;将所述第一调用关系中与所述第一代码对应的第二代码,确定为第三代码;在所述应用间调用关系库中,确定与所述第一代码对应的第二调用关系,以及,与所述第三代码对应的第三调用关系;将所述第一调用关系、所述第二调用关系和所述第三调用关系,确定为所述目标调用关系。5.根据权利要...

【专利技术属性】
技术研发人员:张帆许恩宁刘东飞于航
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1