本发明涉及计算机,更具体地说是指测试覆盖率提高装置。
背景技术:
1、软件开发的过程都是需要进行软件测试步骤,在软件测试的过程中,必须存在测试断言,通过针对预期值验证软件输出是否符合事实。在基于模型测试的行为驱动的基础上,不同的测试数据可能会产生不同的结果。这种情况下,如何准备足够的测试数据用于数据驱动测试和如何判断结果与期望值一致会存在难点。
2、目前只能通过不断增加测试数据以获得更多的测试用例,以达到较为理想的测试目的,但是这种方式也很难做到较大程度的提高测试覆盖率,而且获得的测试用例十分有限,无法提高测试人员的工作效率。
3、因此,有必要设计一种新的方法,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
技术实现思路
1、本发明的目的在于克服现有技术的缺陷,提供测试覆盖率提高方法、装置、计算机设备及存储介质。
2、为实现上述目的,本发明采用以下技术方案:测试覆盖率提高方法,包括:
3、获取原始测试用例;
4、获取线上数据;
5、对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;
6、根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;
7、对所述蜕变测试用例进行蜕变测试,以得到测试结果。
8、其进一步技术方案为:所述获取原始测试用例,包括:
9、基于软件模型测试原则构建测试模型;
10、利用所述测试模型生成原始测试用例。
11、其进一步技术方案为:所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集,包括:
12、对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;
13、对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
14、其进一步技术方案为:所述根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例之前,还包括:
15、构建蜕变关系。
16、其进一步技术方案为:所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
17、其进一步技术方案为:所述对所述蜕变测试用例进行蜕变测试,以得到测试结果,包括:
18、根据原始测试用例以及原始测试数据集,得到原始输出结果;
19、利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果;
20、根据所述蜕变测试输出结果蜕变测试输出结果判断所述蜕变关系是否保持不变;
21、若所述蜕变关系保持不变,则测试结果为测试模型通过;
22、若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
23、其进一步技术方案为:所述根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变,包括:
24、判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;
25、若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;
26、若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
27、本发明还提供了测试覆盖率提高装置,包括:
28、原始用例获取单元,用于获取原始测试用例;
29、线上数据获取单元,用于获取线上数据;
30、数据集获取单元,用于对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;
31、生成单元,用于根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;
32、测试单元,用于对所述蜕变测试用例进行蜕变测试,以得到测试结果。
33、本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
34、本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
35、本发明与现有技术相比的有益效果是:本发明通过构建测试模型,并获取测试用例和线上数据后,依据设定的蜕变关系生成蜕变测试用例,利用蜕变测试用例进行测试模型的测试,进而判断软件测试是否合格,无需人工获取较多测试数据进行模型测试,而且采用蜕变关系处理后的蜕变测试用例能够更大程度地将不同测试情况考虑在内,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
36、下面结合附图和具体实施例对本发明作进一步描述。
1.测试覆盖率提高装置,其特征在于,包括:
2.根据权利要求1所述的测试覆盖率提高装置,其特征在于,所述逻辑是指在蜕变测试用例的结果基础上再进行处理,生成新的蜕变测试用例,增大软件测试的测试覆盖率。
3.根据权利要求1所述的测试覆盖率提高装置,其特征在于,所述获取原始测试用例,包括:
4.根据权利要求1所述的测试覆盖率提高装置,其特征在于,所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集,包括: