本申请涉及计算机代码测试,特别是涉及一种增量代码单元测试方法、装置、计算机设备和存储介质。
背景技术:
1、随着互联网的快速发展,需要开发大量的软件。由于软件项目的代码规模非常庞大,需要多名开发人员协作开发。在将各个开发人员的代码合并成最终的软件代码之前,还需要进行集成测试,以便发现代码中的错误并确保软件正常运行。
2、传统技术中,采用单元测试(unit testing)的方式。单元测试是对软件中最小可测试单元进行检查和验证的方法。在进行代码集成测试之前,我们需要执行单元测试。
3、然而,当测试用例数量较多时,执行单元测试会花费较长的时间并占用大量计算资源。这可能导致一些单元测试任务无法及时执行,进而延长测试结果的获取。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高项目迭代效率并充分利用已存在的单元测试用例的增量代码单元测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种增量代码单元测试方法,包括:
3、获取代码更改相关数据;其中,代码更改相关数据包括程序员标识及其对应的代码变更记录;
4、根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例;
5、对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数。
6、在其中一个实施例中,根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例,包括:
7、对测试用例仓库进行遍历更新,获得更新后测试用例仓库;
8、根据代码更改数据对更新后测试用例仓库进行用例提取,获得待选用测试用例;
9、根据用例权重参数对待选用测试用例进行筛选,获得筛选后单测用例。
10、在其中一个实施例中,根据用例权重参数对待选用测试用例进行筛选,获得筛选后单测用例,包括:
11、基于用例必要性从待选用测试用例中筛选,获得第一类单测用例和剩余测试用例;
12、根据用例匹配度和用例关联度对剩余测试用例进行权重计算,获得剩余用例权重值;
13、根据剩余用例权重值和预设用例阈值对剩余测试用例进行筛选,获得第二类单测用例;
14、将第一类单测用例和第二类单测用例设定为筛选后单测用例。
15、在其中一个实施例中,对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
16、将筛选后单测用例输入至预设构建项目中;
17、对筛选后单测用例进行测试运行,获得测试运行结果;其中,测试运行结果包括用例测试结果和代码运行数据;
18、对测试运行结果中代码运行数据进行统计,获得代码覆盖率数据。
19、在其中一个实施例中,对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
20、基于测试运行结果中用例测试结果和预设执行结果进行比较,获得执行比较结果;
21、根据执行比较结果对筛选后单测用例进行成功率计算,获得用例执行成功率。
22、在其中一个实施例中,对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
23、基于筛选后单测用例的用例测试结果更新每个单测用例的用例失败次数;
24、基于用例失败次数与预设用例失败阈值对单测用例进行分类获得第三类单测用例和第四类单测用例;
25、将第三类单测用例设定为必要性单测用例;
26、根据代码覆盖率和用例执行成功率对第四类单测用例进行分值调节,获得调节后用例分值。
27、第二方面,本申请还提供了一种增量代码单元测试装置,包括:
28、信息获取模块,用于获取代码更改相关数据;其中,代码更改相关数据包括程序员标识及其对应的代码变更记录;
29、用例筛选模块,用于根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例;
30、测试调节模块,用于对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数。
31、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
32、获取代码更改相关数据;其中,代码更改相关数据包括程序员标识及其对应的代码变更记录;
33、根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例;
34、对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数。
35、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
36、获取代码更改相关数据;其中,代码更改相关数据包括程序员标识及其对应的代码变更记录;
37、根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例;
38、对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数。
39、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
40、获取代码更改相关数据;其中,代码更改相关数据包括程序员标识及其对应的代码变更记录;
41、根据代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例;
42、对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数。
43、上述增量代码单元测试方法、装置、计算机设备、存储介质和计算机程序产品,在程序员对代码完成修改后,获取代码更改相关数据,通过代码更改相关数据中代码更改记录确定可以使用的测试用例,再确定每个测试用例与代码更改记录之间的相关参数即用例权重参数,然后计算测试用例的权重分值进而得到一定数量的筛选后单测用例,之后执行筛选后单测用例得到所有筛选后单测用例的成功率和每个筛选后单测用例的代码覆盖率,进而可以对用例权重参数调整,提高了测试执行效率,使得用例得到有效执行,降低维护成本。
1.一种增量代码单元测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述代码更改相关数据和用例权重参数对单元测试用例进行用例筛选,获得筛选后单测用例,包括:
3.根据权利要求2所述的方法,其特征在于,所述用例权重参数包括用例匹配度、用例关联度和用例必要性;所述根据所述用例权重参数对所述待选用测试用例进行筛选,获得筛选后单测用例,包括:
4.根据权利要求1所述的方法,其特征在于,所述对筛选后单测用例进行执行测试,获得执行测试结果,以及基于执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
5.根据权利要求4所述的方法,其特征在于,所述对筛选后单测用例进行执行测试,获得执行测试结果,以及基于所述执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
6.根据权利要求5所述的方法,其特征在于,所述相关配置参数包括用例必要性和用例分值;所述对筛选后单测用例进行执行测试,获得执行测试结果,以及基于所述执行测试结果对相关配置参数进行数据调节,获得调节后配置参数,包括:
7.一种增量代码单元测试装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。