CN104598381B - 一种蜕变测试中失效测试用例的定位方法 - Google Patents
一种蜕变测试中失效测试用例的定位方法 Download PDFInfo
- Publication number
- CN104598381B CN104598381B CN201510039889.9A CN201510039889A CN104598381B CN 104598381 B CN104598381 B CN 104598381B CN 201510039889 A CN201510039889 A CN 201510039889A CN 104598381 B CN104598381 B CN 104598381B
- Authority
- CN
- China
- Prior art keywords
- test case
- metamorphic
- relation
- test
- ftc
- 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
Abstract
本发明属于软件测试领域,具体地公开了一种蜕变测试中失效测试用例的定位方法,首先从测试用例集中选择一个测试用例作为原始测试用例,再由前述原始测试用例根据蜕变关系集中的蜕变关系的输入关系,生成附加测试用例,根据被测软件的输出结果来验证蜕变关系的输出关系是否满足,并记录不满足的蜕变关系的测试用例并用非零值对其标记;然后,根据蜕变关系的验证结果标记值,计算该测试用例的可疑度。接着,以同样的方法对其它测试用例进行逐个遍历验证,并且计算其可疑度值。最后,可疑度最大的测试用例为失效测试用例。本发明提供的蜕变测试中失效测试用例的定位技术简单明了、易实现,通过可疑度的定量计算,为失效测试用例提供精准、有效的定位。
Description
技术领域
本发明涉及一种软件蜕变测试中的失效测试用例,尤其涉及一种蜕变测试中失效测试用例的定位方法,属于软件测试领域。
背景技术
通常,软件测试的主要目的就是通过执行测试用例,来检测被测软件中是否存在故障。如果测试用例执行的结果与预期结果不一致,则认为被测软件中存在故障,而这种不一致则称为失效。而导致这种失效的测试用例也被称为失效测试用例。
在软件测试中,由于在多数情况下,对于任意测试输入,获取其预期输出的成本非常高,甚至在有些条件下根本不可能获取,而蜕变测试方法为软件测试提供一种行之有效的手段。蜕变测试方法事先需要根据程序的特性构造蜕变关系及生成原始测试用例。如图1所示,其中otc(Original Test Case)表示原始测试用例,而ftc表示附加测试用例(Follow-up Test Case)。在蜕变测试中,可以采用随机算法生成原始测试用例otc,通过蜕变关系中的输入关系,由原始测试用例otc生成相应的附加测试用例ftc。这时,当原始测试用例和附加测试用例组成的测试用例集(otc,ftc1,ftc2,…,ftcn)之间满足蜕变关系中的输入关系时,就可以验证相应的输出(O0,O1,O2,…,On)是否满足蜕变关系中的输出关系。这时,输入关系、程序本身表示的自关系以及输出关系构成了蜕变关系(MetamorphicRelation:MR)。当蜕变关系满足时,则选择下一个蜕变关系继续进行验证。但是当蜕变关系不满足时,根据蜕变测试的基本性质,可以确定测试用例集(otc,ftc1,ftc2,…,ftcn)中存在失效测试用例。
例如,对于实现程序函数y=sin(x)的程序P,容易得到以下蜕变关系:
当程序的测试输入满足输入关系(Input Relation:IR):
IR(MRsin1)={<x1,x2,x3>|x1,x2,x3∈T,(x3-5*x1=0)∧(x2-3*x1=0)},
程序相应的输出应该满足输出关系(Output Relation:OR):
OR(MRsin1)={<y1,y2,y3>|y3-5*y2-16*y5 1+10*y1=0}
这时,蜕变关系MRsin1的测试用例为:{x1,x2,x3}。其中otc=x1为原始测试用例,ftc={x2,x3}为附加测试用例。当MRsin1不满足时,容易得到{x1,x2,x3}中一定存在失效的测试用例。
然而,现有的方法并不能确定具体哪一个或者几个测试用例为失效测试用例。这就严重制约着蜕变测试方法在软件故障定位中的应用。如果一组测试用例的输入不满足蜕变关系,则认为这一组测试用例中存在失效测试用例。对于蜕变测试,失效测试用例通常存在于一组测试用例中,目前根据现有方法,只能确定这组测试用例中一定存在至少一个失效测试用例,但是并不能确定哪一个或者几个测试用例为失效测试用例。基于此问题,本发明提出一种失效测试用例的定位方法。
发明内容
本发明目的是为了解决现有的蜕变测试中失效测试用例不能定位的难题,分别从测试用例集中各个测试用例参与的不同蜕变关系是否满足进行度量,从而计算出每个测试用例的可疑度,然后按照可疑度对测试用例进行排序,其中可疑度最大的测试用例为失效测试用例。
为了实现上述技术目的,本发明的技术方案是提供一种蜕变测试中失效测试用例的定位方法,其设计要点,包括以下步骤:
步骤1,当测试用例集{otc,ftc1,ftc2,...,ftcn}不满足被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系MRk的输出关系时,k=1,...,m,从测试用例集{otc,ftc1,ftc2,...,ftcn}中选择一个未经测试验证的测试用例作为被测试验证对象,并将所选择的测试用例标记为ti,i=0,1,…,n(i=0时,ti=otc;否则,ti=ftci);
步骤2,从被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中选择一个未经测试验证的蜕变关系,作为被测试验证蜕变关系MRj,j=1,...,m;
步骤3,以所述测试用例ti作为原始测试用例,通过所述被测试验证蜕变关系MRj的输入关系IR(MRj),由所述作为原始测试用例ti生成附加测试用例,根据被测软件的输出来验证蜕变关系MRj的输出关系OR(MRj)是否满足;
步骤4,若被测软件的输出不满足蜕变关系MRj的输出关系OR(MRj),则对测试用例ti的测试验证蜕变关系MRj进行非零值标记;否则,转到步骤5;
步骤5,若蜕变关系集MR={MR1,MR2,...,MRm}中有蜕变关系没有被遍历测试验证,则转到步骤2;
步骤6,当蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系被遍历测试验证完后,根据测试用例ti的非零值标记进行测试用例ti的可疑度Suspiciousness(ti)计算,i=0,...,n,可疑度Suspiciousness(ti)的计算公式如下
其中Failed表示测试用例ti不满足的蜕变关系集MR中的各蜕变关系的数量和,Total表示蜕变关系集MR中的蜕变关系的数量和,Total=m;
步骤7,测试用例集{otc,ftc1,ftc2,...,ftcn}中若存在未被测试验证的测试用例,则转到步骤1;
步骤8,计算可疑度Suspiciousness(ti)的最大值Max(Suspiciousness(t0),Suspiciousness(t1),...,Suspiciousness(tn)),其对应的测试用例即为失效测试用例。
在实际测试中,本发明还有如下进一步优化的技术方案。
进一步地,所述步骤1中的测试用例ti从测试用例集{otc,ftc1,ftc2,…,ftcn}按顺序依次选择,则i=0时,ti=otc;否则,ti=ftci。
进一步地,所述步骤4中的非零值标记为1。
进一步地,所述步骤6中测试用例ti的可疑度Suspiciousness(ti)的计算公式如下
其中Failed表示测试用例ti不满足的蜕变关系集MR中的各蜕变关系的数量和,Total表示蜕变关系集MR中的蜕变关系的数量和,Total=m。
本发明提供的一种蜕变测试中失效测试用例的定位方法,对于一个被测软件,通常针对被测软件构造多个蜕变关系,通过验证这些蜕变关系是否满足,可以在缺少测试判定条件下判定软件是否存在失效。而在蜕变关系不满足时,现有的方法只能确定相应的测试用例集中存在失效测试用例,但是并不能定位其中的失效测试用例。这时,采用本发明的定位方法,首先从测试用例集中选择一个测试用例作为原始测试用例,再由前述原始测试用例根据蜕变关系集中的蜕变关系的输入关系,生成附加测试用例,根据被测软件的输出结果来验证蜕变关系的输出关系是否满足,并记录不满足的蜕变关系的测试用例并用非零值对其标记;然后,根据蜕变关系的验证结果标记值,计算该测试用例的可疑度值。接着,以同样的方法对其它测试用例进行逐个遍历验证,并且计算其可疑度值。最后,可疑度最大的测试用例为失效测试用例。本发明提供的蜕变测试中失效测试用例的定位方法简单明了、易实现,通过可疑度的定量计算,为失效测试用例提供精准、有效的定位。
有益效果
对蜕变测试中失效测试用例进行有效定位,从失效的测试用例集中遍历选择一个测试用例作为原始测试用例,再由前述原始测试用例根据蜕变关系集中的蜕变关系的输入关系,生成附加测试用例,根据被测软件的输出结果来验证蜕变关系的输出关系是否满足,并记录不满足的蜕变关系的测试用例并用非零值对其标记;然后,根据测试用例的蜕变关系的标记值,计算该测试用例的可疑度。接着,以同样的方法依次遍历失效的测试用例集中的其它测试用例进行测试验证,并且计算其可疑度值。最后,可疑度最大的测试用例为失效测试用例。
定位算法简单精准、效率高,能确定失效测试用例集中的存在的至少一个失效测试用例。
附图说明
图1蜕变测试原理示意图。
图2蜕变测试与失效测试用例定位之间关系示意图。
图3本发明的失效测试用例定位过程示意图。
具体实施方式
为了阐明本发明的技术方案及技术目的,下面结合附图、具体实施方式和实施例对本发明做进一步的介绍。
实施方式
本发明的一种蜕变测试中失效测试用例的定位方法,如图2和图3所示,包括以下步骤:
步骤1当测试用例集{otc,ftc1,ftc2,…,ftcn}不满足被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系MRk的输出关系时,k=1,...,m,从测试用例集{otc,ftc1,ftc2,…,ftcn}中选择一个未经测试验证的测试用例作为被验证对象,并将所选择的测试用例标记为ti;
对于测试用例ti的选择,在没有先验知识的条件下,测试用例ti从测试用例集{otc,ftc1,ftc2,…,ftcn}按顺序依次选择,则i=0时,ti=otc;否则,ti=ftci,i=0,1,…,n。
步骤2从被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中选择一个未经测试验证的蜕变关系,作为被测试验证蜕变关系MRj,j=1,…,m。
步骤3以所述测试用例ti作为原始测试用例,通过所述被测试验证蜕变关系MRj的输入关系IR(MRj),由所述作为原始测试用例ti生成附加测试用例,根据被测软件的输出来验证蜕变关系MRj的输出关系OR(MRj)是否满足。
步骤4若被测软件的输出不满足蜕变关系MRj的输出关系OR(MRj),则对测试验证蜕变关系MRj的测试用例ti进行非零值标记;否则,转到步骤5。为了后续计算测试用例在满足的蜕变关系和不满足的蜕变关系中参与的次数,当测试用例的被测软件的输出不满足蜕变关系中的输出关系时把上述非零值标记为1,默认值为0,表示该测试用例的被测软件的输出满足蜕变关系中的输出关系。
步骤5若蜕变关系集MR={MR1,MR2,...,MRm}中有蜕变关系没有被遍历测试验证,则转到步骤2;否则,转到步骤6。
步骤6当蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系被遍历测试验证完后,根据测试用例ti的非零值标记进行测试用例ti的可疑度Suspiciousness(ti)计算,i=0,1,…,n;
其中,可疑度Suspiciousness(ti)的计算公式如下
其中Failed表示测试用例ti不满足的蜕变关系集MR中的各蜕变关系的数量和,Total表示蜕变关系集MR中的蜕变关系的数量和,Total=m。
步骤7测试用例集{otc,ftc1,ftc2,…,ftcn}中若存在未被测试验证的测试用例,则转到步骤1;否则,转到步骤8。
步骤8计算可疑度Suspiciousness(ti)的最大值Max(Suspiciousness(t0),Suspiciousness(t1),…,Suspiciousness(tn)),其对应的测试用例即为失效测试用例。
由上述步骤得到的所有测试用例的可疑度后,选择可疑度的最大值,其对应的测试用例为失效测试用例。如果同时存在多个相同的可疑度最大值,则相应的测试用例都为失效测试用例。
为了详细、清晰说明本发明的方法实施过程,使本领域的技术人员能更好地理解、实现本发明的技术方案,下面通过一个程序实例进行说明。
实施例
本例以一个实现y=sin(x)函数的程序P为例对本发明的技术方案进行详细的说明。对于该程序P,根据y=sin(x)特性,构造一个蜕变关系集MR={MRsin1,MRsin2,...,MRsin10},其中IR(MR)表示蜕变关系的输入关系,OR(MR)表示蜕变关系的输出关系,蜕变关系集MR具体如下表1所示。
表1
实现y=sin(x)函数的程序P进行蜕变测试中发生失效的测试用例集中的失效测试用例的定位方法,包括以下步骤。
第一步,当测试用例集{x1,x2,x3}={1.23,3*1.23,5*1.23}不满足被测软件P的蜕变关系集MR={MRsin1,MRsin2,...,MRsin10}中的蜕变关系MRsin1的输出关系时,从测试用例集{x1,x2,x3}={1.23,3*1.23,5*1.23}中顺序依次选择一个未经测试验证的测试用例作为原始测试用例,即被测试验证对象,并将所选择的测试用例标记为t1=x1=1.23。
测试用例集中的每一个测试用例对于蜕变关系集MR中的每一个蜕变关系,其测试验证结果的默认标记值为0,表示相对应的测试用例的被测软件的输出满足蜕变关系中的输出关系;验证结果的标记值为1,表示相对应的测试用例的被测软件的输出不满足蜕变关系中的输出关系。易知测试用例t1作原始测试用例时,蜕变关系MRsin1取值为1。因此,得到测试用例集的初始可疑度如下表2所示;其中0、1表示相应的测试用例满足、不满足蜕变关系,下同。
MRsin 1 | MRsin 2 | MRsin 3 | MRsin 4 | MRsin 5 | MRsin 6 | MRsin 7 | MRsin 8 | MRsin 9 | MRsin10 | ||
t1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=1/10 |
t2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
t3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
表2
第二步,在被测软件的蜕变关系集MR={MRsin1,MRsin2,...,MRsin10}中选择另一个未经测试验证的蜕变关系MRsin2,作为被测试验证的蜕变关系。
第三步,以上述测试用例t1作为原始测试用例,即otc=t1=1.23,根据被测试验证的蜕变关系MRsin2的输入关系,生成附加测试用例ftc=-t1=-1.23。验证测试用例ftc的被测软件的输出结果是否满足蜕变关系MRsin2的输出关系OR(MRsin2),即y(otc)=y(ftc)是否满足。
第四步,被测软件P的输出结果不满足蜕变关系MRsin2的输出关系OR(MRsin2),则当前蜕变关系MRsin2标记值为1,这时表2的数据更新为表3,如下表所示,其中灰色底纹显示的为当前步骤的测试用例的蜕变关系的标记值发生改变,下同。
MRsin 1 | MRsin 2 | MRsin 3 | MRsin 4 | MRsin 5 | MRsin 6 | MRsin 7 | MRsin 8 | MRsin 9 | MRsin10 | ||
t1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=1/10 |
t2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
t3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
表3
第五步,从蜕变关系集MR={MRsin1,MRsin2,...,MRsin10}中选择下一个未经测试验证的蜕变关系MRsin3,作为被测试验证的蜕变关系,转到步骤3,重复步骤3到步骤4的过程。
第六步,当蜕变关系集MR={MRsin1,MRsin2,...,MRsin10}中的蜕变关系被遍历测试验证完后,根据测试用例t1的非零值标记进行测试用例t1的可疑度Suspiciousness(t1)计算,
其中,可疑度Suspiciousness(t1)的计算公式如下
其中Failed表示测试用例t1不满足的蜕变关系集MR中的各蜕变关系的数量和,Failed=10;Total表示蜕变关系集MR中的蜕变关系的数量和,Total=10。测试用例t1的测试验证结果如下表4所示:
MRsin1 | MRsin2 | MRsin3 | MRsin4 | MRsin5 | MRsin6 | MRsin7 | MRsin8 | MRsin9 | MRsin10 | ||
t1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Failed/Total=10/10 |
t2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
t3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Failed/Total=0/10 |
表4
第七步,在完成对第一个测试用例x1的验证后,下一步则从测试用例集{x1,x2,x3}={1.23,3*1.23,5*1.23}中选择另一个未被测试验证的测试用例t2=x2,转到第二步到第六步,计算测试用例t2的可疑度Suspiciousness(t2)。采用上述方法,验证测试用例t3,并计算测试用例t3的可疑度Suspiciousness(t3)。测试用例t1、t2、t3的测试验证结果如下表5所示:
MRsin1 | MRsin2 | MRsin3 | MRsin4 | MRsin5 | MRsin6 | MRsin7 | MRsin8 | MRsin9 | MRsin10 | ||
t1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Failed/Total=10/10 |
t2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Failed/Total=1/10 |
t3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Failed/Total=1/10 |
表5
从上表5中,容易得到Suspiciousness(t2)=Failed/Total*100%=10%,Suspiciousness(t3)=Failed/Total*100%=10%。
第八步,计算可疑度Suspiciousness(ti)的最大值Max(Suspiciousness(t1),Suspiciousness(t2),Suspiciousness(t3))=Suspiciousness(t1),其对应的测试用例即为失效测试用例。对于本实例,根据其可疑度计算结果,显然测试用例t1即为失效测试用例。
本发明提供的一种蜕变测试中失效测试用例的定位方法,对于一个被测软件,通常针对被测软件构造多个蜕变关系,通过测试验证这些蜕变关系是否满足,可以在缺少测试判定条件下判定软件是否存在失效。而在蜕变关系不满足时,现有的方法只能确定相应的测试用例集中存在失效测试用例,但是并不能定位其中的失效测试用例。这时,采用本发明的定位技术,首先从测试用例集中选择一个测试用例作为原始测试用例,再由前述原始测试用例根据蜕变关系集中的蜕变关系的输入关系,生成附加测试用例,根据被测软件的输出结果来验证蜕变关系的输出关系是否满足,并记录不满足的蜕变关系的测试用例并用非零值对其标记;然后,根据蜕变关系的测试验证结果,计算该测试用例的可疑度。接着,以同样的方法对其它测试用例进行逐个测试验证,并且计算其可疑度值。最后,可疑度最大的测试用例为失效测试用例。本发明提供的蜕变测试中失效测试用例的定位方法简单明了,通过可疑度的定量计算,为失效测试用例定位提供精准、有效的方法。
和现有技术相比,本发明具有如下技术进步性。
1)对蜕变测试中失效测试用例进行有效定位,从失效的测试用例集中遍历选择一个测试用例作为原始测试用例,再由前述原始测试用例根据蜕变关系集中的蜕变关系的输入关系,生成附加测试用例,根据被测软件的输出结果来验证蜕变关系的输出关系是否满足,并记录不满足的蜕变关系的测试用例并用非零值对其标记;然后,根据测试用例的蜕变关系的标记值,计算该测试用例的可疑度。接着,以同样的方法依次遍历失效的测试用例集中的其它测试用例进行测试验证,并且计算其可疑度值。最后,可疑度最大的测试用例为失效测试用例。
2)定位算法简单精准、效率高,能确定失效测试用例集中的存在的至少一个失效测试用例。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,本发明要求保护范围由所附的权利要求书、说明书及其等效物界定。
Claims (3)
1.一种蜕变测试中失效测试用例的定位方法,其特征在,包括以下步骤:
步骤1,当测试用例集{otc,ftc1,ftc2,...,ftcn}不满足被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系MRk的输出关系时,k=1,...,m,从测试用例集{otc,ftc1,ftc2,...,ftcn}中选择一个未经测试验证的测试用例作为被测试验证对象,并将所选择的测试用例标记为ti,i=0,1,…,n;
步骤2,从被测软件的蜕变关系集MR={MR1,MR2,...,MRm}中选择一个未经测试验证的蜕变关系,作为被测试验证蜕变关系MRj,j=1,...,m;
步骤3,以所述测试用例ti作为原始测试用例,通过所述被测试验证蜕变关系MRj的输入关系IR(MRj),由所述作为原始测试用例ti生成附加测试用例,根据被测软件的输出来验证蜕变关系MRj的输出关系OR(MRj)是否满足;
步骤4,若被测软件的输出不满足蜕变关系MRj的输出关系OR(MRj),则对测试用例ti的测试验证蜕变关系MRj进行非零值标记;否则,转到步骤5;
步骤5,若蜕变关系集MR={MR1,MR2,...,MRm}中有蜕变关系没有被遍历测试验证,则转到步骤2;
步骤6,当蜕变关系集MR={MR1,MR2,...,MRm}中的蜕变关系被遍历测试验证完后,根据测试用例ti的非零值标记进行测试用例ti的可疑度Suspiciousness(ti)计算,i=0,1,...,n,可疑度Suspiciousness(ti)的计算公式如下
<mrow>
<mi>S</mi>
<mi>u</mi>
<mi>s</mi>
<mi>p</mi>
<mi>i</mi>
<mi>c</mi>
<mi>i</mi>
<mi>o</mi>
<mi>u</mi>
<mi>s</mi>
<mi>n</mi>
<mi>e</mi>
<mi>s</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mi>F</mi>
<mi>a</mi>
<mi>i</mi>
<mi>l</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
<mrow>
<mi>T</mi>
<mi>o</mi>
<mi>t</mi>
<mi>a</mi>
<mi>l</mi>
</mrow>
</mfrac>
<mo>&times;</mo>
<mn>100</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>T</mi>
<mi>o</mi>
<mi>t</mi>
<mi>a</mi>
<mi>l</mi>
<mo>&NotEqual;</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>s</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中Failed表示测试用例ti不满足的蜕变关系集MR中的各蜕变关系的数量和,Total表示蜕变关系集MR中的蜕变关系的数量和,Total=m;
步骤7,测试用例集{otc,ftc1,ftc2,...,ftcn}中若存在未被测试验证的测试用例,则转到步骤1;
步骤8,计算可疑度Suspiciousness(ti)的最大值Max(Suspiciousness(t0),Suspiciousness(t1),...,Suspiciousness(tn)),其对应的测试用例即为失效测试用例。
2.根据权利要求1所述的一种蜕变测试中失效测试用例的定位方法,其特征在:所述步骤1中的测试用例ti从测试用例集{otc,ftc1,ftc2,...,ftcn}按顺序依次选择,则i=0时,ti=otc;否则,ti=ftci。
3.根据权利要求1所述的一种蜕变测试中失效测试用例的定位方法,其特征在:所述步骤4中的非零值标记为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039889.9A CN104598381B (zh) | 2015-01-26 | 2015-01-26 | 一种蜕变测试中失效测试用例的定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510039889.9A CN104598381B (zh) | 2015-01-26 | 2015-01-26 | 一种蜕变测试中失效测试用例的定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598381A CN104598381A (zh) | 2015-05-06 |
CN104598381B true CN104598381B (zh) | 2018-01-02 |
Family
ID=53124192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510039889.9A Active CN104598381B (zh) | 2015-01-26 | 2015-01-26 | 一种蜕变测试中失效测试用例的定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598381B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915680B (zh) * | 2015-06-04 | 2018-06-19 | 河海大学 | 基于改进型rbf神经网络的多标签蜕变关系预测方法 |
CN108710567B (zh) * | 2018-04-28 | 2021-07-23 | 南华大学 | 一种似然蜕变关系构造方法 |
CN110823226B (zh) * | 2019-10-30 | 2021-04-30 | 北京航空航天大学 | 一种基于蜕变测试技术的无人机智能航路规划测试方法 |
CN113568831B (zh) * | 2021-07-27 | 2023-07-04 | 重庆大学 | 基于蜕变测试的自监督深度学习型缺陷定位方法 |
CN113778865B (zh) * | 2021-08-27 | 2023-07-18 | 南华大学 | 一种蜕变测试的测试用例自适应随机生成方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750223A (zh) * | 2012-06-06 | 2012-10-24 | 东南大学 | 一种基于面向对象程序切片谱的错误定位方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053910B (zh) * | 2010-11-18 | 2013-01-16 | 西北工业大学 | 一种基于aadl模态蜕变关系的嵌入式软件测试方法 |
CN102170378B (zh) * | 2011-04-22 | 2014-10-29 | 北京科技大学 | 一种无需预期的Web服务测试方法 |
CN103150254B (zh) * | 2013-03-26 | 2015-05-13 | 哈尔滨工业大学 | 基于状态依赖概率建模的软件错误定位方法 |
CN103914386B (zh) * | 2014-04-21 | 2017-08-04 | 西北工业大学 | 基于输入参数特征谱的软件缺陷定位方法 |
-
2015
- 2015-01-26 CN CN201510039889.9A patent/CN104598381B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750223A (zh) * | 2012-06-06 | 2012-10-24 | 东南大学 | 一种基于面向对象程序切片谱的错误定位方法 |
Non-Patent Citations (3)
Title |
---|
A model for spectra-based software diagnosis;Lee Naish ET AL;《ACM Transactions on Software Engineering and Methodology》;20110831;全文 * |
Metamorphic slice: An application in spectrum-based fault localization;Xiaoyuan Xie ET AL;《Information and Software Technology》;20120828;全文 * |
软件错误定位研究综述;曹鹤玲等;《计算机科学》;20140228;第41卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104598381A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598381B (zh) | 一种蜕变测试中失效测试用例的定位方法 | |
CN109726093B (zh) | 用于执行测试用例的方法、设备和计算机程序产品 | |
Yang et al. | Bayesian species identification under the multispecies coalescent provides significant improvements to DNA barcoding analyses | |
CN106796585B (zh) | 条件验证规则 | |
Vuillot | Is error detection helpful on IBM 5Q chips? | |
JP2020102240A (ja) | 自動量子ビット校正 | |
US10268572B2 (en) | Interactive software program repair | |
CN107391292B (zh) | 针对保持区块体数据实现勘误的区块链验证方法及系统 | |
US20160217545A1 (en) | Model anti-collusion watermark | |
Mirarab et al. | Response to comment on “Statistical binning enables an accurate coalescent-based estimation of the avian tree” | |
US9672921B2 (en) | Device and method for storing data in a plurality of multi-level cell memory chips | |
Azmin et al. | Benefiting from Sobol sequences experiment design type for model-based calibration | |
CN109583497B (zh) | 一种对抗生成网络智能判断的数据质量规则自动生成方法及系统 | |
JP7097649B2 (ja) | フィラメント電流制御方法及び装置 | |
CN109347680B (zh) | 一种网络拓扑重构方法、装置及终端设备 | |
US9268660B2 (en) | Matrix and compression-based error detection | |
US20140068339A1 (en) | Systems and Methods for State Based Test Case Generation for Software Validation | |
Kumar et al. | A Coupling effect based test case prioritization technique | |
CN113934631A (zh) | 一种基于蜕变关系匹配的组合测试方法 | |
JP2010135370A (ja) | 検査位置決定方法、検査情報管理システム及び検査方法 | |
Zhang et al. | Lower confidence limit for reliability based on grouped data using a quantile-filling algorithm | |
CN107064794B (zh) | 一种基于遗传算法的防爆电机故障检测方法 | |
Feng et al. | Robust syndrome-trellis codes for fault-tolerant steganography | |
Xu et al. | A quasi-best random testing | |
CN103914380A (zh) | 结构测试中的边界值测试方法及其系统 |
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 |