覆盖率获取方法、装置、电子设备及可读存储介质与流程

文档序号:36789083发布日期:2024-01-23 12:06阅读:13来源:国知局
覆盖率获取方法、装置、电子设备及可读存储介质与流程

本申请涉及测试,更具体地,涉及一种覆盖率获取方法、装置、电子设备及可读存储介质。


背景技术:

1、目前,随着电子信息技术的发展,可以通过不同的代码,来满足各种需求。虽然,可以对代码进行测试,并获取该测试的覆盖率。然而,现有获取到的针对测试的覆盖率准确度较低。


技术实现思路

1、本申请提出了一种覆盖率获取方法、装置、电子设备及可读存储介质。

2、第一方面,本申请实施例提供了一种覆盖率获取方法,所述方法包括:获取当前测试的当前方法集合,所述当前方法集合中包括至少一个当前方法以及每个所述当前方法对应的当前覆盖率;获取当前测试的上一次测试的历史方法集合,所述历史方法集合包括至少一个历史方法以及每个所述历史方法对应的历史覆盖率;若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况;基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率;基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率;基于所述第一目标覆盖率以及所述第二目标覆盖率,确定所述当前方法集合中每个所述当前方法在测试流程中的目标覆盖率。

3、可选的,对于一种可能的实施方式,所述基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率,包括:将未发生变化的当前方法作为目标方法,且基于当前覆盖率确定所述目标方法的第一中间覆盖率;获取所述历史方法集合中与所述目标方法相同的方法,作为指定方法,且基于所述历史覆盖率确定所述指定方法的第二中间覆盖率;将所述目标方法的第一中间覆盖率与所述指定方法的第二中间覆盖率合并作为当前方法在测试流程中的第一目标覆盖率。

4、可选的,对于一种可能的实施方式,所述基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率,包括:将发生变化的当前方法作为指定目标方法;基于所述当前覆盖率确定所述指定目标方法的第三覆盖率;将所述指定目标方法的第三覆盖率作为所述指定目标方法在测试流程中的第二目标覆盖率。

5、可选的,对于一种可能的实施方式,所述方法还包括:若所述当前方法集合与所述历史方法集合相同,则基于所述当前覆盖率确定每个所述当前方法的第一中间覆盖率;确定所述历史方法集合的历史方法中与所述当前方法相同的第二指定方法;基于所述历史覆盖率,确定每个所述第二指定方法的第二中间覆盖率;将第一中间覆盖率与对应的第二中间覆盖率合并作为当前方法集合中相对应的所述当前方法在测试流程中的目标覆盖率。

6、可选的,对于一种可能的实施方式,所述若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况,包括:若所述当前方法集合与所述历史方法集合不相同,则获取方法变化信息,所述方法变化信息包括与所述当前方法不同的历史方法;基于所述方法变化信息确定每个所述当前方法的变化情况。

7、可选的,对于一种可能的实施方式,所述若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况之前,还包括:获取基于所述当前方法集合中的每个所述当前方法得到的当前校验值;获取基于所述历史方法集合中的每个所述历史方法得到的历史校验值;若所述当前校验值与所述历史校验值相同,则判定所述当前方法集合与所述历史方法集合相同;若所述当前校验值与所述历史校验值不相同,则判定所述当前方法集合与所述历史方法集合不相同。

8、可选的,对于一种可能的实施方式,所述获取当前测试的上一次测试的历史方法集合,包括:获取所述当前方法集合的当前名称,所述当前名称用于唯一表征所述当前方法集合;获取当前测试的上一次测试的至少一个中间方法集合的中间名称;查找与所述当前名称相同的中间名称对应的所述中间方法集合,作为所述历史方法集合。

9、第二方面,本申请实施例还提供了一种覆盖率获装置,所述装置包括:第一获取单元、第二获取单元、确定单元、第一覆盖率确定单元、第二覆盖率确定单元以及目标覆盖率确定单元。其中,第一获取单元,用于获取当前测试的当前方法集合,所述当前方法集合中包括至少一个当前方法以及每个所述当前方法对应的当前覆盖率;第二获取单元,用于获取当前测试的上一次测试的历史方法集合,所述历史方法集合包括至少一个历史方法以及每个所述历史方法对应的历史覆盖率;确定单元,用于若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况;第一覆盖率确定单元,用于基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率;第二覆盖率确定单元,用于基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率;目标覆盖率确定单元,用于基于所述第一目标覆盖率以及所述第二目标覆盖率,确定所述当前方法集合中每个所述当前方法在测试流程中的目标覆盖率。

10、第三方面,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行第一方面所述的方法。

11、第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面所述的方法。

12、本申请实施例提供的覆盖率获取方法、装置、电子设备及可读存储介质,该方法首先获取当前测试的当前方法集合,所述当前方法集合中包括至少一个当前方法以及每个所述当前方法对应的当前覆盖率;获取当前测试的上一次测试的历史方法集合,所述历史方法集合包括至少一个历史方法以及每个所述历史方法对应的历史覆盖率;若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况;基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率;基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率;基于所述第一目标覆盖率以及所述第二目标覆盖率,确定所述当前方法集合中每个所述当前方法在测试流程中的目标覆盖率。其中,方法中可以包括有代码,若所述当前方法集合与所述历史方法集合不相同,则可以表征当前测试相对于当前测试的上一次测试中有方法中的代码发生了变化,此时若直接将上一次测试得到的覆盖率全部舍弃,并直接使用当前测试的覆盖率,则得到的覆盖率准确度较低。而本申请提供的实施方式中,分别确定未发生变化的当前方法的第一目标覆盖率以及发生变化的当前方法的第二目标覆盖率,再基于所述第一目标覆盖率以及所述第二目标覆盖率,确定所述当前方法集合中每个所述当前方法在测试流程中的目标覆盖率。从而,最终得到的当前测试的覆盖率准确度较高。



技术特征:

1.一种覆盖率获取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率,包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况,包括:

6.根据权利要求1所述的方法,其特征在于,所述若所述当前方法集合与所述历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况之前,还包括:

7.根据权利要求1所述的方法,其特征在于,所述获取当前测试的上一次测试的历史方法集合,包括:

8.一种覆盖率获取装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括:一个或多个处理器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。


技术总结
本申请公开了一种覆盖率获取方法、装置、电子设备及可读存储介质,包括获取当前测试的当前方法集合;获取当前测试的上一次测试的历史方法集合;若当前方法集合与历史方法集合不相同,则确定当前方法集合中当前方法相对于历史方法集合中历史方法的变化情况;基于当前覆盖率以及历史覆盖率,确定未发生变化的当前方法在测试流程中的第一目标覆盖率;基于当前覆盖率确定发生变化的当前方法在测试流程中的第二目标覆盖率;基于第一目标覆盖率以及第二目标覆盖率,确定当前方法集合中每个当前方法在测试流程中的目标覆盖率。分别确定未发生变化的当前方法的第一目标覆盖率以及发生变化的当前方法的第二目标覆盖率,使得最终得到的覆盖率准确度较高。

技术研发人员:刘云,靳铃花,张俊超,李玉梅,梁佳,梁文艳
受保护的技术使用者:广州汽车集团股份有限公司
技术研发日:
技术公布日:2024/1/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1