CN106294127B - 基于聚类的面向对象软件测试用例生成方法 - Google Patents
基于聚类的面向对象软件测试用例生成方法 Download PDFInfo
- Publication number
- CN106294127B CN106294127B CN201610592105.XA CN201610592105A CN106294127B CN 106294127 B CN106294127 B CN 106294127B CN 201610592105 A CN201610592105 A CN 201610592105A CN 106294127 B CN106294127 B CN 106294127B
- Authority
- CN
- China
- Prior art keywords
- test case
- cluster
- test
- pond
- class
- 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
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/3684—Test management for test design, e.g. generating new test cases
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
本发明公开了基于聚类的面向对象软件测试用例生成方法,属于软件测试技术领域。包括如下步骤:1、根据类图为每个测试用例生成随机数量的对象和方法,以生成测试用例池;2、为测试用例池中的每个测试用例提取出其对象数和方法数;3、采用k中心点聚类算法,根据每个测试用例的对象数和方法数对测试用例池中的测试用例进行聚类;4、以保证测试用例的多样性为原则,从每个簇中取出测试用例,得到测试用例集,对面向对象软件进行测试。本方法通过与现有的随机测试进行实验比较,验证了所提出方法的有效性以及以相同的测试用例能够检测出更多的错误的优势。
Description
技术领域
本发明属于软件测试领域,涉及一种基于聚类的测试用例生成方法。
背景技术
软件测试是保证软件质量和可靠性的一种重要手段,已经形成了一套完整的测试理论。随着面向对象(Object Oriented,OO)技术的不断发展,面向对象软件(ObjectOriented Software,OOS)得到了广泛的应用。然而,由于面向对象的语言具有封装,继承性和多态性的特殊性,这就导致传统的软件测试技术并不能直接应用于面向对象软件的测试中。目前,已有的面向对象软件的测试方法包括随机测试(Random Testing,RT),基于状态的测试,基于序列的测试等。其中随机测试是保证软件质量的一种简单而重要的技术手段,其测试结果可以协助软件质量保证团队来评估系统的可靠性。由于它的简单性和易用性,RT可以很容易地应用到任何水平的测试软件中(如单元测试、集成测试、系统测试等),同时RT经常被应用于工业中。其他的一些面向对象软件的测试方法一般需要专业测试人员,通常应用于特殊的软件中。
然而,RT的有效性和效率受到被测软件的大小和复杂性影响。为了提高RT的缺陷检测效率,Chen等人提出了一种替代的方法,称为自适应随机测试(Adaptive RandomTesting,ART)。ART的核心思想是通过定义一个度量测试输入距离的度量机制来获得均匀分布在整个输入域上的测试输入。目前ART已被一些研究者应用于OOS的测试中,并且研究证明ART能够有效提高OOS的缺陷检测效率。Ciupa等人针对OOS测试提出了一种测试方法,命名为面向对象自适应随机测试(Adaptive Random Testing for Object-OrientedSoftware,ARTOO),该方法通过定义了一种对象间的距离度量机制首次将ART技术与OOS测试结合在了一起。ARTOO的主要思想是利用对象间的距离度量机制从候选测试用例集中选择距离已执行测试用例最远的测试用例作为下一个执行对象。Lin等人将ARTOO扩展到了高维输入空间,使得测试输入可以均匀地分散在面向对象程序的高维输入空间。
然而,传统的面向对象测试方法在执行测试用例时是随机的,没有顺序的,极有可能会重复执行相似的测试输入,从而导致产生类似的结果降低了发现缺陷的效果。如果将有不同的特性且均匀的分布在输入域上的测试用例优先执行,那么就能更快的找出缺陷。本文提出的基于聚类的测试用例生成方法,不仅能更快的找出缺陷,而且能找出更多的缺陷。聚类分析的核心思想是将具有相似性质的测试用例分配到同一个簇中。同一个簇中的测试用例具有相似的性质,不同簇中测试用例的性质差异较大。一般而言,在同一个簇中的测试用例可能有类似的缺陷检测能力。所以从不同簇中提取出具有不同的性质测试用例能够检测出程序中的不同缺陷。如今,聚类分析技术已经被进一步研究并应用到面向对象软件的测试中,如基于方法覆盖的聚类分析和基于方法调用序列的聚类分析,然后将相似的测试用例聚到同一个簇中。基于方法覆盖向量的方法能够很好地反映测试用例执行的动态行为,然而它只关注了方法是否执行和方法执行的次数。基于方法调用序列向量的方法能够很好地表示方法调用序列的信息,然而他们都没有关注到测试用例的结构信息。
发明内容
为了提高面向对象软件测试的有效性,在聚类分析的基础上,提出了面向对象软件测试用例生成方法及其基于方法和对象数的聚类算法MOClustering(Method andObject Clustering)。根据测试用例的对象数和方法数进行聚类,将具有相似性质的测试用例分配到同一个簇中。此外,提出了一种抽样策略,以保证测试用例的多样性。并且将本方法的实验结果与包含方法调用序列的RT方法(RT with multiple object interactionsand method invocations,RT-ms)和ARTOO的结果进行比较,验证了提出方法的有效性和能够检测出更多缺陷的优势。
本发明的技术方案如下:
步骤1,根据类图为每个测试用例生成随机数量的对象和方法,以生成测试用例池;
步骤2,为测试用例池中的每个测试用例提取出其对象数和方法数;
步骤3,采用k中心点聚类算法,根据每个测试用例的对象数和方法数对测试用例池中的测试用例进行聚类;
步骤4,以保证测试用例的多样性为原则,从每个簇中取出测试用例,得到测试用例集,对面向对象软件进行测试。
上述步骤1的具体步骤如下:
步骤1.1,读取并分析所测项目的类图;
步骤1.2,根据类图中定义的要创建的类的信息,使用类的构造函数创建类的实例,为对象中的成员赋值;
步骤1.3,随机生成指定个数的方法,以生成方法序列,然后验证生成的方法序列是否合法;
步骤1.4,根据方法参数的类型和给定的参数的取值范围,调用相应类型的随机数生成器,在指定的取值范围内生成参数的值,为生成的方法随机生成参数值;
步骤1.5,重复步骤1.2-1.4,直至生成拥有指定测试用例数量的测试用例池为止;
步骤1.6,输出测试用例池,算法结束。
上述步骤2的具体步骤如下:
步骤2.1,为测试用例池中的每个测试用例创建一个二元向量,分别用来存储该测试用例的对象数和方法数;
步骤2.2,读取测试用例池中每个测试用例的对象数和方法数,并填进二元向量中;
步骤2.3,输出每个测试用例所对应的二元向量,算法结束。
上述步骤3的具体步骤如下:
步骤3.1,从数据集中随机选择k个向量作为初始代表对象;
步骤3.2,用欧氏距离计算每个二元向量所代表的测试用例到每个簇代表对象的距离,并将每个测试用例放到与其距离最短的簇中;
步骤3.3,在每个簇中寻找出一个候选代表对象,计算该候选代表对象到同簇中所有对象的距离,若其小于该簇中原代表对象到同簇中所有对象的距离,则用此对象代替原代表对象;
步骤3.4,重新计算所有向量到每个簇代表对象的距离,将重新每个测试用例指派到与其距离最近的簇中,判断每个簇中的元素是否发生变化,若有变动则重复步骤3.2-3.4,若无变化则聚类结束;
步骤3.5,输出已完成聚类的所有簇,算法结束。
上述步骤4的具体步骤如下:
步骤4.1,在已完成聚类的所有簇中,随机选择一个簇作为初始簇;
步骤4.2,计算所有未被选择的簇与当前所选簇的距离,并选择距离最远的簇作为下一个簇;
步骤4.3,重复步骤4.2,直至所有的簇都已经被选择,形成一个有顺序的簇的序列;
步骤4.4,依次在该序列的每个簇中随机选择一个测试用例,直至选择完指定个数的测试用例。若某个簇中的所有测试用例已经被执行完,则跳至下一个簇;
步骤4.5,输出测试用例集,算法结束。
本发明的有益效果:
1、本发明采用了聚类分析的核心思想,将具有相似性质的测试用例分配到同一个簇中。同一个簇中的测试用例具有相似的性质,不同簇中测试用例的性质差异较大。一般而言,在同一个簇中的测试用例可能有类似的缺陷检测能力。所以从不同簇中提取出具有不同的性质测试用例能够检测出程序中的不同缺陷。因此,本发明能够用较少的测试用例检测出较多的缺陷。
2、传统的基于方法覆盖向量的方法和基于方法调用序列向量的方法虽然能够很好地反映测试用例执行的动态行为和方法调用序列的信息,但是它们只关注了方法是否执行、方法执行的次数,都关注到测试用例的结构信息。本发明技术不仅考虑到测试用例中方法的覆盖信息,还考虑到测试用例的结构信息。
3、本发明为每个测试用例构建了一个OMV向量,并用该向量来代表该测试用例。然后用欧氏距离来计算测试用例之间的距离,并用k中心点聚类算法对测试用例进行聚类。MOClustering算法能够有效降低大型类库的测试难度和复杂度。
附图说明
图1是基于聚类的面向对象软件试用例生成方法流程图。
图2是生成测试用例池的流程图。
图3是测试用例聚类流程图。
图4是测试用例挑选流程图。
图5是CcoinBox类库的Fm结果比较图。
图6是RabbitsAndFoxes类库的Fm结果比较图。
图7是SATM类库的Fm结果比较图。
图8是WaveletLibrary类库的Fm结果比较图。
图9是windshieldWiper类库的Fm结果比较图。
图10是IceChart类库的Fm结果比较图。
图11是CSPspEmu类库的Fm结果比较图。
图12是CcoinBox类库的Em结果比较图。
图13是RabbitsAndFoxes类库的Em结果比较图。
图14是SATM类库的Em结果比较图。
图15是WaveletLibrary类库的Em结果比较图。
图16是windshieldWiper类库的Em结果比较图。
图17是IceChart类库的Em结果比较图。
图18是CSPspEmu类库的Em结果比较图。
具体实施方式
为了能够更清楚地理解本发明基于数据聚类的面向对象软件试用例生成方法的技术内容,下面结合附图和一个实施案例对本发明作进一步说明,须指出的是,所描述给出的实施案例旨在便于对本发明的理解,而对其没有任何限定要求。
本发明给出的基于数据聚类的面向对象软件试用例生成方法的流程图如图1所示,第一步根据类图为每个测试用例生成随机数量的对象和方法,以生成测试用例池;第二步为测试用例池中的每个测试用例提取出其对象数和方法数;第三步采用k中心点聚类算法根据每个测试用例的对象数和方法数对测试用例池中的测试用例进行聚类;第四步以保证测试用例的多样性为原则,从每个簇中取出测试用例,得到测试用例集,对面向对象软件进行测试。
首先,给出本发明所涉及到的概念定义如下。
定义1(对象数方法数向量,OMV):每个测试用例的对象和方法数目,可以表示成一个对象方法数向量OMV,OMV=<ON,MN>。ON为测试用例中对象的数量。MN为测试用例中方法的数量。
定义2(测试用例距离,d):假设存在两个测试用例t1和t2,令X=OMV(t1)=<x1,x2>,Y=OMV(t2)=<y1,y2>,则X与Y之间的距离为:
定义3(代表对象,o):代表对象o是簇中拥有最小绝对误差值的那个对象。
定义4(绝对误差值,E):假设簇集C={c1,c2,…,ck},对象集OMVi={omv1,omv2,…,omvn}属于簇ci,即OMVi∈ci,i=1,2,…,k。令E’为簇ci中代表对象o’的绝对误差值。则MOClustering算法中的绝对误差值E’的计算方式为:
定义5(交换代表对象代价,S):S是用来度量用新的对象o来替换原有代表对象o’所需的代价。代价S的值等于o的绝对误差值减去o’的绝对误差值,则S的计算公式如下所示。其中E为候选代表对象o的绝对误差值,E’为原代表对象o’的绝对误差值。
S=Min(E)-E'
定义6(Fm):Fm为发现第一个缺陷所用的测试用例数量。
定义7(Fm-time):Fm-time为发现第一个缺陷所用的时间。
定义8(Em):Em为运行完指定个数测试用例后所发现的缺陷数。
在本发明中,被测程序的类的详细信息被存储在一个树形结构中。树形结构包含了详细的类信息,包括自定义属性、继承属性、自定义方法、继承的方法和嵌入对象等。嵌入对象指向另一个对象的结构。整个对象的结构是一种嵌套的树结构。参照图2,生成测试用例池的过程如下:测试用例池的生成过程如下:
步骤101,由于测试用例是基于类生成的,首先应该得到和分析类图。
步骤102,根据类图用类的构造函数创建随机个数的类的实例,并对对象的成员赋值。
步骤103,生成随机长度的方法序列,并对方法序列的有效性进行验证。
步骤104,步骤根据该方法的类型和范围,通过调用相应类型的随机数生成器,对方法参数进行赋值。
步骤105,重复步骤102至步骤104,直至产生足够的测试用例,生成测试用例池。
步骤106,输出测试用例池,算法结束。
在生成测试用例池之后,根据定义1为测试用例池中的每个测试用例生成一个OMV。
参照图3,测试用例聚类过程如下:
步骤301,选取k个向量作为初始代表对象;
步骤302,用定义2所示方法计算每个二元向量所代表的测试用例到每个簇代表对象的距离;
步骤303,将每个测试用例放到与其距离最短的簇中;
步骤304,在每个簇中寻找出一个候选代表对象,计算用该候选代表对象代替原代表对象所需的代价;
步骤305,若代价小于0,则转至步骤306,否则转至步骤307;
步骤306,用此对象代替原代表对象;
步骤307,该簇的代表对象不变;
步骤308,重新计算所有向量到每个簇代表对象的距离,将重新每个测试用例指派到与其距离最近的簇中;
步骤309,判断每个簇中的元素是否发生变化,若有变动则重复步骤302至309,若无变化则聚类结束。
步骤310,生成聚完类的所有簇。
参照图4,挑选取出测试用例的过程如下:
步骤401,在已完成聚类的所有簇中,随机选择一个簇作为初始簇;
步骤402,计算所有未被选择的簇与当前所选簇的距离。
步骤403,选择距离最远的簇作为下一个簇;
步骤404,重复步骤402和步骤403,直至所有的簇都已经被选择,形成一个有顺序的簇的序列;
步骤405,依次在该序列的每个簇中随机选择一个测试用例;
步骤406,重复步骤405,直至选择完指定个数的测试用例。若某个簇中的所有测试用例已经被执行完,则跳至下一个簇;
步骤407,输出测试用例集。
为验证本方法的有效性,将本方法与RT-ms算法进行了对比实验。实验使用了变异程序来检测所提方法的有效性,变异算子如表1所示。若变异版本的输出与源版本的输出不同,则认为检测出缺陷。被测类库的详细信息如表2所示。我们采用了三种参数,包括Fm,Fm-time,和Em来评估的两种方法的结果。Fm意为发现第一个缺陷时已执行的测试用例的个数。Fm-time意为发现第一个缺陷时耗费的时间。Em意为执行完指定个数的测试用例后发现的缺陷数量。若一种测试方法拥有较低的Fm值,较高的Em值,则说明该方法能够有效地发现缺陷。若一种测试方法拥有较低的Fm-time值,则说明该方法效率较高。
所有实验结果均为在名为CCoinBox、WindShieldWiper、SATM、RabbitAndFox、WaveletLibrary、IceChart和CSPspEmu的类库上分别运行100次之后的均值。本发明所提出的方法命名为MOClustering。
表1
表2
表3
表4
k中心点聚类算法需要给出k值作为输入参数,且k值对聚类的效果影响较大。若聚成的簇较多,相似的测试用例会被分到不同的簇中。若生成的簇较少,会导致能发现缺陷的测试用例和大量不能发现缺陷的测试用例混合在同一个簇中,降低了缺陷发现效率。在以前的研究中,k值有很多种取法,如k值为需要的簇的个数,或是根据差距统计算法来计算k值。为了获得合适的k值,本文并没有在一开始就将其设为一个固定的值,而是为每个被测类库分别取执行了的测试用例的总数量的2%、5%、10%、15%和20%进行实验。最后取效果最好的值作为k值。每个被测类库的k值如表3所示。表4为三种不同方法的Fm对比。
图5-图11分别为六个库的Fm结果图。实验结果表明,在Fm上,本发明提出的MOClustering效果最佳,其次为RT-ms和ARTOO。相对于RT-ms,MOClustering平均在Fm指标上优化了34.44%。相对于ARTOO,MOClustering平均在Fm指标上优化了64.62%。MOClustering平均拥有最短的四分位间距离,最短的胡须和最小的中位数。因此,MOClustering是最稳定的方法,其次为RT-ms和ARTOO。
为了进一步分析MOClustering,RT-ms和ARTOO这三种方法的时间消耗情况,本文收集了每种方法在这7个类库上的Fm-time值。MOClustering,RT-ms和ARTOO的Fm-time值分别平均为1.23(s)、1.10(s)和0.48(s)。这些数据为使用了不同的种子进行了100次实验后的平均统计结果。每种方法的Fm-time指标与被测类库的实际测试情况有关。根据表4并结合时间分析,可以得出以下结论:
(1)在大部分情况下,ARTOO的Fm-time为另外两种方法的一半,RT-ms在Fm-time上要优于MOClustering,但是ARTOO和RT-ms需要用更多的测试用例去发现第一个错误,尤其是ARTOO的Fm值在多数情况下为另外三种方法的两至三倍。
(2)MOClustering的Fm-time指标不超过RT-ms的两倍,也不超过ARTOO的三倍,但是MOClustering在Fm指标上要优于RT-ms和ARTOO很多。
综上所述在发现第一个缺陷的表现上来说,相对于RT-ms和ARTOO,MOClustering是最好的方法,并且MOClustering算法能够降低庞大复杂类库的测试难度,可用于测试复杂的类结构。
图12-图18分别为六个库在100个测试用例、500个测试用例、1000个测试用例、1500个测试用例、2000个测试用例、2500个测试用例、3000个测试用例、3500个测试用例、4000个测试用例和5000个测试用例这10阶段的Em的结果图。实验结果表明:
(1)执行完5000个测试用例之后,MOClustering发现的缺陷数量最多,其次为RT-ms和ARTOO。相对于RT-ms,MOClustering平均在Em指标上优化了9.07%,相对于ARTOO,MOClustering平均在Em指标上优化了24.45%。
(2)在测试过程中,MOClustering几乎始终处于领先地位,并且MOClustering几乎总是最先发现所有缺陷。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (4)
1.基于聚类的面向对象软件测试用例生成方法,其特征在于,包括以下步骤:
步骤1,根据类图为每个测试用例生成随机数量的对象和方法,以生成测试用例池;
步骤2,为测试用例池中的每个测试用例提取出其对象数和方法数;
步骤3,采用k中心点聚类算法,根据每个测试用例的对象数和方法数对测试用例池中的测试用例进行聚类;
步骤4,以保证测试用例的多样性为原则,从每个簇中取出测试用例,得到测试用例集,对面向对象软件进行测试;
所述步骤1的具体如下:
步骤1.1,读取并分析所测项目的类图;
步骤1.2,根据类图中定义的要创建的类的信息,使用类的构造函数创建类的实例,为对象中的成员赋值;
步骤1.3,随机生成指定个数的方法,以生成方法序列,然后验证生成的方法序列是否合法;
步骤1.4,根据方法参数的类型和给定的参数的取值范围,调用相应类型的随机数生成器,在指定的取值范围内生成参数的值,为生成的方法随机生成参数值;
步骤1.5,重复步骤1.2-1.4,直至生成拥有指定测试用例数量的测试用例池为止;
步骤1.6,输出测试用例池。
2.根据权利要求1所述的基于聚类的面向对象软件测试用例生成方法,其特征在于,所述步骤2的具体如下:
步骤2.1,为测试用例池中的每个测试用例创建一个二元向量,分别用来存储该测试用例的对象数和方法数;
步骤2.2,读取测试用例池中每个测试用例的对象数和方法数,并填进二元向量中;
步骤2.3,输出每个测试用例所对应的二元向量。
3.根据权利要求1所述的基于聚类的面向对象软件测试用例生成方法,其特征在于,所述步骤3的具体如下:
步骤3.1,从数据集中随机选择k个向量作为初始代表对象;
步骤3.2,用欧氏距离计算每个二元向量所代表的测试用例到每个簇代表对象的距离,并将每个测试用例放到与其距离最短的簇中;
步骤3.3,在每个簇中寻找出一个候选代表对象,计算该候选代表对象到同簇中所有对象的距离,若其小于该簇中原代表对象到同簇中所有对象的距离,则用此对象代替原代表对象;
步骤3.4,重新计算所有向量到每个簇代表对象的距离,将每个测试用例重新指派到与其距离最近的簇中,判断每个簇中的元素是否发生变化,若有变动则重复步骤3.2-3.4,若无变化则聚类结束;
步骤3.5,输出已完成聚类的所有簇。
4.根据权利要求1所述的基于聚类的面向对象软件测试用例生成方法,其特征在于,所述步骤4的具体如下:
步骤4.1,在已完成聚类的所有簇中,随机选择一个簇作为初始簇;
步骤4.2,计算所有未被选择的簇与当前所选簇的距离,并选择距离最远的簇作为下一个簇;
步骤4.3,重复步骤4.2,直至所有的簇都已经被选择,形成一个有顺序的簇的序列;
步骤4.4,依次在该序列的每个簇中随机选择一个测试用例,直至选择完指定个数的测试用例,若某个簇中的所有测试用例已经被执行完,则跳至下一个簇;
步骤4.5,输出测试用例集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592105.XA CN106294127B (zh) | 2016-07-25 | 2016-07-25 | 基于聚类的面向对象软件测试用例生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592105.XA CN106294127B (zh) | 2016-07-25 | 2016-07-25 | 基于聚类的面向对象软件测试用例生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294127A CN106294127A (zh) | 2017-01-04 |
CN106294127B true CN106294127B (zh) | 2019-01-08 |
Family
ID=57652714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610592105.XA Active CN106294127B (zh) | 2016-07-25 | 2016-07-25 | 基于聚类的面向对象软件测试用例生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294127B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957944B (zh) * | 2017-11-24 | 2020-08-25 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN111611171B (zh) * | 2020-05-25 | 2024-03-19 | 网易(杭州)网络有限公司 | 测试用例的处理方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736980A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种面向Java程序的随机测试用例生成方法 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN104572449A (zh) * | 2014-12-23 | 2015-04-29 | 中国移动通信集团广东有限公司 | 一种基于用例库的自动化测试方法 |
US20150331787A1 (en) * | 2014-05-15 | 2015-11-19 | Fujitsu Limited | Software verification |
-
2016
- 2016-07-25 CN CN201610592105.XA patent/CN106294127B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736980A (zh) * | 2012-06-29 | 2012-10-17 | 南京大学 | 一种面向Java程序的随机测试用例生成方法 |
US20150331787A1 (en) * | 2014-05-15 | 2015-11-19 | Fujitsu Limited | Software verification |
CN104572449A (zh) * | 2014-12-23 | 2015-04-29 | 中国移动通信集团广东有限公司 | 一种基于用例库的自动化测试方法 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
Non-Patent Citations (2)
Title |
---|
Using Coverage Information to Guide Test Case Selection in Adaptive Random Testing;Zhi Quan Zhou;《2010 34th Annual IEEE Computer Software and Applications Conference Workshops》;20101231;全文 |
一种基于K中心点算法的测试用例集约简方法;陈阳梅等;《计算机科学》;20120630;第39卷(第06期);第1-3页 |
Also Published As
Publication number | Publication date |
---|---|
CN106294127A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kukkonen et al. | Ranking-dominance and many-objective optimization | |
US8799859B2 (en) | Augmented design structure matrix visualizations for software system analysis | |
CN110516757A (zh) | 一种变压器故障检测方法及相关装置 | |
CN102968375B (zh) | 基于关联规则挖掘的不可达路径检测方法 | |
Hierons et al. | Many-objective test suite generation for software product lines | |
Malhotra et al. | Heuristic search-based approach for automated test data generation: a survey | |
CN113452018B (zh) | 一种电力系统备用不足风险场景辨识方法 | |
CN108830554A (zh) | 基于任务模型的数据成果信息质量智能检测方法和系统 | |
CN106294127B (zh) | 基于聚类的面向对象软件测试用例生成方法 | |
TW201603038A (zh) | 測試半導體記憶裝置之方法、測試裝置、以及用於記錄供半導體記憶裝置用的測試程式之電腦可讀記錄媒體 | |
CN103957116A (zh) | 一种云故障数据的决策方法及系统 | |
Boussaa et al. | A novelty search approach for automatic test data generation | |
Agarwal et al. | Code coverage using intelligent water drop (IWD) | |
CN117332420A (zh) | 一种智能合约漏洞检测方法 | |
Rosli et al. | The design of a software fault prone application using evolutionary algorithm | |
CN111858292A (zh) | 测试用例的筛选方法、筛选系统、计算机设备及存储介质 | |
CN102546235B (zh) | 云计算环境下面向web应用的性能诊断方法和系统 | |
CN105843744A (zh) | 用于并行程序蜕变测试的蜕变关系优先级排序方法 | |
CN105528296B (zh) | 一种面向对象软件的类簇测试方法 | |
CN110399284A (zh) | 一种测试用例编写与执行方法及装置 | |
CN109815108A (zh) | 一种基于权重的组合测试用例集优先化排序方法及系统 | |
CN107957944B (zh) | 面向用户数据覆盖率的测试用例自动生成方法 | |
CN115409317A (zh) | 基于特征选择和机器学习的台区线损检测方法及装置 | |
George | Constructing covering arrays using parallel computing and grid computing | |
Briand et al. | A multi-objective genetic algorithm to rank state-based test cases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |