基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf

上传人:62****3 文档编号:14525591 上传时间:2024-05-19 格式:PDF 页数:21 大小:2.47MB
收藏 版权申诉 举报 下载
基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf_第1页
第1页 / 共21页
基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf_第2页
第2页 / 共21页
基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf_第3页
第3页 / 共21页
文档描述:

《基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf》由会员分享,可在线阅读,更多相关《基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf(21页完成版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202410024877.8(22)申请日 2024.01.08(71)申请人 江西财经大学地址 330000 江西省南昌市经济技术开发区双港东大街169号(72)发明人 毛澄映温林林陈积富(74)专利代理机构 北京中济纬天专利代理有限公司 11429专利代理师 黄攀(51)Int.Cl.G06F 11/36(2006.01)(54)发明名称基于多维覆盖矩阵的随机组合测试用例生成方法与系统(57)摘要本发明提出一种基于多维覆盖矩阵的随机组合测试用例生成方法与系统,该方法包括,根据被测试程序的参数数。

2、量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵,随机获取第一个测试用例,并采用该测试用例对被测试程序进行测试,并根据测试用例更新t维覆盖矩阵,随机生成若干候选测试用例,根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布,使得测试用例具有更高的多样性,进而提升失效检测效果。权利要求书2页 说明书11页 附图7页CN 117520211 A2024.02.06CN 117520211 A1.一种基于。

3、多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,所述方法包括如下步骤:步骤1、根据被测试程序的参数数量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵;步骤2、随机获取第一个测试用例,采用测试用例对被测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;步骤3、随机生成若干候选测试用例,根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。2.根据权利要求1所述的基于多维覆盖矩阵的随机组合测试。

4、用例生成方法,其特征在于,在所述步骤1中,t维覆盖矩阵构建过程存在如下关系式:;其中,表示t维覆盖矩阵,表示已测用例集包含tway组合的测试用例个数,表示被测程序SUT输入参数的长度,即输入参数的个数,表示矩阵的维度,表示tway组合的元组中第t个元素,该元素为第 个参数的第取值。3.根据权利要求2所述的基于多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,在所述步骤1中,测试用例所有tway组合所形成的集合存在如下关系式:;其中,表示测试用例的所有组合所形成的集合。4.根据权利要求3所述的基于多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,在所述步骤1中,t维覆盖矩阵采用主对角线对称的。

5、方式布置,且主对角线上不可取值。5.根据权利要求4所述的基于多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,在所述步骤2中,随机获取第一个测试用例的方法具体包括如下步骤:根据被测试程序给定的信息,确定输入域的范围以及维度;根据输入参数范围与维度,生成一个随机测试用例,每个测试用例的参数取值均由纯随机的方法产生。6.根据权利要求5所述的基于多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,在所述步骤2中,采用该测试用例对被测试程序进行测试,将测试用例更新t维覆盖矩阵的方法具体包括如下步骤:设定测试停止条件,测试停止条件为已测用例集的大小达到阈值或者已测用例集覆盖了所有的组合;对被测试程序进。

6、行测试,同时将测试用例加入到已测用例集合中;若符合测试停止条件,则输出已测用例集合;权利要求书1/2 页2CN 117520211 A2若未达到测试停止条件,则将测试用例所覆盖的所有的组合记录在多维覆盖矩阵中;针对测试用例的每一个组合,将对应的组合在矩阵中的记录数加1,初始状态所有的记录数都为0。7.根据权利要求6所述的基于多维覆盖矩阵的随机组合测试用例生成方法,其特征在于,在所述步骤3中,候选用例与已测用例集之间距离的计算过程存在如下关系式:;其中,表示候选测试用例,表示已测用例集,表示 维覆盖矩阵中组合在已测用例集的覆盖次数的取值。8.根据权利要求7所述的基于多维覆盖矩阵的随机组合测试用例。

7、生成方法,其特征在于,每次测试过程中所采用的测试用例为一个,在进行下一阶段测试时,所挑选用于下一阶段测试的测试用例为与已测用例集最远的一个候选用例。9.一种基于多维覆盖矩阵的随机组合测试用例生成系统,其特征在于,所述系统应用如权利要求1至8任意一项所述的基于多维覆盖矩阵的随机组合测试用例生成方法,所述系统包括:矩阵构建模块,用于:根据被测试程序的参数数量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵;软件测试模块,用于:利用测试用例对被测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;测试用例挑选模块,用于:随机获取第一个测试用例,并在第一个测试用例测试完成后。

8、随机生成若干候选测试用例;根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。权利要求书2/2 页3CN 117520211 A3基于多维覆盖矩阵的随机组合测试用例生成方法与系统技术领域0001本发明软件测试领域,特别涉及一种基于多维覆盖矩阵的随机组合测试用例生成方法与系统。背景技术0002目前,面对越来越复杂的大型工业软件,其发生故障往往是一些输入参数、软硬件配置等等因素共同作用下产生的。因此,对于各种环境、参数等各种输。

9、入的组合的覆盖测试是一个必不可少的环节。然而在这种大型程序中,往往输入空间是非常庞大的,穷举的方法是非常不切实际的,因此组合测试是一个非常不错的选择。0003通常在组合测试中,测试用例集覆盖的 元组合(组合)的数量越多,就代表了测试用例集的揭错能力越强。在此基础上,诞生了如IPO、AETG等一些优秀的组合测试算法。在IPO算法中,测试用例集的组合覆盖能力通过横向增长与纵向增长的方式不断地的提升,直至每一个组合至少覆盖一次。AETG算法则是一种随机加贪心的方法,测试用例的每一个取值的确立均来源于使得测试用例覆盖度最高的取值。IPO、AETG这些组合测试的方法都是通过组合数学的角度来观察测试用例集。

10、的 元组合覆盖能力。0004严格意义上说,组合测试的算法也同属于黑盒测试方法。而在黑盒测试中,随机测试(Random Test)的方法因其简单、易于实现等特点更为广泛的被工业界所采用。然而若从失效检测能力的角度来看,随机测试因其随机性过强的特点,从而表现出的效果是不尽如人意的。适应性随机测试(Adaptive Random Test)作为随机测试的增强版本,其在保留随机特性的同时,更在失效检测能力上有了较大的提升。0005原始的ART算法大都是基于欧几里得的输入空间下进行的,但是在实际场景中,大多数软件的都是在多个参数的输入下运行的,且这些参数往往不是一个连续性的数值,而是一些特定的、离散的取。

11、值。ARTsum算法作为一种较为主流的ART算法,在该算法中,为了使得测试用例能够更加“均匀”地分布在输入空间,会在生成下一个测试用例时会尽可能的让其远离测试用例集,然而这种方式所产生的测试用例并不能够很好地覆盖更多的 元组合。发明内容0006鉴于上述状况,本发明的主要目的是为了提出一种基于多维覆盖矩阵的随机组合测试用例生成方法与系统,以解决上述技术问题。0007本发明提出了一种基于多维覆盖矩阵的随机组合测试用例生成方法,所述方法包括如下步骤:步骤1、据被测试程序的参数数量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵;步骤2、随机获取第一个测试用例,采用测试用例对被。

12、测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;步骤3、随机生成若干候选测试用例,根据已测用例和若干候选测试用例在组合空说明书1/11 页4CN 117520211 A4间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。0008本发明还提出一种基于多维覆盖矩阵的随机组合测试用例生成系统,其中,所述系统应用如上所述的基于多维覆盖矩阵的随机组合测试用例生成方法,所述系统包括:矩阵构建模块,用于:根据被测试程序的参数数量以及组合强度t,构建用于记录已测用。

13、例的tway组合出现次数的t维覆盖矩阵;软件测试模块,用于:利用测试用例对被测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;测试用例挑选模块,用于:随机获取第一个测试用例,并在第一个测试用例测试完成后随机生成若干候选测试用例;根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。0009相较于现有技术,本发明的有益效果如下:.1、根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用。

14、例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布,使得测试用例具有更高的多样性,在距离计算时关注 元组合的覆盖程度,融合ARTsum的高效率的优点,提高算法的 元组合覆盖能力,进而提升失效检测效果。00102、原始的组合测试方法都是利用一些贪心、组合数学等策略来生成测试用例,这些方法往往较为复杂,不便于实现与推广。随机测试作为最简单且易于实现的方法,在工业界具有广泛应用的背景,但随机性作为一把双刃剑也制约了随机方法的测试效果。适应性随机测试方法(ART)作为随机测试的增强版本,其将测试用例“均匀”分布在测。

15、试用例的思想,极大地提升对随机测试的失效检测能力。因此,本发明相比组合测试方法,理解更为简单,便于算法的实现与推广,具有更高的实际应用价值。00113、然而现有的针对非数值空间的ART方法在覆盖能力上,并不能与传统的组合测试方法相提并论,因而在失效检测能力上也稍逊不足。然而本发明在继承ART的诸多优点的基础上,提高算法的覆盖能力,进而提升其失效检测能力。0012本发明的附加方面与优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。附图说明0013图1为本发明提出的基于多维覆盖矩阵的随机组合测试用例生成方法的流程图;图2为本发明提出的基于多维覆盖矩阵的随机组合。

16、测试用例生成系统的结构示意图;说明书2/11 页5CN 117520211 A5图3为基于多维覆盖矩阵的适应性随机组合测试用例生成方法的测试流程图;图4为简单程序 维矩阵更新变化示意图;图5为组合强度 为2时各算法的CATmeasure箱线图;图6为组合强度 为3时各算法的CATmeasure箱线图;图7为包含FSCSART算法的时间效率对比图;图8为不包含FSCSART算法的时间效率对比图。具体实施方式0014下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释。

17、本发明,而不能理解为对本发明的限制。0015参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。0016请参阅图1,本发明实施例提供了一种基于多维覆盖矩阵的随机组合测试用例生成方法,所述方法包括如下步骤:步骤1、根据被测试程序的参数数量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵;在所述步骤1中,t维覆盖矩阵构建过程存在如下关系式:;其中,表示t维覆盖矩阵,表示已测用例集包含 tway 组合的测试用例个数,。

18、表示被测程序SUT输入参数的长度,即输入参数的个数,表示矩阵的维度,表示 tway 组合的元组中第 t 个元素,该元素为第 个参数的第 取值。0017在所述步骤1中,测试用例所有tway组合所形成的集合存在如下关系式:;其中,表示测试用例的所有组合所形成的集合。0018在所述步骤1中,t维覆盖矩阵采用主对角线对称的方式布置,且主对角线上不可取值。0019步骤2、随机获取第一个测试用例,采用测试用例对被测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;在所述步骤2中,随机获取测试用例的方法具体包括如下步骤:根据被测试程序给定的信息,确定输入域的范围以及维度;根据输入参数范围与维度,生成一。

19、个随机测试用例,每个测试用例的参数取值均由纯随机的方法产生。说明书3/11 页6CN 117520211 A60020在所述步骤2中,采用该测试用例对被测试程序进行测试,将测试用例更新t维覆盖矩阵的方法具体包括如下步骤:设定测试停止条件,测试停止条件为已测用例集的大小达到阈值或者已测用例集覆盖了所有的组合;对被测试程序进行测试,同时将测试用例加入到已测用例集合中;若符合测试停止条件,则输出已测用例集合;若未达到测试停止条件,则将测试用例所覆盖的所有的组合记录在多维覆盖矩阵中;针对测试用例的每一个组合,将对应的组合在矩阵中的记录数加1,初始状态所有的记录数都为0。0021步骤3、随机生成若干候选。

20、测试用例,根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。0022在所述步骤3中,候选用例与已测用例集之间距离的计算过程存在如下关系式:;其中,表示候选测试用例,表示已测用例集,表示 维覆盖矩阵中组合在已测用例集的覆盖次数的取值。0023在本实施例中,每次测试过程中所采用的测试用例为一个,在进行下一阶段测试时,所挑选用于下一阶段测试的测试用例为与已测用例集 最远的一个候选用例。0024请参阅图2,本发明实施例提供了一种。

21、基于多维覆盖矩阵的随机组合测试用例生成系统,其中,所述系统应用如上所述的基于多维覆盖矩阵的随机组合测试用例生成方法,所述系统包括:矩阵构建模块,用于:根据被测试程序的参数数量以及组合强度t,构建用于记录已测用例的tway组合出现次数的t维覆盖矩阵;软件测试模块,用于:利用测试用例对被测试程序进行测试,测试完成后,将已测用例更新t维覆盖矩阵;测试用例挑选模块,用于:随机获取第一个测试用例,并在第一个测试用例测试完成后随机生成若干候选测试用例;根据已测用例和若干候选测试用例在组合空间分布情况,利用tway覆盖矩阵计算每一个候选用例到已测用例集之间的距离,并根据候选用例和已测用例集之间的距离挑选候选。

22、用例作为下一阶段测试所需的测试用例,以使测试用例均匀地在组合空间分布。说明书4/11 页7CN 117520211 A70025请参阅图3,本发明测试过程如下:步骤1,本发明的第一个测试用例由随机方法产生,随后的测试用例通过候选的策略挑选而出;步骤2,在被测试程序执行完第一个测试用例后,将测试用例添加到已测用例集中。随后根据停止准则判断是否满足停止条件。0026步骤3,倘若达到停止准则,那么将输出已测用例集,本算法停止;否则将根据测试用例更新 维覆盖矩阵;步骤4,然后随机产生 个候选测试用例,并计算每一个候选用例到已测用例集的最短距离,一般候选用例数量的大小将被设定为10;步骤5,挑选出距离最。

23、大的候选测试用例作为下一个正式测试用例,并且将测试用例在被测程序内执行,随后将其加入到已测用例集中。0027步骤6,最后根据执行结果判断是否满足停止准则,若满足则算法中止,否则继续更新覆盖矩阵,并转入步骤4继续生成测试用例。0028为了更好的解释和理解组合本发明,本实施例结合简单的示例加以说明。0029首先关于软件测试领域的数学符号与术语进行解释定义1,存在任意被测试程序SUT定义为,且包含的参数集,表示输入参数的个数。则,其中,表示参数的取值个数,那么整个输入空间的大小。0030在某些大型程序中,往往某些参数是不能同时存在的,也就是说一些参数之间是存在约束的,但是这些约束往往比较庞大复杂。为。

24、了简化模型,本实施例采用无约束的模型,即。0031定义2,被测程序SUT的测试配置定义为,表示参数数量,表示参数的取值的数量,表示所有的参数集的笛卡尔乘积的模,该乘积集合表示整个输入空间,因此。为了更好的理解测试配置这一概念,表1为一个简单程序的参数取值的示例,整个程序有三个输入参数,则分别有3、2、2个取值,即参数数量为 3 个,其中 3 个取值的有一个,2 个取值的有两个,那么该简单程序的输入配置表示为。0032表1 简单程序参数取值示例说明书5/11 页8CN 117520211 A80033在组合测试中,由一个参数引起的故障被称之为简单故障,即=1,由两个不同参数的特定值引起的故障被称。

25、之二元组合故障,既=2。依次类推,当 为自然数时,便称之为元组合故障。任意 个参数的特定值的组合便称之为一个组合,通常 被称之为强度。通常情况下,覆盖 个变量的所有等价类组合(即覆盖所有的 元组合)而进行的测试用例设计,称之为覆盖。因此在的覆盖测试中,对于测试用例来说它所覆盖的组合数量就等于。例如在表1所示的简单程序中,假设存在测试用例,那么该测试用例所覆盖的2元组合就有、和。0034为了方便描述与理解,接下来本实施例将先阐述基于2way的距离计算策略,然后再阐述扩展到的距离计算策略,最后再对整体算法进行描述。0035ARTsum算法设计了一个可维护的特殊向量,该向量记录了整个已测用例集参数取。

26、值的情况,因此可以辅助候选测试用例一步计算与已测用例集的距离,从而实现线性复杂度。在ARTsum中,距离计算是基于汉明距离来进行计算的,然而输入空间的测试用例的“均匀”分布并不能很好地代表组合覆盖情况。因此本实施例针对此问题,本实施例设计了一个 维覆盖矩阵用于距离计算,该矩阵记录了已测用例集中组合的出现次数。为了便于理解,本实施例将先阐述当矩阵的形式与表示。0036定义3,二维覆盖矩阵A的一般表示形式如下:;其中,表示第 个参数的第个取值,那么表示一对,表示已测用例集包含组合的测试用例个数。0037为了更好的理解该矩阵,以表1所述的简单程序作为例子,介绍 维矩阵的构造。如图4所示,图4中的(a。

27、)、(b)、(c)、(d)分别为矩阵初始化状态、记录1个测试用例状态、记录3个测试用例状态、记录5个测试用例状态。0038当=2,并且=7时,该程序的 维矩阵构造如图4中的(a)所示,该矩阵即为一个7*7的二维矩阵,且该矩阵关于主对角线对称且主对角线上不可取值。除主对角线外,矩阵的每一个元素值代表了对应取值的组合在已测用例集的出现次数。假设当产生了一个说明书6/11 页9CN 117520211 A9测试用例时,矩阵的数值变化如图4中的(b)所示,在对应位置元素累加1次记录。按照类似的规则,当已测用例集时,矩阵的变化如图4中的(c)所示,已测用例中的每一个组合对应的矩阵元素均被累计加1次。图4。

28、中的(d)为已测用例集时,矩阵的记录变化。0039定义4,组合集合被定义为测试用例的所有组合所形成的集合。在更新矩阵以及在计算距离时,需要遍历每一个测试用例的所有组合。针对任意一个测试用例,该集合的表示形式为:;为了便于理解,结合图4所示的简单例子中的测试用例,其所对应的集合。0040上述构造的记录矩阵可以反映出已测用例集的组合的覆盖情况,为了能够使测试用例“均匀”地在组合空间分布,因此在挑选下一个测试用例时,应该远离被覆盖的组合,以增强测试用例集的多样性。假设2维覆盖矩阵被表示为,则实施例所设计的距离计算公式表示为:;其中,表示已测用例集,针对候选测试用例,需要遍历其所有的组合,而代表组合在。

29、矩阵中所对应的覆盖次数。0041相对的,维覆盖矩阵的表示方法则为:;因矩阵维度为,所以对应的索引便是 维向量。当任意两个或两个以上索引指向的取值所对应的参数是同一个时,说明该 元组合必定不存在,因为在测试用例中一个参数只能有一个取值。0042被定义为测试用例的所有组合所形成的集合。表示方式如下:;在组合中,每个参数只能存在一个取值,否则该组合是不存在的。说明书7/11 页10CN 117520211 A100043图3为本发明测试过程的总体流程图,与其他的ART算法相似,本发明的第一个测试用例由随机方法产生,随后的测试用例通过候选的策略挑选而出。在被测试程序执行完第一个测试用例后,将测试用例添。

30、加到已测用例集 中。随后根据停止准则判断是否满足停止条件,通常情况下,停止准则会被设定为已测用例集 大小一定的数量或者覆盖率达到一定值等等。倘若达到停止准则,那么将输出已测用例集,本算法停止;否则将根据测试用例更新 维覆盖矩阵,以便于进行距离计算。然后随机产生 个候选测试用例,一般候选用例数量的大小将被设定为10。计算每一个候选用例到已测用例集的最短距离,挑选出最短距离最大的候选测试用例作为下一个正式测试用例,并且将测试用例在被测程序内执行,随后将其加入到已测用例集 中。最后根据执行结果判断是否满足停止准则,若满足则算法中止,否则继续更新覆盖矩阵。0044为了验证本算法的失效检测能力以及组合覆。

31、盖能力,本实施例根据组合测试的相关研究,整理了一些程序作为本实施例的实验程序,相关信息如表2所示。本实施例所采用的这些程序以及程序的故障均来源于SIR程序库,从SIR程序库中找了一些程序的可用版本。并且为了方便地开展实验,针对每一个程序,从这些它们的可用版本里挑选了一个版本作为代表。0045表2实验程序0046CATmeasure(number measure of test cases covering all tway tuples)定义为算法覆盖所有的时所耗费的测试用例数量。当算法对应的Cmeasure值越低,算法实现所有组合全覆盖所需要的测试用例越少,即代表算法所生成的测试用例集的覆盖。

32、能力越强。因此本实施例将采用CATmeasure与其它的ART算法进行对比分析。0047本实施例中,将本发明与RT、FSCSART、ARTsum进行对比实验分析。为了得到公平的实验结果,将三种ART算法的候选集大小设定为10,并且每次实验的重复次数为10000次。本次实验将分别在、的情况下进行,并且统计其。0048针对上述的6个程序,本实施例分别在、进行了对比实验。图5展示了在时,RT、FSCS、ARTsum以及本发明四个算法在六个程序的结果,在图5中,(a)为flex程序、(b)说明书8/11 页11CN 117520211 A11为grep程序、(c)为gzip程序、(d)为sed程序、(。

33、e)为make程序、(f)为nanoxml程序。当时,发现三种ART算法的覆盖能力均要优于RT算法。相比于其他三个随机算法,本发明在六个程序均处于优势,这证实了本发明较于ARTsum算法有了极大的提升。0049图6展示了在时,RT、FSCS、ARTsum以及本发明四个算法在六个程序的结果,在图6中,(a)为flex程序、(b)为grep程序、(c)为gzip程序、(d)为sed程序、(e)为make程序、(f)为nanoxml程序,从图中可以看出,当时,本发明仍然保持了领先的地位,即仍然值均要低于其他三种算法。不仅如此,可以观察到的是,随着强度的增加,本发明的与其他算法的差距在不断拉大。也就是。

34、说,倘若组合覆盖测试的水平处于较大的值时,的数量也会提高,算法实现全覆盖的代价也会增加,而本发明在一定程度上可以节省很大的成本。0050为了验证各个算法之间的CATmeasure的优越性,对实验搜集的10000次实验结果进行了统计检验分析。在本实施例中,统一采用的是秩和检验(ranksum)作为此次统计检验的方法。从表3中可以看到,在t=2时,本发明与其他三种算法的CATmeasure值的pvalue都要小于0.05,这说明了本发明要显著地优越于其他三种算法。不仅如此,从表中数据可知,绝大部分的ES(effect size)值均要大于0.71,仅有3个场景下ES值介于0.630.70之间,这充。

35、分说明了本发明在绝大数的情况下显著优越性的效用尺寸很大。0051表4是t=3时的统计检验结果,从中可以发现,在所有场景下的pvalue值仍然小于0.05。不同的是,在所有场景下的ES值均要大于0.71,这说明了随着强度的上升,本发明的覆盖能力仍然显著地优越于其他三种算法,并且显著性得到了明显的提高。0052表3 各算法的统计检验结果()0053表4 各算法的统计检验结果()说明书9/11 页12CN 117520211 A120054根据上述可知,在算法描述对本发明的复杂度分析时,确定了本发明的时间代价是线性级别。为了验证算法的复杂度以及对比与其他算法的时间代价,设计了一个时间对比实验。不失一。

36、般性,将测试用例的长度设定为5(即参数长度为5),将测试用例大小设定为100,200,500,1000,2000,5000,10000等7种情况,并统计每个算法生成指定大小的测试用例集的时间消耗。为了得到较为准确的结果,将实验的重复次数设定为5000次,并计算它们的平均值。0055实验的结果可从图7得到,FSCSART算法是三种算法中时间代价最高的,因为它的复杂度是。由于从图7很难观测出本发明的时间趋势,因此将FSCSART的曲线取消后,结果如图8所示。不难发现,本发明的时间代价仅次于ARTsum算法,并且其仍然保持着线性的曲线,这充分地说明了本发明可以保持一个相对较低的时间成本。0056本发。

37、明是在基于距离计算的策略的基础上提出的。为了验证本发明的覆盖能力的强弱,设计了一个覆盖实验,并将其和较为流行的随机算法进行对比实验。从实验结果来看,本发明的的覆盖能力有了比较大的提升。并且通过统计检验后,发现随着 的增大,本发明优越性要更加的显著地优越于其他算法。这说明了在组合覆盖测试中,相较于其他随机算法,本发明具有更高的价值。0057为了探索本发明的成本效益,设计了时间代价对比实验,从实验结果可知,本发明的时间代价仅次于ARTsum算法,并且仍然保持了线性级别的时间代价。这也进一步说明了ARTsum算法,在保持高覆盖能力的同时也保持了一个较低的时间消耗代价,其可以有效的降低组合覆盖测试的时。

38、间成本。0058在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。0059以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员说明书10/11 页13CN 117520211 A13来说,在不。

39、脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。说明书11/11 页14CN 117520211 A14图 1图 2说明书附图1/7 页15CN 117520211 A15图 3说明书附图2/7 页16CN 117520211 A16图 4说明书附图3/7 页17CN 117520211 A17图 5说明书附图4/7 页18CN 117520211 A18图 6说明书附图5/7 页19CN 117520211 A19图 7说明书附图6/7 页20CN 117520211 A20图 8说明书附图7/7 页21CN 117520211 A21。

展开阅读全文
内容关键字: 基于 多维 覆盖 矩阵 随机 组合 测试 生成 方法 系统
关于本文
本文标题:基于多维覆盖矩阵的随机组合测试用例生成方法与系统.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/14525591.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1