测试案例的质量评估方法、装置及电子设备与流程

文档序号:36133265发布日期:2023-11-22 20:49阅读:45来源:国知局
测试案例的质量评估方法与流程

本申请涉及金融科技领域或其他相关领域,具体而言,涉及一种测试案例的质量评估方法、装置及电子设备。


背景技术:

1、单元测试作为开发流程的必要环节,其重要性不言而喻,但是在业务开发项目繁多的情况下,如何快速、准确的写出单元测试案例成为了一大难题,目前虽然已有自动生成案例工具,但是基于此类工具获取到的测试案例需要通过质量评估,并质量评估通过后才可正常投入运行。但是相关技术中在进行测试案例质量评估时考虑因素不全面,测试案例质量评估结果准确性较低。

2、针对相关技术中在进行测试案例质量评估时考虑因素不全面,导致的测试案例质量评估结果准确性低的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请的主要目的在于提供一种测试案例的质量评估方法、装置及电子设备,以解决相关技术中在进行测试案例质量评估时考虑因素不全面,导致的测试案例质量评估结果准确性低的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种测试案例的质量评估方法。该方法包括:获取业务代码对应的目标测试案例;确定所述目标测试案例对应的案例执行时间,所述目标测试案例相对于所述业务代码的测试代码覆盖率,所述目标测试案例与所述业务代码之间的耦合度;基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果。

3、可选的,获取所述目标测试案例中使用到的所述业务代码中的代码行数,以及所述业务代码的总代码行数;基于所述目标测试案例中使用到的所述业务代码中的代码行数,以及所述总代码行数,确定所述测试代码覆盖率。

4、可选的,确定所述目标测试案例与所述业务代码之间的耦合度,包括:确定所述业务代码中包括的n行代码对应的s个执行分支,所述s个执行分支分别对应的嵌套层次,以及所述s个执行分支分别对应的结果分支数量,其中,n、s为大于或等于2的整数;基于所述n行代码对应的s个执行分支,所述s个执行分支分别对应的嵌套层次,以及所述s个执行分支分别对应的结果分支数量,确定所述n行代码对应的目标执行次数;确定所述目标测试案例中,所述n行代码对应的实际执行次数;基于所述n行代码对应的目标执行次数,以及所述n行代码对应的实际执行次数,确定所述耦合度。

5、可选的,所述基于n行代码对应的s个执行分支,所述s个执行分支分别对应的嵌套层次,以及所述s个执行分支分别对应的结果分支数量,确定所述n行代码对应的目标执行次数,包括:基于所述n行代码对应的s个执行分支,所述s个执行分支分别对应的嵌套层次,以及所述s个执行分支分别对应的结果分支数量,通过如下方式确定所述n行代码中,任意一行代码对应的目标执行次数:

6、

7、其中,lj为所述任意一行代码对应的目标执行次数,i=1,2,…,s为所述s个执行分支中的任意一个执行分支,mi为所述任意一个执行分支对应的嵌套层次,ki为所述任意一个执行分支对应的结果分支数量。

8、可选的,所述基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果,包括:判断所述耦合度是否大于预设耦合度阈值;若所述耦合度大于所述预设耦合度阈值,则基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述质量评估结果;若所述耦合度小于或等于所述预设耦合度阈值,则确定所述目标测试案例的质量评估结果为质量测试不通过。

9、可选的,基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,采用预先训练好的质量评估模型,确定所述目标测试案例的所述质量评估结果,其中,所述质量评估模型是基于所述业务代码的历史测试案例对应的案例执行时间、测试代码覆盖率、耦合度以及质量评估结果,对初始的支持向量机模型进行训练得到的,所述质量评估结果为:质量评估通过或质量评估不通过。

10、可选的,确定所述案例执行时间对应的第一权重值,所述测试代码覆盖率对应的第二权重值,所述耦合度对应的第三权重值;基于所述案例执行时间、所述测试代码覆盖率,所述耦合度、所述第一权重值、所述第二权重值以及所述第三权重值,确定所述目标测试案例的质量得分;在确定所述质量得分大于预设得分阈值的情况下,确定所述质量评估结果为质量评估通过;在确定所述质量得分小于或等于所述预设得分阈值的情况下,确定所述质量评估结果为质量评估不通过。

11、可选的,获取所述业务代码对应的k个初始测试案例,其中,k为大于或等于2的整数;确定所述k个初始测试案例分别对应的代码复杂度,以及是否存在错误代码;将所述k个初始测试案例中,代码复杂度小于预设复杂度阈值,并且不存在错误代码的初始测试案例,确定为所述目标测试案例。

12、为了实现上述目的,根据本申请的另一方面,提供了一种测试案例的质量评估装置。该装置包括:获取模块,用于获取业务代码对应的目标测试案例;确定模块,用于确定所述目标测试案例对应的案例执行时间,所述目标测试案例相对于所述业务代码的测试代码覆盖率,所述目标测试案例与所述业务代码之间的耦合度;质量评估模块,用于基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果。

13、为了实现所述目的,根据本申请的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的测试案例的质量方法。

14、通过本申请,采用以下步骤:获取业务代码对应的目标测试案例;确定所述目标测试案例对应的案例执行时间,所述目标测试案例相对于所述业务代码的测试代码覆盖率,所述目标测试案例与所述业务代码之间的耦合度;基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果,达到了综合案例执行时间、所述测试代码覆盖率以及所述耦合度进行测试案例质量评估的目的,解决了相关技术中在进行测试案例质量评估时考虑因素不全面,导致的测试案例质量评估结果准确性低的问题。进而达到了提升案例测试准确性和可靠性的效果。



技术特征:

1.一种测试案例的质量评估方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,确定所述目标测试案例相对于所述业务代码的测试代码覆盖率,包括:

3.根据权利要求1所述的方法,其特征在于,确定所述目标测试案例与所述业务代码之间的耦合度,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述n行代码对应的s个执行分支,所述s个执行分支分别对应的嵌套层次,以及所述s个执行分支分别对应的结果分支数量,确定所述n行代码对应的目标执行次数,包括:

5.根据权利要求3所述的方法,其特征在于,所述基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果,包括:

6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果,包括:

7.根据权利要求1至5中任意一项所述的方法,其特征在于,所述基于所述案例执行时间、所述测试代码覆盖率以及所述耦合度,确定所述目标测试案例的质量评估结果,包括:

8.根据权利要求1至5中任意一项所述的方法,其特征在于,所述获取业务代码对应的目标测试案例,包括:

9.一种测试案例的质量评估装置,其特征在于,包括:

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


技术总结
本申请公开了一种测试案例的质量评估方法、装置及电子设备。涉及金融科技领域或其他相关领域,该方法包括:获取业务代码对应的目标测试案例;确定目标测试案例对应的案例执行时间,目标测试案例相对于业务代码的测试代码覆盖率,目标测试案例与业务代码之间的耦合度;基于案例执行时间、测试代码覆盖率以及耦合度,确定目标测试案例的质量评估结果。通过本申请,解决了相关技术中在进行测试案例质量评估时考虑因素不全面,导致的测试案例质量评估结果准确性低的问题。

技术研发人员:王一舒,张兴伟,王妍,张悦
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1