CN102364449B - 一种最小测试用例集的生成方法及系统 - Google Patents

一种最小测试用例集的生成方法及系统 Download PDF

Info

Publication number
CN102364449B
CN102364449B CN201110325901.4A CN201110325901A CN102364449B CN 102364449 B CN102364449 B CN 102364449B CN 201110325901 A CN201110325901 A CN 201110325901A CN 102364449 B CN102364449 B CN 102364449B
Authority
CN
China
Prior art keywords
test case
test
testing requirement
candidate
minimum
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.)
Expired - Fee Related
Application number
CN201110325901.4A
Other languages
English (en)
Other versions
CN102364449A (zh
Inventor
刘宗昌
李素林
李庆秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110325901.4A priority Critical patent/CN102364449B/zh
Publication of CN102364449A publication Critical patent/CN102364449A/zh
Application granted granted Critical
Publication of CN102364449B publication Critical patent/CN102364449B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种最小测试用例集的生成方法及系统,该方法包括:根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例,根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集,根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。由于本发明从测试流程整体出发,考虑了对测试用例的评价指标,选择测试用例,从而使生成的最小测试用例集更加的优化,并且能够满足相应评价指标的要求。

Description

一种最小测试用例集的生成方法及系统
技术领域
本发明涉及软件测试技术领域,尤其涉及一种及最小测试用例集的生成方法及系统。
背景技术
在软件的生命周期内,软件测试的重要性是毋庸置疑的。但如何以较少的成本、有效的测试,完成测试需求,发现软件系统的缺陷,保证软件的质量,则是测试领域探索和追求的目标。同时,软件测试,一般会通过测试用例来覆盖测试需求。测试用例的数量和质量将决定软件测试的成本和有效性。
将被测软件系统视为测试需求集R,相应的一系列的测试用例视为测试用例集T。对于测试需求集R中每个测试需求r(r∈R),在测试用例集T中都存在测试用例t(t∈T)满足这个测试需求,则定义测试需求集R被测试用例集T完全覆盖,R到T的完全覆盖可以用二元关系C(R,T)表示,即:
C(R,T)={(r,t)∈R×T,r∈R,t∈T}
一个软件系统,对于每个测试需求,一般都要产生相应的测试用例,以实现对这个测试需求的充分测试,这样产生的测试用例一般数量比较大,尤其当待测系统比较复杂时,测试用例数量变得更加庞大。执行、维护这些测试用例,将耗费大量的时间,人力和物力资源,因此,很多人致力于研究如何设计出一组有效、数量少又能充分覆盖测试需求的测试用例集,即最小测试用例集,从而在保证和提高软件测试质量的同时,降低软件测试成本。
现有技术中,在生成最小测试用例集时一般包括:根据测试目标中的测试需求筛选出相应的一系列测试用例,所有这些测试用例组成初步的覆盖测试需求的测试用例集;然后基于这个测试用例集采用贪心算法、一些启发式算法或者整数规划等方法进行精简,去掉冗余的测试用例。采用该方法可以生成最小测试用例集,但是由于优化的测试用户仅取决于最初产生的测试用例集,没有考虑测试需求的相互关系,导致生成的最小测试用例集不能从需求与测试用例的整体关系上进行优化。
或者,在生成最小测试用例集时,分析测试需求的相互关系,根据该相互关系对覆盖测试需求的测试用例集进行等价划分,之后采用相应的算法完成测试用例最小集的生成,但是该过程脱离了测试过程,从而使生成的最小测试用例缺少足够的说服力。
发明内容
本发明提供一种最小测试用例集的生成方法及系统,用以解决现有技术中最小测试用例集的生成过程不够优化,或者缺少说服力的问题。
本发明提供一种最小测试用例集的生成方法,所述生成方法包括:
根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;
根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;
根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。
本发明提供一种最小测试用例集的生成系统,所述生成系统包括:
获取模块,用于根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;
确定模块,用于根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;
生成模块,用于根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。
本发明提供一种最小测试用例集的生成方法及系统,该方法包括:根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例,根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集,根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。由于本发明从测试流程整体出发,考虑了对测试用例的评价指标,选择测试用例,从而使生成的最小测试用例集更加的优化,并且能够满足相应评价指标的要求。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为对本发明中最小测试用例集的生成过程进行详细说明;
图2为本发明提供的一种具体的覆盖模型库C(R,T)的结构;
图3为本发明提供的最小测试用例集的生成系统结构示意图。
具体实施方式
为了优化最小测试用例集的生成过程,提高最小测试用例集的错误检测能力,本发明提供了一种最小测试用例集的生成方法及系统。
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中首先对最小测试用例生成过程中的几个概念进行定义。对于测试需求集R被测试用例集T完全覆盖,R到T的完全覆盖C(R,T)在之前已经提到,这里就不再赘述。
对于任何测试用例t或者测试用例集进一步分析覆盖模型C(R,T):使用Req(t)和Req(T′)表示所有被测试用例t和测试用例用例集T′所覆盖的测试需求的集合;类似的,Test(r)和Test(R′)分别表示所有覆盖测试需求r或者测试需求集的测试用例所组成的集合。
且Req(T1)=R,则T1为覆盖C的代表集;定义集合T基数表示为|T|=m,即测试用例集T中有m个测试用例,如果对于任意代表集T2,有|T2|≤|T1|,且Req(T2)=R,则称T2是C的优化代表集。
测试用例集T是满足测试需求集R的最小测试用例集,如果任意 都不能实现对测试需求集R的充分测试,即Req(T)=R,且Req(T′)≠R。T为R的最小测试用例集,表示为:Min(R)=T。
另外,对最小测试用例集生成过程的几个优化指标(Index)进行分析。
优化指标I1:对于测试用例t(t∈T),如果执行该测试用例发现了故障,则说明该测试用例具备故障发现能力,定义为B(t)=1;否则B(t)=0说明该用例目前不具备故障发现能力。
优化指标I2:对于测试用例集如果都有B(t)=1,证实测试用例集T1完全具备故障发现能力,如果|T1|=m,则B(T1)=m。
优化指标I3:定义测试用例优先级P,如果P(t1)>P(t2)(t1∈T,t2∈T),且则说明t1较t2优先生成到需求集R的最小测试用例集。
优化指标I4:对于测试用例t(t∈T),则t参与了R的最小测试用例集生成,记为M(t)=1。当M(t)>1,则说明t多次参与生成R的最小测试用例集。
优化指标I5:对于测试用例t,(Min(R)=T),当t参与了对测试需求R的验证,并且B(t)=1,则定义t参与生成R的最小测试用例集的优选(First),记为F(t)=1。
优化指标I6:对于测试用例t,定义测试用例复杂度O(t),表示该测试用例的复杂程度。一般的,可以定义1-5(5:复杂度最高)表示不同的复杂程度。
优化指标I7:对于测试用例集T,定义平均复杂度O(T),定义总体测试规模其中ti∈T,|T|=n。
优化指标I8:定义测试用例t覆盖需求数量表示为|Req(t)|,对于测试用例t1∈T,t2∈T,如果|Req(t1)|>|Req(t2)|,则t1优先与t2参与优化最小测试用例集。
优化指标I9:对于测试需求集R,分析每个需求r∈R,鉴别新增需求N、变更需求M或者已有需求A,得到需求三大子集RN,RM和RA,则测试需求集R可以描述为R=RNURAURM。
优化指标I10:定义测试用例t的测试历史数据H(t)={h1,h2,...,hn};其中hi∈H从不同上述指标描述了测试用例t不同维度的相关历史数据,维度可以是上述的B(t),O(t),M(t),即H(t)={B(t),M(t),O(t),F(t)};分析这些数据,结合上述优化指标,生成一整套可以量化的多维度的优化指标。
在本发明中定义了故障发现能力优化指标,优先级指标,维度指标,最小测试用例集的优选指标,测试用例的复杂度指标,测试用例集的规模指标,测试需求描述指标,历史数据指标等,通过不同的指标对测试用例进行优化评价。
基于上述各个定义以及优化指标,可知:
对于优化指标Ii,定义优化策略OP(Ii)=(1\0,th),1表示启用该优化指标Ii,0表示禁用该优化指标;th表示优化指标的阈值(threshold)。比如OP(Ii)=(1,>=2),表示启用故障发现能力B,对于测试用例t,当B(t)>=2,则考虑则测试用例加入优化最小测试用例集生成。
对于测试用例t的评估E(t),对评估参数:需求验证(用Req(t)表示,其中Req(t)表示的内容在前面已经描述)、故障发现(用B(t)表示,B(t)表示的内容在优化指标I1中已经描述)、测试复杂度(用O(t)表示)等方面综合评价,评价模型描述为:
E(t)=αReq(t)+βB(t)+δO(t)
其中α,β,δ表示评估参数的权重,且α+β+δ=1。
测试用例集Tom是满足测试需求集R的优化最小测试用例集,如果Min(R)=Tom,并且对于测试用例ti∈Tom,t是在考虑上述优化指标I的基础上加入到测试用例集Tom中的。Tom为R的优化最小测试用例集,表示为:
其中I表示上述优化指标I1~~I10,T为测试用例全集。对于优化策略,可以取其中一个或者几个参与优化最小测试用例集的生成中。
本发明在生成最小测试用例集时包括:根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。
具体的,在确定了上述优化指标并确定了每个参数的表示的内容后,结合图1对本发明中最小测试用例集的生成过程进行详细说明,该过程包括以下步骤:
S101:根据构成被测软件系统的目标测试需求集R={r1,r2,...,rn},获取每个测试需求ri对应的覆盖该测试需求的测试用例集Ti,即Test(ri)=Ti
S102:根据获得的每个测试需求对应的测试用例集Ti,确定该被测软件系统的测试用例集T,其中T表示为:T=T1 UT2 U...UTn,并且该被测软件系统可以被测试用例集完全覆盖,即满足C(R,T)。
具体的,在本发明中确定被测软件系统的测试用例集时,如果所有覆盖测试需求ri的测试用例集所组成的集合为空集,即则测试需求ri未被覆盖,对该测试需求缺少验证,确定的该测试用例集不完备。
相应的,对于每个测试用例ti,其覆盖的测试需求构成测试需求子集Ri,即Req(ti)=Ri,因此被测软件系统的测试需求集R=R1 U R2 U...U Rn。如果所有被测试用例ti覆盖的测试需求的集合为空集,即则该测试用例ti未覆盖测试需求,该测试用例可以废弃。
在本发明中考虑了测试需求及测试用例设计的完备性,假设该测试用例和测试需求中,
S103:在确定的该测试用例集中,针对设置的优化策略,以及优化策略对应的阈值,初始化优化最小测试用例集的候选集W_Tom={},及测试需求ri构成的一个候选测试用例集W_Test(ri)={},并且为候选测试用例集中的测试用例ti,初始化其覆盖的测试需求集W_Req(ti)={}。
具体的,在确定最小测试用例集时,如果确定的该优化最小测试用例集中则可以确定或者,则同样有但是如果或者则该测试用例集非优化最小测试用例集。
S104:根据测试需求集R={r1,r2,...,rn},针对每个测试需求ri∈R,获取覆盖该测试需求的测试用例Test(ri),并针对每个测试用例tk∈Test(ri),及设置的优化策略、优化指标,对每个测试用例进行优化。并判断该是否满足相应的优化策略,当该测试用例满足相应的优化策略时,则将该测试用例tk加入到W_Test(ri)中。
S105:判断每个测试用例优化后得到的候选测试用例集是否非空,当该候选测试用例集为空时,则对于tk∈Test(ri),获取其覆盖的测试需求Req(tk),确定|Req(tk)|,将确定的|Req(tk)|加入到W_Test(ri)。
从而保证测试需求ri被测试用例覆盖,并且该测试用例也保证其他更多次而是需求得到覆盖。
当该候选测试用例集非空时,则针对tk∈W_Test(ri),分析其他测试需求rx∈R的测试用例候选集W_Test(rx),如果tk∈W_Test(rx),则说明该测试用例tk已经参与其他测试需求的测试用例候选集,则考虑是否保留tk∈W_Test(ri),如果W_Test(ri)除了tk还有其他测试用例,则标记tk
重复上述步骤S104和S105,知道对于每个ri∈R,都形成了则说明每个测试需求ri∈R都有测试用例覆盖。
S106:根据生成的测试用例候选集W_Test(ri),确定生成的优化最小测试用例候选集W_Tom=W_Test(r1)UW_Test(r2)U...UW_Test(rn)。并根据标记的测试用例tk,根据其优化指标,确定是否将其加入到候选优化最小测试用例集W_Tom中,从而得到优化最小测试用例集OMin(R)。
在本发明中为了使得到的优化最小测试用例集更加的优化,可以对该优化最小测试用例集进行评价,具体的评价过程包括:根据该优化最小测试用例集OMin(R),记录执行结果H(t),并从执行结果按照优化指标I1、I2、...、I10,采集数据,构造闭环执行控制,同时参考评价模型E(t)=αReq(t)+βB(t)+δO(t),对该优化最小测试用例集进行评价。
为了使本发明的实现方式更加的清楚,下面结合具体的实施例,对本发明进行详细说明。
图2为本发明提供的一种具体的覆盖模型库C(R,T)的结构。在图2的覆盖模型库C(R,T)中,测试需求集为R={R[1],R[2],R[3],R[4],R[5]},测试用例集为T={T[1],T[2,]T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14]},因此可知|R|=5,|T|=14。
在覆盖模型库C(R,T)中,C(1,1)=1,表示测试用例T[1]覆盖测试需求R[1],C(1,2)=0表示测试用例T[2]未覆盖测试需求R[1],......,进一步计算,得到Req(t),Test(r),其中r∈R,t∈T。
在上述测试需求集R中,对测试需求进行分类RM={R[1]},RN={R[2],R[3],R[4]},RE={R5}。比如要重点关注变更测试需求RM,则测试用例Test(RM)={T[1],T[4],T[5],T[8],T[12],T[14]}。可以再基于优化指标获取Test(RM)的最小集。
从测试用例集t∈T,参考历史数据,分析获取如下指标,H(t)={B(t),M(t),O(t),F(t),P(t),|Req(t)|},对测试用例集T,分析S(T),O(T)。
当确定了上述指标后,生成优化最小测试用例集时包括:
策略控制中如果考虑|Req(t)|,则针对上述C(R,T),优先考虑T[2]和T[12],这是因为|Req(T[2])|=3,|Req(T[12])|=3,并且覆盖全部测试需求R[1]~R[5],如果仅从这个角度就认为最小测试用例集Min(R)={T[2],T[12]},则风险是很大的。这是因为如果变更测试需求R[1],是不是重点关注了测试用例,T中已经发现故障(B(t)=1)的是不是考虑了,是不是考虑了测试用例O(T[2]),O(T[12]),假设T[2],T[12]的测试复杂度在当前紧张的测试周期内难以实现,则T[2],T[12]是不能同时纳入候选最小测试用例集之列的。
在策略控制中如果考虑故障发现能力的指标,B(T[6])=1,B(T[10])=2,则T[6],T[10]优先考虑加入到候选最小测试用例集W_Tom中,W_Tom={T[6],T[10]}。再分析其覆盖的测试需求为Req(W_Tom)={R[2],R[3]}。
如果考虑变更测试需求,是不是测试需求的变更引入了扰动,扰动了其他已经稳定的功能,对于变更测试需求R[1],Test(R[1])={T[1],T[4],T[5],T[8],T[12],T[14]},综合考虑P(t)和M(t),如果采用高优先级优先选取策略,这里假设P(T[14])最大,则P(T[14])纳入候选集最小测试用例集,此时W_Tom={T[6],T[10],T[14]},,Req(W_Tom)={R[1],R[2],R[3]};再假设选取低频度构造最小测试用例集的用例,比如M(T[1])=0,由于所以考虑T[1]加入W_Tom需要进一步分析才能决定。
在上面W_Tom={T[6],T[10],T[14]},Req(W_Tom)={R[1],R[2],R[3]},则加入T[12]进入W_Tom后,Req(W_Tom)={R[1],R[2],R[3],R[4],R[5]}。上面分析过程,继续使用评价模型考虑,最终得到OMin(R)={T[6],T[10],T[12],T[14]}。
在上述过程中由于使用的优化策略以及优化策略的顺序都是不同的,因此得到的优化最小测试用例集也是不同的。
图3为本发明提供的最小测试用例集的生成系统结构示意图,该系统包括:
获取模块31,用于根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;
确定模块32,用于根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;
生成模块33,用于根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。
所述系统还包括:
评价模块34,用于根据设置的优化指标及评价模型,对得到的最小测试用例集进行评价。
所述确定模块32,具体用于根据优化指标包括以下指标中的至少一种:
故障发现能力优化指标,当该测试用例发现了故障时,确定该测试用例的故障发现能力优化指标为1,否则为0;
第一优先级指标,当第一测试用例的优先级高于第二测试用例的优先级时,并且第一测试用例和第二测试用例都是测试需求集的优化代表集时,认为第一测试用例较第二测试用例优先生成测试需求集的最小测试用例集;
维度指标,测试用例参与测试需求的最小测试用例集的生成次数;
最小测试用例集的优选指标,当测试用例参与了测试需求的验证,并且该测试用例的故障发现能力优化指标为1时,则确定该测试用例参与生成测试需求的最小测试用例集的优选指标为1,否则为0;
测试用例的复杂度指标,标识该测试用例的复杂程度;
测试用例集的规模指标,根据该测试用例集中每个测试用例的复杂度指标的和确定;
第二优先级指标,当第一测试用例覆盖的测试需求的数量,大于第二测试用例覆盖的测试需求的数量时,则确定第一测试用例的优先级高于第二测试用例的优先级;
测试需求描述指标,当存在新增测试需求、变更测试需求及已有测试需求时,则测试需求未新增测试需求、变更测试需求集已有测试需求的并集;
历史数据指标,测试用例的多个上述指标构成的集合;
采用对应的优化策略,确定针对每个测试需求的候选测试用例集。
所述确定模块32,具体用于当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集为空集时,针对覆盖该测试需求的测试用例,获取该测试用户覆盖的测试需求,则将其覆盖的测试需求的数量保存到该测试需求的候选测试用例集中。
所述生成模块33,还用于当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集非空集时,当测试用例归属于第一测试需求的候选测试用例集,并且同时归属于第二测试需求的候选测试用例集,且该第一测试需求的候选测试用例集中还包括其他测试用例时,对该测试用例进行标记;对该标记的测试用例采用至少一种优化指标进行评价,根据评价的结果确定是否将该测试用例添加到最小测试用例集中。
本发明提供一种最小测试用例集的生成方法及系统,该方法包括:根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例,根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集,根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集。由于本发明从测试流程整体出发,考虑了对测试用例的评价指标,选择测试用例,从而使生成的最小测试用例集更加的优化,并且能够满足相应评价指标的要求。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (6)

1.一种最小测试用例集的生成方法,其特征在于,所述生成方法包括:
根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;
根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;
根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集;
所述根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集包括:
当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集为空集时,针对覆盖该测试需求的测试用例,获取该测试用户覆盖的测试需求,则将其覆盖的测试需求的数量保存到该测试需求的候选测试用例集中;
当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集非空集时,所述方法还包括:
当测试用例归属于第一测试需求的候选测试用例集,并且同时归属于第二测试需求的候选测试用例集,且该第一测试需求的候选测试用例集中还包括其他测试用例时,对该测试用例进行标记;
对该标记的测试用例采用至少一种优化指标进行评价,根据评价的结果确定是否将该测试用例添加到最小测试用例集中。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据设置的优化指标及评价模型,对得到的最小测试用例集进行评价。
3.如权利要求1所述的方法,其特征在于,所述优化指标包括以下指标中的至少一种:
故障发现能力优化指标,当该测试用例发现了故障时,确定该测试用例的故障发现能力优化指标为1,否则为0;
第一优先级指标,当第一测试用例的优先级高于第二测试用例的优先级时,并且第一测试用例和第二测试用例都是测试需求集的优化代表集时,认为第一测试用例较第二测试用例优先生成测试需求集的最小测试用例集;
维度指标,测试用例参与测试需求的最小测试用例集的生成次数;
最小测试用例集的优选指标,当测试用例参与了测试需求的验证,并且该测试用例的故障发现能力优化指标为1时,则确定该测试用例参与生成测试需求的最小测试用例集的优选指标为1,否则为0;
测试用例的复杂度指标,标识该测试用例的复杂程度;
测试用例集的规模指标,根据该测试用例集中每个测试用例的复杂度指标的和确定;
第二优先级指标,当第一测试用例覆盖的测试需求的数量,大于第二测试用例覆盖的测试需求的数量时,则确定第一测试用例的优先级高于第二测试用例的优先级;
测试需求描述指标,当存在新增测试需求、变更测试需求及已有测试需求时,则测试需求未新增测试需求、变更测试需求集已有测试需求的并集;
历史数据指标,测试用例的多个上述指标构成的集合。
4.一种最小测试用例集的生成系统,其特征在于,所述生成系统包括:
获取模块,用于根据被测试软件对应的测试需求集中的每个测试需求,获取覆盖该测试需求的测试用例;
确定模块,用于根据设置的至少一种优化指标,采用对应的优化策略,确定针对每个测试需求的候选测试用例集;
生成模块,用于根据针对每个测试需求对应的候选测试用例集,取每个测试需求的候选测试用例集的并集,得到最小测试用例集;
所述确定模块,具体用于当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集为空集时,针对覆盖该测试需求的测试用例,获取该测试用户覆盖的测试需求,则将其覆盖的测试需求的数量保存到该测试需求的候选测试用例集中;
所述生成模块,还用于当采用至少一种优化指标,采用对应的优化策略,确定的该测试需求的候选测试用例集非空集时,当测试用例归属于第一测试需求的候选测试用例集,并且同时归属于第二测试需求的候选测试用例集,且该第一测试需求的候选测试用例集中还包括其他测试用例时,对该测试用例进行标记;对该标记的测试用例采用至少一种优化指标进行评价,根据评价的结果确定是否将该测试用例添加到最小测试用例集中。
5.如权利要求4所述的系统,其特征在于,所述系统还包括:
评价模块,用于根据设置的优化指标及评价模型,对得到的最小测试用例集进行评价。
6.如权利要求4所述的系统,其特征在于,所述确定模块,具体用于根据优化指标包括以下指标中的至少一种:
故障发现能力优化指标,当该测试用例发现了故障时,确定该测试用例的故障发现能力优化指标为1,否则为0;
第一优先级指标,当第一测试用例的优先级高于第二测试用例的优先级时,并且第一测试用例和第二测试用例都是测试需求集的优化代表集时,认为第一测试用例较第二测试用例优先生成测试需求集的最小测试用例集;
维度指标,测试用例参与测试需求的最小测试用例集的生成次数;
最小测试用例集的优选指标,当测试用例参与了测试需求的验证,并且该测试用例的故障发现能力优化指标为1时,则确定该测试用例参与生成测试需求的最小测试用例集的优选指标为1,否则为0;
测试用例的复杂度指标,标识该测试用例的复杂程度;
测试用例集的规模指标,根据该测试用例集中每个测试用例的复杂度指标的和确定;
第二优先级指标,当第一测试用例覆盖的测试需求的数量,大于第二测试用例覆盖的测试需求的数量时,则确定第一测试用例的优先级高于第二测试用例的优先级;
测试需求描述指标,当存在新增测试需求、变更测试需求及已有测试需求时,则测试需求未新增测试需求、变更测试需求集已有测试需求的并集;
历史数据指标,测试用例的多个上述指标构成的集合;
采用对应的优化策略,确定针对每个测试需求的候选测试用例集。
CN201110325901.4A 2011-10-24 2011-10-24 一种最小测试用例集的生成方法及系统 Expired - Fee Related CN102364449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110325901.4A CN102364449B (zh) 2011-10-24 2011-10-24 一种最小测试用例集的生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110325901.4A CN102364449B (zh) 2011-10-24 2011-10-24 一种最小测试用例集的生成方法及系统

Publications (2)

Publication Number Publication Date
CN102364449A CN102364449A (zh) 2012-02-29
CN102364449B true CN102364449B (zh) 2017-04-12

Family

ID=45691015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110325901.4A Expired - Fee Related CN102364449B (zh) 2011-10-24 2011-10-24 一种最小测试用例集的生成方法及系统

Country Status (1)

Country Link
CN (1) CN102364449B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617119B (zh) * 2013-12-03 2016-05-11 南通大学 基于语句交互覆盖的回归测试用例选择方法
CN104239204A (zh) * 2014-08-20 2014-12-24 浪潮(北京)电子信息产业有限公司 一种最小测试用例集的生成方法
CN104281523B (zh) * 2014-10-27 2017-06-16 中国建设银行股份有限公司 一种需求可测性分析方法及系统
US9779013B2 (en) * 2016-01-12 2017-10-03 Wipro Limited Method and system for optimizing a test suite comprising plurality of test cases
CN107463505B (zh) * 2017-09-29 2021-06-29 郑州云海信息技术有限公司 一种基于测试需求生成最小用例集的方法及装置
CN110321291A (zh) * 2019-07-12 2019-10-11 中国工商银行股份有限公司 测试案例智能提取系统及方法
CN111324541A (zh) * 2020-03-05 2020-06-23 中国工程物理研究院计算机应用研究所 一种基于错误检测能力的测试用例集约简方法
CN111563041B (zh) * 2020-05-08 2022-02-08 吴迪 一种测试用例按需精准执行方法
CN112685312A (zh) * 2020-12-31 2021-04-20 广州品唯软件有限公司 一种未覆盖代码的测试用例推荐方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464831A (zh) * 2009-01-09 2009-06-24 西安邮电学院 一种测试用例集缩减技术
CN101876939A (zh) * 2009-11-20 2010-11-03 北京信息科技大学 系统测试方法及装置
CN102063376A (zh) * 2011-02-16 2011-05-18 哈尔滨工程大学 一种测试用例选取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464831A (zh) * 2009-01-09 2009-06-24 西安邮电学院 一种测试用例集缩减技术
CN101876939A (zh) * 2009-11-20 2010-11-03 北京信息科技大学 系统测试方法及装置
CN102063376A (zh) * 2011-02-16 2011-05-18 哈尔滨工程大学 一种测试用例选取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种最小测试用例集生成方法;聂长海,徐宝文;《计算机学报》;20031231;第26卷(第12期);第1690-1695页 *

Also Published As

Publication number Publication date
CN102364449A (zh) 2012-02-29

Similar Documents

Publication Publication Date Title
CN102364449B (zh) 一种最小测试用例集的生成方法及系统
Bekun Mitigating emissions in India: accounting for the role of real income, renewable energy consumption and investment in energy
Huang et al. Blockchain implementation for circular supply chain management: Evaluating critical success factors
Meneely et al. Predicting failures with developer networks and social network analysis
Baldenius et al. Board composition and CEO power
Safi et al. Vitamine ENA: a framework for the development of ecosystem-based indicators for decision makers
Vilas et al. An integrated process and management tools for ranking multiple emerging threats to animal health
Chu et al. The influence of shadow economy, environmental policies and geopolitical risk on renewable energy: A comparison of high-and middle-income countries
Han et al. Energy efficiency analysis based on DEA integrated ISM: A case study for Chinese ethylene industries
CN104240008A (zh) 基于云平台的患者满意度调查分析及医院品质改进系统
Nan et al. Joint effect of team structure and software architecture in open source software development
Aldea et al. Assessing resilience in enterprise architecture: a systematic review
Cardillo Phylogenetic diversity in conservation: a brief history, critical overview, and challenges to progress
Biffl et al. A Project Monitoring Cockpit Based On Integrating Data Sources in Open Source Software Development.
Prusty et al. Using generic structures in system dynamics model building: Reflection from modeling for Indian shrimp industry
Wei Empirical study on the benefit distribution model of port supply chain under cloud environment
Kurakova et al. The system of measurable indicators for scientific and technological development of the Russian Federation: methodology and design
D’Adamo et al. Assessing the transition towards bioeconomy through a socio-economic indicator
Bai et al. GA-BP neural network modeling for project portfolio risk prediction
Qu Research on Optimization of Human-Skilled Matching of SMEs Based on Ant Colony Optimization Algorithm
Patrizio et al. Socially Equitable Energy Transitions: Analytical Challenges and Policy Implications
Herrero et al. Green economy measurements an d indicators
Gordon et al. EMDS Decision Support Model Approach TO THE Evaluation OF Watershed Condition
D’Adamo et al. Sustainable Development Goals: A Regional Overview Based on Multi-Criteria Decision Analysis. Sustainability 2022, 14, 9779
CN117974357A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170412

Termination date: 20191024