本公开实施例涉及计算机,尤其涉及一种代码测试方法及设备。
背景技术:
1、在软件项目的开发中,代码测试是其中重要的环节。代码的测试覆盖率能够反映代码在测试过程中能够被覆盖的程度,具体为代码测试过程中被执行的代码语句占总的代码语句的比值。
2、在代码测试过程中,通常会设置一个覆盖率阈值,若代码的测试覆盖率大于或等于该覆盖率阈值,则确定该代码测试完成。目前,对于同一个项目的代码,是基于经验设定的一个固定的覆盖率阈值来确定该项目的代码是否完成测试。而人工设定覆盖率阈值的准确度取决于经验值,这样在通过该覆盖率阈值确定该项目的代码是否完成测试时,会存在对代码的测试不达标的问题,同时会影响该代码的上线使用效果。
技术实现思路
1、本公开实施例提供一种代码测试方法及设备,以克服代码的测试不达标的问题。
2、第一方面,本公开实施例提供一种代码测试方法,包括:
3、在接收到待测试代码的情况下,获取目标指标值,目标指标值包括:与待测试代码相关的关联代码在历史运行过程中的第一事故次数、高热等级和开发人员提交的历史代码在历史运行过程中的第二事故次数中的至少一项,开发人员是开发待测试代码的开发人员,高热等级用于反映待测试代码的影响域代码的线上运行频率,关联代码包括:与待测试代码采用相同编写方法的代码和/或影响域代码;
4、根据目标指标值,确定覆盖率阈值,覆盖率阈值与目标指标值为正相关关系;
5、第二方面,本公开实施例提供一种代码测试设备,包括:
6、获取单元,用于在接收到待测试代码的情况下,获取目标指标值,目标指标值包括:与待测试代码相关的关联代码在历史运行过程中的第一事故次数、高热等级和开发人员提交的历史代码在历史运行过程中的第二事故次数中的至少一项,开发人员是开发待测试代码的开发人员,高热等级用于反映待测试代码的影响域代码的线上运行频率,关联代码包括:与待测试代码采用相同编写方法的代码和/或影响域代码;
7、第一确定单元,用于根据目标指标值,确定覆盖率阈值,覆盖率阈值与目标指标值为正相关关系;
8、第二确定单元,用于根据覆盖率阈值,确定是否完成对待测试代码的测试。
9、第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
10、存储器存储计算机执行指令;
11、至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第一方面提供的代码测试方法。
12、第四方面,本公开实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上第一方面提供的代码测试方法。
13、第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,计算机程序产品包含计算机执行指令,当处理器执行计算机执行指令时,实现如上第一方面提供的代码测试方法。
14、本实施公开例提供的代码测试方法及设备,通过在接收到待测试代码的情况下,获取目标指标值,目标指标值包括:与待测试代码相关的关联代码在历史运行过程中的第一事故次数、高热等级和开发人员提交的历史代码在历史运行过程中的第二事故次数中的至少一项,开发人员是开发待测试代码的开发人员,高热等级用于反映待测试代码的影响域代码的线上运行频率,关联代码包括:与待测试代码采用相同编写方法的代码和/或影响域代码;根据目标指标值,确定覆盖率阈值。如此,通过考虑到第一事故次数、高热等级和开发人员的第二事故次数其中的至少一项影响因素,能够准确的确定覆盖率阈值,提高代码的测试达标率,进而提高代码的上线使用效果。
1.一种代码测试方法,包括:
2.根据权利要求1所述的代码测试方法,所述根据所述目标指标值,确定覆盖率阈值,包括:
3.根据权利要求2所述的代码测试方法,所述根据所述目标指标值,确定所述待测试代码的风险值,包括:
4.根据权利要求1所述的代码测试方法,所述根据所述目标指标值,确定覆盖率阈值,包括:
5.根据权利要求1至4中任一项所述的代码测试方法,所述待测试代码为预设代码中的部分代码,所述目标指标值包括所述第一事故次数,所述获取目标指标值,包括:
6.根据权利要求5所述的代码测试方法,所述根据所述目标代码的事故次数,确定所述第一事故次数,包括:
7.根据权利要求1至4中任一项所述的代码测试方法,所述目标指标值包括所述高热等级,获取所述目标指标值,包括:
8.根据权利要求1至4中任一项所述的代码测试方法,所述根据所述覆盖率阈值,确定是否完成对所述待测试代码的测试,包括:
9.一种代码测试设备,包括:
10.一种电子设备,包括:至少一个处理器和存储器;
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的代码测试方法。