一种针对银行系统的单元测试方法和相关装置制造方法及图纸

技术编号:35148648 阅读:15 留言:0更新日期:2022-10-05 10:26
本申请公开了一种针对银行系统的单元测试方法和相关装置,可应用于大数据领域或金融领域。针对包括m个模块的银行系统,每个模块用于实现不同的功能,若对m个模块中的n个模块执行单元测试,获取n个模块分别对应的单元覆盖率和单元测试覆盖率基线值,以n个模块中的目标模块为例,若目标模块的单元覆盖率大于或等于所目标模块的单元测试覆盖率基线值,则目标模块的单元测试结果为成功;若目标模块的单元覆盖率小于目标模块的单元测试覆盖率基线值,则目标模块的单元测试结果为失败。由此获取n个模块分别的n个单元测试结果,根据n个单元测试结果确定银行系统的整体测试结果。由此,从银行系统的整体维度保证代码质量,提高持续集成效率。成效率。成效率。

【技术实现步骤摘要】
一种针对银行系统的单元测试方法和相关装置


[0001]本专利技术涉及数据处理
,尤其是涉及一种针对银行系统的单元测试方法和相关装置。

技术介绍

[0002]单元测试覆盖率是对单元测试的测试完全程度的一种评价,用于描述源码中被测试的代码所占比例。单元测试是指对软件中的最小可测试单元进行检查和验证。例如,对于Java程序来讲,可能由一个测试类中的某个测试函数来对某个代码块进行单元测试。
[0003]相关技术中,当前进行代码质量检查时,单元测试覆盖率作为代码质量的重要指标之一,通过单元测试的方式来判断每个模块当天的单元测试覆盖率是否达标,从而确定该模块的单元测试成功率。
[0004]但是,上述方式适用于银行系统中时,经常会出现代码质量问题发现延后、持续集成效率降低的问题。

技术实现思路

[0005]针对上述问题,本申请提供一种针对银行系统的单元测试方法和相关装置,用于避免出现代码质量问题发现延后、持续集成效率降低的问题。
[0006]基于此,本申请实施例公开了如下技术方案:
[0007]一方面,本申请实施例提供一种针对银行系统的单元测试方法,银行系统包括m个模块,每个模块用于实现不同的功能,m为大于1的整数;所述方法包括:
[0008]获取执行单元测试的n个模块分别对应的单元覆盖率和单元测试覆盖率基线值,n为小于或等于m的正整数;
[0009]针对所述n个模块中的目标模块,若所述目标模块的单元覆盖率大于或等于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为成功;若所述目标模块的单元覆盖率小于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为失败;
[0010]获取所述n个模块的n个单元测试结果;
[0011]根据所述n个单元测试结果确定所述银行系统的整体测试结果。
[0012]可选的,所述根据所述n个单元测试结果确定所述银行系统的整体测试结果,包括:
[0013]若所述n个单元测试结果全部为成功,则所述银行系统的整体测试结果为成功;
[0014]若所述n个单元测试结果中有至少一个单元测试结果为失败,则所述银行系统的整体测试结果为失败。
[0015]可选的,所述单元测试覆盖率基线值为静态值或动态值。
[0016]可选的,若所述单元测试覆盖率基线值为动态值,获取所述单元测试覆盖率基线值,包括:
[0017]获取所述目标模块在第i

1次单元测试得到的历史单元测试覆盖率;
[0018]根据所述历史单元测试覆盖率和调节参数,确定所述目标模块在第i次单元测试所需的单元测试覆盖率基线值。
[0019]可选的,所述方法还包括:
[0020]获取一段时间内所述银行系统对应的多个整体测试结果;
[0021]根据所述多个整体测试结果确定所述银行系统的综合测试结果。
[0022]可选的,所述方法还包括:
[0023]获取第i

1天的整体测试结果;
[0024]获取第i天的整天测试结果;
[0025]根据所述第i

1天的整体测试结果和所述第i天的整天测试结果,确定所述银行系统在所述第i天的综合测试结果。
[0026]可选的,所述获取执行单元测试的n个模块分别对应的单元覆盖率,包括:
[0027]通过开源代码扫描平台SonarQube获取执行单元测试的n个模块分别对应的单元覆盖率。
[0028]另一方面,本申请提供了一种针对银行系统的单元测试装置,银行系统包括m个模块,每个模块用于实现不同的功能,m为大于1的整数;所述装置包括:第一获取单元、单元测试结果确定单元、第二获取单元和整体测试结果确定单元;
[0029]所述第一获取单元,用于获取执行单元测试的n个模块分别对应的单元覆盖率和单元测试覆盖率基线值,n为小于或等于m的正整数;
[0030]所述单元测试结果确定单元,用于针对所述n个模块中的目标模块,若所述目标模块的单元覆盖率大于或等于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为成功;若所述目标模块的单元覆盖率小于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为失败;
[0031]所述第二获取单元,用于获取所述n个模块的n个单元测试结果;
[0032]所述整体测试结果确定单元,用于根据所述n个单元测试结果确定所述银行系统的整体测试结果。
[0033]可选的,所述整体测试结果确定单元,具体用于:
[0034]若所述n个单元测试结果全部为成功,则所述银行系统的整体测试结果为成功;
[0035]若所述n个单元测试结果中有至少一个单元测试结果为失败,则所述银行系统的整体测试结果为失败。
[0036]可选的,所述单元测试覆盖率基线值为静态值或动态值。
[0037]可选的,若所述单元测试覆盖率基线值为动态值,所述第一获取单元,具体用于:
[0038]获取所述目标模块在第i

1次单元测试得到的历史单元测试覆盖率;
[0039]根据所述历史单元测试覆盖率和调节参数,确定所述目标模块在第i次单元测试所需的单元测试覆盖率基线值。
[0040]可选的,所述装置还包括综合测试结果确定单元,用于:
[0041]获取一段时间内所述银行系统对应的多个整体测试结果;
[0042]根据所述多个整体测试结果确定所述银行系统的综合测试结果。
[0043]可选的,所述装置还包括综合测试结果确定单元,用于:
[0044]获取第i

1天的整体测试结果;
[0045]获取第i天的整天测试结果;
[0046]根据所述第i

1天的整体测试结果和所述第i天的整天测试结果,确定所述银行系统在所述第i天的综合测试结果。
[0047]可选的,所述第一获取单元,具体用于:
[0048]通过开源代码扫描平台SonarQube获取执行单元测试的n个模块分别对应的单元覆盖率。
[0049]另一方面,本申请提供了一种计算机设备,所述设备包括处理器以及存储器:
[0050]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0051]所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
[0052]另一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
[0053]另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
[0054]相对于现有技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对银行系统的单元测试方法,其特征在于,银行系统包括m个模块,每个模块用于实现不同的功能,m为大于1的整数;所述方法包括:获取执行单元测试的n个模块分别对应的单元覆盖率和单元测试覆盖率基线值,n为小于或等于m的正整数;针对所述n个模块中的目标模块,若所述目标模块的单元覆盖率大于或等于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为成功;若所述目标模块的单元覆盖率小于所述目标模块的单元测试覆盖率基线值,所述目标模块的单元测试结果为失败;获取所述n个模块的n个单元测试结果;根据所述n个单元测试结果确定所述银行系统的整体测试结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述n个单元测试结果确定所述银行系统的整体测试结果,包括:若所述n个单元测试结果全部为成功,则所述银行系统的整体测试结果为成功;若所述n个单元测试结果中有至少一个单元测试结果为失败,则所述银行系统的整体测试结果为失败。3.根据权利要求1所述的方法,其特征在于,所述单元测试覆盖率基线值为静态值或动态值。4.根据权利要求3所述的方法,其特征在于,若所述单元测试覆盖率基线值为动态值,获取所述单元测试覆盖率基线值,包括:获取所述目标模块在第i

1次单元测试得到的历史单元测试覆盖率;根据所述历史单元测试覆盖率和调节参数,确定所述目标模块在第i次单元测试所需的单元测试覆盖率基线值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取一段时间内所述银行系统对应的多个整体测试结果;根据所述多个整体测试结果确定所述银行系统的综合测试结果。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取第i

1天的整体测试结果;获取第i天的整天测试结果...

【专利技术属性】
技术研发人员:田济榕张博
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1