CN112988566B - 测试覆盖率提高方法、装置、计算机设备及存储介质 - Google Patents
测试覆盖率提高方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112988566B CN112988566B CN202110099991.3A CN202110099991A CN112988566B CN 112988566 B CN112988566 B CN 112988566B CN 202110099991 A CN202110099991 A CN 202110099991A CN 112988566 B CN112988566 B CN 112988566B
- Authority
- CN
- China
- Prior art keywords
- test
- metamorphic
- original
- data
- relation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 462
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012217 deletion Methods 0.000 claims description 14
- 230000037430 deletion Effects 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 13
- 239000011664 nicotinic acid Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 230000006872 improvement Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 230000003592 biomimetic effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003362 replicative effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及测试覆盖率提高方法、装置、计算机设备及存储介质,该方法包括获取原始测试用例;获取线上数据;对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;对蜕变测试用例进行蜕变测试,以得到测试结果。本发明通过构建测试模型,并获取测试用例和线上数据后,依据设定的蜕变关系生成蜕变测试用例,利用蜕变测试用例进行测试模型的测试,进而判断软件测试是否合格,无需人工获取较多测试数据进行模型测试,而且采用蜕变关系处理后的蜕变测试用例能够更大程度地将不同测试情况考虑在内,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
Description
技术领域
本发明涉及计算机,更具体地说是指测试覆盖率提高方法、装置、计算机设备及存储介质。
背景技术
软件开发的过程都是需要进行软件测试步骤,在软件测试的过程中,必须存在测试断言,通过针对预期值验证软件输出是否符合事实。在基于模型测试的行为驱动的基础上,不同的测试数据可能会产生不同的结果。这种情况下,如何准备足够的测试数据用于数据驱动测试和如何判断结果与期望值一致会存在难点。
目前只能通过不断增加测试数据以获得更多的测试用例,以达到较为理想的测试目的,但是这种方式也很难做到较大程度的提高测试覆盖率,而且获得的测试用例十分有限,无法提高测试人员的工作效率。
因此,有必要设计一种新的方法,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
发明内容
本发明的目的在于克服现有技术的缺陷,提供测试覆盖率提高方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:测试覆盖率提高方法,包括:
获取原始测试用例;
获取线上数据;
对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;
根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;
对所述蜕变测试用例进行蜕变测试,以得到测试结果。
其进一步技术方案为:所述获取原始测试用例,包括:
基于软件模型测试原则构建测试模型;
利用所述测试模型生成原始测试用例。
其进一步技术方案为:所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集,包括:
对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;
对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
其进一步技术方案为:所述根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例之前,还包括:
构建蜕变关系。
其进一步技术方案为:所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
其进一步技术方案为:所述对所述蜕变测试用例进行蜕变测试,以得到测试结果,包括:
根据原始测试用例以及原始测试数据集,得到原始输出结果;
利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果;
根据所述蜕变测试输出结果蜕变测试输出结果判断所述蜕变关系是否保持不变;
若所述蜕变关系保持不变,则测试结果为测试模型通过;
若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
其进一步技术方案为:所述根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变,包括:
判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;
若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;
若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
本发明还提供了测试覆盖率提高装置,包括:
原始用例获取单元,用于获取原始测试用例;
线上数据获取单元,用于获取线上数据;
数据集获取单元,用于对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;
生成单元,用于根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;
测试单元,用于对所述蜕变测试用例进行蜕变测试,以得到测试结果。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过构建测试模型,并获取测试用例和线上数据后,依据设定的蜕变关系生成蜕变测试用例,利用蜕变测试用例进行测试模型的测试,进而判断软件测试是否合格,无需人工获取较多测试数据进行模型测试,而且采用蜕变关系处理后的蜕变测试用例能够更大程度地将不同测试情况考虑在内,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的测试覆盖率提高方法的应用场景示意图;
图2为本发明实施例提供的测试覆盖率提高方法的流程示意图;
图3为本发明实施例提供的测试覆盖率提高方法的子流程示意图;
图4为本发明实施例提供的测试覆盖率提高方法的子流程示意图;
图5为本发明实施例提供的测试覆盖率提高方法的子流程示意图;
图6为本发明另一实施例提供的测试覆盖率提高方法的流程示意图;
图7为本发明实施例提供的测试覆盖率提高装置的示意性框图;
图8为本发明实施例提供的测试覆盖率提高装置的原始用例获取单元的示意性框图;
图9为本发明实施例提供的测试覆盖率提高装置的测试单元的示意性框图;
图10为本发明另一实施例提供的测试覆盖率提高装置的示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的测试覆盖率提高方法的应用场景示意图。图2为本发明实施例提供的测试覆盖率提高方法的示意性流程图。该测试覆盖率提高方法应用于服务器中。该服务器与终端进行数据交互,从终端处获取线上数据等进行蜕变测试用例的构建,并对终端的软件借助蜕变测试用例进行蜕变测试,从而实现提高测试覆盖率以及提高测试人员的工作效率。
图2是本发明实施例提供的测试覆盖率提高方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。
S110、获取原始测试用例。
在本实施例中,原始测试用例是指对测试模型进行首次测试时所生成的测试用例。
在一实施例中,请参阅图3,上述的步骤S110可包括步骤S111~S112。
S111、基于软件模型测试原则构建测试模型。
在本实施例中,测试模型是指用于测试软件是否合格的模型,也是一个主要通过针对预期值验证软件输出是否符合事实来判断软件是否合格的模型。
在本实施例中,软件模型测试原则是指通过建立被测系统的设计模型,结合不同的算法与策略遍历该模型,生成测试用例,在测试用例针对测试对象执行完毕后,生成测试报告,最后可对结果进行对比分析的原则。
S112、利用所述测试模型生成原始测试用例。
在创建的测试模型的基础上,采用测试数据进行测试,由此生成原始测试用例。
S120、获取线上数据。
在本实施例中,线上数据是指用于进行测试模型所用的现有的数据。
S130、对线上数据进行处理后导入线下测试环境,以得到原始测试数据集。
在本实施例中,原始测试数据集是指经过脱敏处理的线上数据。在一实施例中,上述的步骤S130可包括步骤S131~S132。
S131、对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;
S132、对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
S140、根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例。
在本实施例中,蜕变测试用例是指用于测试模型采用蜕变测试进行软件测试的用例。
蜕变关系表示一组与模型算法中多对输入和输出相关的属性,即在多次执行目标程序时,输入与输出间遵循的关系。
具体地,该蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
其中,一致仿生变换即线性变换,对于原始测试数据集中的每一个特征值进行线性变换,衍生数据集上的预测结果期望保存不变;
类别标签乱序是指假设函数Perm()实现类别标签的一对一映射,若原始测试数据T1的预测结果是L1,则衍生数据集上该条测试数据的预测结果期望为Perm(L1);
属性乱序是指对于原始数据集的属性进行乱序操作,衍生数据集的预测结果期望不变;
增加无信息属性是指该属性与每一个类别的关联强度是相同的,对原始数据集增加一列无信息属性,若原始测试数据T1的预测结果为L1,则衍生数据集上该测试数据的预测结果期望为L1;
增加有信息属性是指若原始测试数据T1的预测结果是L1,为原始数据集增加一列属性,其属性值满足与类别L1强关联,与其余类别的关联强度平均,则衍生数据集上该条测试数据的预测结果期望为L1;
一致重复预测是指若原始测试数据T1的预测结果为L,将原始测试数据T1和标签L1加入原始训练数据集,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
附加训练样本是指若原始测试数据T1的预测结果为L1,复制原始训练集中类别为L1的数据,则在衍生训练集上重训测试模型后,原始测试数据T1的预测结果是L1;
通过复制样本添加类别是指若原始测试数据T1的预测结果为L1,复制原始训练集中一些类别不为L1的数据,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
通过重定义标签增加类别是指若原始测试数据T1的预测结果为L1,复制原始训练集中一些类别不为L1的数据重新定义类别,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
删减类别是指若原始测试数据T1的预测结果为L1,将原始训练数据集中类别不为L1的某一种类别记录全部删除,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
删减样本是指若原始测试数据T1的预测结果为L1,将原始训练数据集中部分类别不为L1的记录删除,则在衍生训练集上重训测试模型后,T1的预测结果是L1。
这些蜕变关系的选择可以实际的业务经验或者通用的方式进行选择,以便于整个测试结果更加准确。
上述的原始测试数据T1是指代的是原始测试数据集,而原始测试数据T1的预测结果为L1,此处的L1指代的是原始测试用例。
S150、对所述蜕变测试用例进行蜕变测试,以得到测试结果。
在本实施例中,测试结果是指软件测试通过或者软件测试不通过两种结果。
蜕变测试是一种有效地解决如何准备足够的测试数据用于数据驱动测试和如何判断结果与期望值一致的问题的黑盒测试方法。蜕变测试的思路是假设以某种方式修改了那些与属性相关的输入,则可以在给定原始输入和输出的情况下预测新的输出,根据被测软件的领域知识和软件的实现方法建立蜕变关系,利用蜕变关系来生成新的蜕变测试用例。这些蜕变测试用例可用于测试模型,通过验证蜕变关系是否保持不变来决定本次模型测试是否通过。
在一实施例中,请参阅图4,上述的步骤S150可包括步骤S151~S155。
S151、根据原始测试用例以及原始测试数据集,得到原始输出结果。
在本实施例中,原始输出结果是指采用原始测试用例以及原始测试数据集输入至测试模型进行测试所得的结果。
S152、利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果。
在本实施例中,蜕变测试输出结果是指采用蜕变测试用例中通过蜕变关系处理后的原始测试数据集输入至测试模型进行测试所得的结果。
S153、根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变。
在一实施例中,请参阅图5,上述的步骤S153可包括步骤S1531~S1533。
S1531、判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;
S1532、若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;
S1533、若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
每个蜕变测试用例都会有对应的输入以及预测的输出,当蜕变测试用例的输入导入至测试模型内,进行测试后所得的蜕变测试输出结果与蜕变测试用例内的预测的输出一致时,才能表明蜕变关系保持不变。
S154、若所述蜕变关系保持不变,则测试结果为测试模型通过;
S155、若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
当测试结果为测试模型通过,则表明测试模型所测试的软件是合格的,当测试结果为测试模型不通过,则表明测试模型所测试的软件是不合格的。
在确认一个或多个蜕变关系后,就可以生成蜕变测试用例。在执行测试模型的测试时,根据一定的逻辑与当前的蜕变测试用例的结果,生成新的蜕变测试用例,并进行有穷尽的递归,直至递归结束得到最终的蜕变测试结果,一定的逻辑是指在蜕变测试用例的结果基础上再进行特殊处理,比如不同蜕变关系的叠加等逻辑,生成新的蜕变测试用例,从而增大软件测试的测试覆盖率,无需测试人员寻找较多的测试数据来作为测试用例,只需要通过蜕变关系和蜕变测试便可得到软件测试的目的。
上述的测试覆盖率提高方法,通过构建测试模型,并获取测试用例和线上数据后,依据设定的蜕变关系生成蜕变测试用例,利用蜕变测试用例进行测试模型的测试,进而判断软件测试是否合格,无需人工获取较多测试数据进行模型测试,而且采用蜕变关系处理后的蜕变测试用例能够更大程度地将不同测试情况考虑在内,实现增多测试用例,提高测试覆盖率和测试人员的工作效率。
图6是本发明另一实施例提供的一种测试覆盖率提高方法的流程示意图。如图6所示,本实施例的测试覆盖率提高方法包括步骤S210-S260。其中步骤S210-S230与上述实施例中的步骤S110-S130类似,步骤S250-S260与上述实施例中的步骤S140-S150类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S260-S270。
S240、构建蜕变关系。
在本实施例中,所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
具体地,根据实际的业务经验或者通用的方式构建多条蜕变关系;蜕变关系表示一组与模型算法中多对输入和输出相关的属性,即在多次执行目标程序时,输入与输出间遵循的关系。
具体地,该蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
其中,一致仿生变换即线性变换,对于原始测试数据集中的每一个特征值进行线性变换,衍生数据集上的预测结果期望保存不变;
类别标签乱序是指假设函数Perm()实现类别标签的一对一映射,若原始测试数据T1的预测结果是L1,则衍生数据集上该条测试数据的预测结果期望为Perm(L1);
属性乱序是指对于原始数据集的属性进行乱序操作,衍生数据集的预测结果期望不变;
增加无信息属性是指该属性与每一个类别的关联强度是相同的,对原始数据集增加一列无信息属性,若原始测试数据T1的预测结果为L1,则衍生数据集上该测试数据的预测结果期望为L1;
增加有信息属性是指若原始测试数据T1的预测结果是L1,为原始数据集增加一列属性,其属性值满足与类别L1强关联,与其余类别的关联强度平均,则衍生数据集上该条测试数据的预测结果期望为L1;
一致重复预测是指若原始测试数据T1的预测结果为L,将原始测试数据T1和标签L1加入原始训练数据集,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
附加训练样本是指若原始测试数据T1的预测结果为L1,复制原始训练集中类别为L1的数据,则在衍生训练集上重训测试模型后,原始测试数据T1的预测结果是L1;
通过复制样本添加类别是指若原始测试数据T1的预测结果为L1,复制原始训练集中一些类别不为L1的数据,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
通过重定义标签增加类别是指若原始测试数据T1的预测结果为L1,复制原始训练集中一些类别不为L1的数据重新定义类别,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
删减类别是指若原始测试数据T1的预测结果为L1,将原始训练数据集中类别不为L1的某一种类别记录全部删除,则在衍生训练集上重训测试模型后,T1的预测结果是L1;
删减样本是指若原始测试数据T1的预测结果为L1,将原始训练数据集中部分类别不为L1的记录删除,则在衍生训练集上重训测试模型后,T1的预测结果是L1。
图7是本发明实施例提供的一种测试覆盖率提高装置300的示意性框图。如图7所示,对应于以上测试覆盖率提高方法,本发明还提供一种测试覆盖率提高装置300。该测试覆盖率提高装置300包括用于执行上述测试覆盖率提高方法的单元,该装置可以被配置于服务器中。具体地,请参阅图7,该测试覆盖率提高装置300包括原始用例获取单元301、线上数据获取单元302、数据集获取单元303、生成单元305以及测试单元306。
原始用例获取单元301,用于获取原始测试用例;线上数据获取单元302,用于获取线上数据;数据集获取单元303,用于对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;生成单元305,用于根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;测试单元306,用于对所述蜕变测试用例进行蜕变测试,以得到测试结果。
在一实施例中,如图8所示,所述原始用例获取单元301包括模型构建子单元3011以及用例生成子单元3012。
模型构建子单元3011,用于基于软件模型测试原则构建测试模型;用例生成子单元3012,用于利用所述测试模型生成原始测试用例。
在一实施例中,上述的线上数据获取单元302包括导入子单元以及处理子单元。
所述导入子单元,用于对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集。
所述处理子单元,用于对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
在一实施例中,如图9所示,所述测试单元306包括原始测试子单元3061、蜕变测试子单元3062以及关系判断子单元3063。
原始测试子单元3061,用于根据原始测试用例以及原始测试数据集,得到原始输出结果;蜕变测试子单元3062,用于利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果;关系判断子单元3063,用于根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变;若所述蜕变关系保持不变,则测试结果为测试模型通过;若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
在一实施例中,所述关系判断子单元3063,用于判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
图10是本发明另一实施例提供的一种测试覆盖率提高装置300的示意性框图。如图10所示,本实施例的测试覆盖率提高装置300是上述实施例的基础上增加了关系构建单元304。
关系构建单元304,用于构建蜕变关系。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述测试覆盖率提高装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述测试覆盖率提高装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种测试覆盖率提高方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种测试覆盖率提高方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取原始测试用例;获取线上数据;对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;对所述蜕变测试用例进行蜕变测试,以得到测试结果。
在一实施例中,处理器502在实现所述获取原始测试用例步骤时,具体实现如下步骤:
基于软件模型测试原则构建测试模型;利用所述测试模型生成原始测试用例。
在一实施例中,处理器502在实现所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集步骤时,具体实现如下步骤:
对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
在一实施例中,处理器502在实现所述根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例步骤之前,还实现如下步骤:
构建蜕变关系。
其中,所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
在一实施例中,处理器502在实现所述对所述蜕变测试用例进行蜕变测试,以得到测试结果步骤时,具体实现如下步骤:
根据原始测试用例以及原始测试数据集,得到原始输出结果;利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果;根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变;若所述蜕变关系保持不变,则测试结果为测试模型通过;若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
在一实施例中,处理器502在实现所述根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变步骤时,具体实现如下步骤:
判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取原始测试用例;获取线上数据;对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;对所述蜕变测试用例进行蜕变测试,以得到测试结果。
在一实施例中,所述处理器在执行所述计算机程序而实现所述获取原始测试用例步骤时,具体实现如下步骤:
基于软件模型测试原则构建测试模型;利用所述测试模型生成原始测试用例。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集步骤时,具体实现如下步骤:
对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例步骤之前,还实现如下步骤:
构建蜕变关系。
其中,所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述蜕变测试用例进行蜕变测试,以得到测试结果步骤时,具体实现如下步骤:
根据原始测试用例以及原始测试数据集,得到原始输出结果;利用所述蜕变测试用例测试所述测试模型,以得到蜕变测试输出结果;根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变;若所述蜕变关系保持不变,则测试结果为测试模型通过;若所述蜕变关系不是保持不变,则测试结果为测试模型不通过。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述蜕变测试输出结果判断所述蜕变关系是否保持不变步骤时,具体实现如下步骤:
判断所述蜕变测试输出结果是否与蜕变测试用例对应的蜕变关系中的预测结果一致;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果一致,则所述蜕变关系保持不变;若所述蜕变测试输出结果与蜕变测试用例对应的蜕变关系中的预测结果不一致,则所述蜕变关系不是保持不变。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (4)
1.测试覆盖率提高方法,其特征在于,包括:
获取原始测试用例;
获取线上数据;
对线上数据进行处理后导入线下测试环境,以得到原始测试数据集;
根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例;
对所述蜕变测试用例进行蜕变测试,以得到测试结果;
其中,所述对线上数据进行处理后导入线下测试环境,以得到原始测试数据集,包括:
对线上数据进行脱敏后导入线下测试环境,以得到原始测试数据集;
对敏感的线上数据或线上数据中部分外部依赖信息进行mock处理;
所述对所述蜕变测试用例进行蜕变测试,以得到测试结果,包括:
根据原始测试用例以及原始测试数据集,得到原始输出结果;
利用所述蜕变测试用例测试测试模型,以得到蜕变测试输出结果;
根据所述蜕变测试输出结果蜕变测试输出结果判断所述蜕变关系是否保持不变;
若所述蜕变关系保持不变,则测试结果为测试模型通过;
若所述蜕变关系不是保持不变,则测试结果为测试模型不通过;
所述根据原始测试用例、原始测试数据集以及蜕变关系生成蜕变测试用例之前,还包括:
构建蜕变关系;蜕变关系表示一组与模型算法中多对输入和输出相关的属性,为多次执行目标程序时,输入与输出间遵循的关系;
所述蜕变关系包括一致仿生变换、类别标签乱序、属性乱序、增加无信息属性、增加有信息属性、一致重复预测、附加训练样本、通过复制样本添加类别、通过重定义标签增加类别、删减类别以及删减样本中至少一种;
在确认一个或多个蜕变关系后,生成蜕变测试用例;执行测试模型的测试时,根据逻辑与当前的蜕变测试用例的结果,生成新的蜕变测试用例,并进行有穷尽的递归,直至递归结束得到最终的蜕变测试结果;所述逻辑是指在蜕变测试用例的结果基础上再进行处理,生成新的蜕变测试用例,增大软件测试的测试覆盖率。
2.根据权利要求1所述的测试覆盖率提高方法,其特征在于,所述获取原始测试用例,包括:
基于软件模型测试原则构建测试模型;
利用所述测试模型生成原始测试用例。
3.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1、2中任一项所述的方法。
4.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1、2中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410020036.XA CN117827667A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置 |
CN202410020038.9A CN117827668A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置、计算机设备及存储介质 |
CN202110099991.3A CN112988566B (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110099991.3A CN112988566B (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410020036.XA Division CN117827667A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置 |
CN202410020038.9A Division CN117827668A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988566A CN112988566A (zh) | 2021-06-18 |
CN112988566B true CN112988566B (zh) | 2024-01-02 |
Family
ID=76345410
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410020038.9A Pending CN117827668A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置、计算机设备及存储介质 |
CN202410020036.XA Pending CN117827667A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置 |
CN202110099991.3A Active CN112988566B (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410020038.9A Pending CN117827668A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置、计算机设备及存储介质 |
CN202410020036.XA Pending CN117827667A (zh) | 2021-01-25 | 2021-01-25 | 测试覆盖率提高装置 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN117827668A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485932A (zh) * | 2021-07-16 | 2021-10-08 | 深圳市网联安瑞网络科技有限公司 | 深度学习代码缺陷检测方法、系统、产品、设备、终端 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170378A (zh) * | 2011-04-22 | 2011-08-31 | 北京科技大学 | 一种无需预期的Web服务测试方法 |
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN111124896A (zh) * | 2019-12-06 | 2020-05-08 | 北京京航计算通讯研究所 | 一种主次峰值比计算算法的蜕变测试系统 |
CN111124895A (zh) * | 2019-12-06 | 2020-05-08 | 北京京航计算通讯研究所 | 一种主次峰值比计算算法的蜕变测试方法 |
CN111798310A (zh) * | 2020-07-22 | 2020-10-20 | 睿智合创(北京)科技有限公司 | 基于Cox回归和逻辑回归的拒绝推断方法及电子设备 |
CN111830935A (zh) * | 2020-07-23 | 2020-10-27 | 深圳慕智科技有限公司 | 一种面向自动驾驶系统的蜕变测试方法 |
CN111881029A (zh) * | 2020-07-23 | 2020-11-03 | 深圳慕智科技有限公司 | 一种面向自动驾驶的多场景自动化点云扩增方法 |
CN112199295A (zh) * | 2020-10-29 | 2021-01-08 | 北京信息科技大学 | 一种基于频谱的深度神经网络缺陷定位方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7238408B2 (en) * | 2001-10-10 | 2007-07-03 | Owens-Corning Fiberglas Technology Inc. | Roofing materials having engineered coatings |
US9734045B2 (en) * | 2015-02-20 | 2017-08-15 | Vmware, Inc. | Generating test cases |
US10642723B1 (en) * | 2019-02-05 | 2020-05-05 | Bank Of America Corporation | System for metamorphic relationship based code testing using mutant generators |
-
2021
- 2021-01-25 CN CN202410020038.9A patent/CN117827668A/zh active Pending
- 2021-01-25 CN CN202410020036.XA patent/CN117827667A/zh active Pending
- 2021-01-25 CN CN202110099991.3A patent/CN112988566B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170378A (zh) * | 2011-04-22 | 2011-08-31 | 北京科技大学 | 一种无需预期的Web服务测试方法 |
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN111124896A (zh) * | 2019-12-06 | 2020-05-08 | 北京京航计算通讯研究所 | 一种主次峰值比计算算法的蜕变测试系统 |
CN111124895A (zh) * | 2019-12-06 | 2020-05-08 | 北京京航计算通讯研究所 | 一种主次峰值比计算算法的蜕变测试方法 |
CN111798310A (zh) * | 2020-07-22 | 2020-10-20 | 睿智合创(北京)科技有限公司 | 基于Cox回归和逻辑回归的拒绝推断方法及电子设备 |
CN111830935A (zh) * | 2020-07-23 | 2020-10-27 | 深圳慕智科技有限公司 | 一种面向自动驾驶系统的蜕变测试方法 |
CN111881029A (zh) * | 2020-07-23 | 2020-11-03 | 深圳慕智科技有限公司 | 一种面向自动驾驶的多场景自动化点云扩增方法 |
CN112199295A (zh) * | 2020-10-29 | 2021-01-08 | 北京信息科技大学 | 一种基于频谱的深度神经网络缺陷定位方法及系统 |
Non-Patent Citations (2)
Title |
---|
An Inferential Metamorphic Testing Approach to Reduce False Positives in SQLIV Penetration Test;L. Liu 等;《2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)》;675-680 * |
声纳嵌入式软件的单元测试及结构覆盖率测试方法;何永军 等;《声学与电子工程》(第04期);44-47 * |
Also Published As
Publication number | Publication date |
---|---|
CN112988566A (zh) | 2021-06-18 |
CN117827667A (zh) | 2024-04-05 |
CN117827668A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595415B2 (en) | Root cause analysis in multivariate unsupervised anomaly detection | |
WO2020232874A1 (zh) | 基于迁移学习的建模方法、装置、计算机设备和存储介质 | |
WO2019019647A1 (zh) | 应用程序测试范围确定方法、系统、服务器和存储介质 | |
CN109976998A (zh) | 一种软件缺陷预测方法、装置和电子设备 | |
CN108268373A (zh) | 自动化测试用例管理方法、装置、设备及存储介质 | |
CN110347600B (zh) | 面向卷积神经网络的变异覆盖测试方法及计算机存储介质 | |
CN116015932B (zh) | 入侵检测网络模型生成方法以及数据流量入侵检测方法 | |
CN112199293A (zh) | 软件质量评价方法、装置、终端设备及存储介质 | |
US11243835B1 (en) | Message-based problem diagnosis and root cause analysis | |
CN116089870A (zh) | 基于元学习的小样本条件下工业设备故障预测方法及装置 | |
Le Thi My Hanh et al. | Mutation-based test data generation for simulink models using genetic algorithm and simulated annealing | |
CN112988566B (zh) | 测试覆盖率提高方法、装置、计算机设备及存储介质 | |
CN115545169A (zh) | 基于gru-ae网络的多视角业务流程异常检测方法、系统以及设备 | |
Gultchin et al. | Differentiable causal backdoor discovery | |
CN114443483A (zh) | 人工智能系统的测试方法、装置、电子设备及介质 | |
CN114298299A (zh) | 基于课程学习的模型训练方法、装置、设备及存储介质 | |
US20200250560A1 (en) | Determining pattern similarities using a multi-level machine learning system | |
CN117194145A (zh) | 异常客户端检测方法、装置、电子设备及存储介质 | |
Marin et al. | Clustering recurrent and semantically cohesive program statements in introductory programming assignments | |
CN117561502A (zh) | 一种确定失效原因的方法及装置 | |
CN117891566B (zh) | 智能软件的可靠性评估方法、装置、设备、介质和产品 | |
CN118196567B (zh) | 基于大语言模型的数据评价方法、装置、设备及存储介质 | |
SINGH | Comparing Variable Selection Algorithms On Logistic Regression–A Simulation | |
CN117371506A (zh) | 模型训练、模型测试方法、装置、电子设备及存储介质 | |
CN117171041A (zh) | 业务批量处理的测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231009 Address after: Room 901, Floor 9, Building 1, No. 239, Sansheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 310000 Applicant after: Hangzhou Yike Information Technology Co.,Ltd. Address before: Room 1601, building 1, Xingqi building, 1916 Jiangling Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province 310051 Applicant before: Hangzhou yikeyun Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |