基于函数调用路径准则的测试充分性获取方法技术

技术编号:14000035 阅读:74 留言:0更新日期:2016-11-15 14:12
本发明专利技术提供一种基于函数调用路径准则的测试充分性获取方法,包括:步骤1、采用GQM范式确定测试准则充分性度量指标体系中的指标;步骤2、采用数据包络分析方法作为指标体系中的决策方法,对多个测试准则的测试充分性进行计算和比较。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种基于函数调用路径准则的测试充分性获取方法
技术介绍
软件测试的质量决定了软件系统是否能够按照需求可靠运行,在测试过程中运用不同的测试准则得到的测试效果也各不相同,而软件测试充分性是检验软件测试准则优劣的唯一标准。基于函数调用路径准则,将路径覆盖的分析粒度由语句扩展到函数级别,不仅使测试工作量成指数降低,同时保证了测试效果。在软件测试中,测试人员应该将软件的输入域中所有的组合进行测试,但这是耗时耗力不可能实现的。实际测试过程中,测试人员通过选择软件输入域中的一部分子集进行测试来保障软件的质量,这就是研究测试准则充分性的原因。随后,各个学者在软件测试的不同阶段和层次中提出了各种各样的测试准则;人们常常在众多的测试准则中难以取舍。而测试准则之间的比较为测试准则的选择提供了帮助。目前国内外学者针对测试准则的充分性比较提出了很多评判方法。参考文献2中提出了一种测试准则之间的关系---subsume关系,实际上是通过测试用例集之间的包含关系来表示测试准则之间的subsume关系。参考文献3中用输入域划分和概率论这两种方法证明了测试准则之间的subsume关系并不等价于它们的揭错能力。参考文献4提出一种可以揭示各个测试准则之间揭错能力大小的关系---properly cover。但是这种关系并没有通用的方法,不能对所有的测试准则进行比较。参考文献5提出了测试准则应在揭错能力、软件可靠性、测试开销这三个方面进行比较,并将范畴划分测试中的三个测试准则在这三个方面进行了比较和分析。以上的几种评判标准并没有给出一种定量比较测试准则的方法,也没有考虑软件测试中对功能覆盖的需求。参考文献6建立了软件充分性度量指标体系和模糊决策模型,定量计算了软件测试的充分性。参考文献6中建立的是针对整个测试流程的度量指标体系,其中很多指标不能作为测试准则的充分性的评判因素,如代码走查等。但是其度量指标体系不尽如人意,导致最终评价结果不够精确。
技术实现思路
针对现有技术中的测试准则的充分性的获取方法存在的问题,本专利技术要解决的技术问题是提供一种基于函数调用路径准则的测试充分性获取方法。为了解决上述问题,本专利技术实施例提出了一种基于函数调用路径准则的测试充分性获取方法,包括:步骤1、采用GQM范式确定测试准则充分性度量指标体系中的指标;步骤2、采用数据包络分析方法作为指标体系中的决策方法,对多个测试准则的测试充分性进行计算和比较。其中,所述步骤1具体包括:步骤11、确定计算机软件测试规范的软件测试的目的:验证软件的实现和需求设计是否一致;软件缺陷;为软件质量的测量和评价提供依据;步骤12、确定与所述测试的目的相对应的软件测试时的度量元:测试用例对功能点的覆盖情况,对应的度量元为功能点用例覆盖率;测试用例的执行效率,对应的度量元为测试用例的执行效率的度量元:测试用例集的大小、测试时间、测试用例的揭错率、语句覆盖率、分支覆盖率;采用测试准则测试后软件可靠性,对应的度量元为可靠性。其中,对于可靠性,采用以下公式的J-M模型来进行测试:R(t)=e-φ(M-i+1) (1)其中M代表软件初始时错误的总数,i代表已经发现并解决的错误的个数,代表发现的错误个数和软件失败的概率按规律递减的常数。其中,包括:测试用例集的大小、测试时间为负向指标,指标的值越小则测试准则的测试充分性越高;功能点用例覆盖率、测试用例的揭错率、语句覆盖率、分支覆盖率、可靠性为正向指标,指标的值越大则测试准则的测试充分性越高。其中,所述步骤2具体包括:步骤21、确定构建DEA模型的投入-产出为:以指标体系中的负向指标为模型的投入,且正向指标为模型的产出;步骤22、针对每一待测试的测试准则DMU,确定其测试用例的个数V1和测试时间V2作为输入,并确定其功能点用例覆盖率U1、测试用例的揭错率U2、语句覆盖率U3、分支覆盖率U4、可靠性U5作为输出;步骤23、通过以下公式计算第j个测试准则的DMUj的充分性可表示为:其中,第m项指标的输入为Xmj,第i项指标的输出为Yij;DMUj的输入输出向量分别表示为Xj=(X1j,X2j)T,Yj=(Y1j,Y2j,…,Y5j)T,(j=1,2,…,n);其中V=(V1,V2)T,U=(U1,U2,…,U5)T;步骤24、确定适当的权重Um和Vi,使Ej≤1,j=1,2,…,n;则DMU0的相对充分性模型为:其中对DMU0进行评价,X0代表DMU0的输入,Y0代表DMU0的输出,步骤25、求解公式3的上述模型,获得λj以及θ值;θ代表测试准则的测试充分性;当θ=1时,表明DMU0测试准则相对充分,当θ<1时,表明DMU0测试准则相对无效。本专利技术的上述技术方案的有益效果如下:上述方案中提出了一种测试充分性的评价方法,建立了一种测试准则的度量指标体系并应用DEA模型来定量比较各个准则的测试充分性。本专利技术实施例能够通过可信的实验来说明基于函数调用路径准则相较于其他覆盖准则既具有良好的测试效率又保证了软件的可靠性,是一种充分性比较高的测试准则。然而,测试准则的测试充分性度量仍存在着不足。度量指标体系中并没有考虑到测试准则对回归测试的影响。基于函数调用路径准则在软件测试中的优越性应在不同的类型的程序中进行验证,如嵌入式程序,web程序等。附图说明图1为本专利技术实施例中的一个示例性的源代码;图2为根据图1中的源代码生成的函数调用图;图3为根据图1中的源代码生成的源程序分支图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。首先对本专利技术实施例中所使用概念进行说明以便于理解:函数调用路径:请见参考文献8,在此不再赘述。软件测试准则:请见参考文献9,在此不再赘述。测试用例的揭错率:即利用测试准则生成的测试例进行测试后发 现错误数占总错误数的比例;假设软件初始时共有M个错误,根据特定的测试准则生成测试用例集T,运行T后发现了N个错误,测试用例的揭错率为N/M。功能点用例覆盖率:即利用测试准则生成的测试例进行测试后覆盖的功能点占总功能点的比例;采用假设软件中有A个功能点,测试用例集T运行将覆盖B个功能点,功能点用例覆盖率为B/A。本专利技术实施例的方法包括:步骤1、确定测试准则充分性度量指标体系中的指标;本专利技术实施例中采用GQM范式来寻找指标体系中的指标。参考文献GQM范式将研究的目标分解成可计算的指标,是一种面向目标的度量方法[10]。GQM范式主要有三个层次:目标-问题-度量元。研究软件准则的测试充分性实际上是研究采用特定准则的软件测试的充分性。计算机软件测试规范给出了软件测试的三个目的如下:1)验证软件的实现和需求设计是否一致;2)通过测试,发现软件缺陷;3)为软件质量的测量和评价提供依据。在利用测试准则进行软件测试时,上述的三个目的对应的问题分别为:1)测试用例对功能点的覆盖情况如何(U1)?该问题对应的度量元为功能点用例覆盖率(A)。2)测试用例的执行效率如何(U2)?该问题对应的度量元为测试用例的执行效率在于花费少量时间和测试用例,覆盖更多代码,发现较多错误。U2的度量元:测试用例集的大小(B)、测试时间(C)、测试用例的揭错率(D)、语句覆盖率(E)本文档来自技高网
...

【技术保护点】
一种基于函数调用路径准则的测试充分性获取方法,其特征在于,包括:步骤1、采用GQM范式确定测试准则充分性度量指标体系中的指标;步骤2、采用数据包络分析方法,对多个测试准则进行对比测试。

【技术特征摘要】
1.一种基于函数调用路径准则的测试充分性获取方法,其特征在于,包括:步骤1、采用GQM范式确定测试准则充分性度量指标体系中的指标;步骤2、采用数据包络分析方法,对多个测试准则进行对比测试。2.根据权利要求1所述的基于函数调用路径准则的测试充分性获取方法,其特征在于,所述步骤1具体包括:步骤11、确定计算机软件测试规范的软件测试的目的:验证软件的实现和需求设计是否一致;软件缺陷;为软件质量的测量和评价提供依据;步骤12、确定与所述测试的目的相对应的软件测试时的度量元:测试用例对功能点的覆盖情况,对应的度量元为功能点用例覆盖率;测试用例的执行效率,对应的度量元为测试用例的执行效率的度量元:测试用例集的大小、测试时间、测试用例的揭错率、语句覆盖率、分支覆盖率;采用测试准则测试后软件可靠性,对应的度量元为可靠性。3.根据权利要求2所述的基于函数调用路径准则的测试充分性获取方法,其特征在于,包括:对于可靠性,采用以下公式的J-M模型来进行测试:R(t)=e-φ(M-i+1) (1)其中M代表软件初始时错误的总数,i代表已经发现并解决的错误的个数,代表发现的错误个数和软件失败的概率按规律递减的常数。4.根据权利要求2所述的基于函数调用路径准则的测试充分性获取方法,其特征在于,包括:测试用例集的大小、测试时间为负向指标,指标的值越小则测试准则的测试充分性越高;功能点用例覆盖率、测试用例的揭错率、语句覆盖率、分支覆盖率、可靠性为正向指标,指标的值越大则测试准则的测试充分性越高。5.根据权利要求4所述的基于函数调用路径准则的测试充分性获取方法,其特征在于,所述步骤2具体包括:步骤21、确定构建DEA模型的投入-产出为:以指标体系中的负向指标为模型的投入,且正向指标为模型的产出;步骤22、针对每一待测试的测试准则DMU,确定其测试用例的个数V1和测试时间V2作为输入,并确定其功能点用例覆盖率U1、测试用例的揭错率U2、语句覆盖率U3、分支覆盖率U4、可靠性U5作为输出;步骤23、通过以下公式计算第j个测试准则的DMUj的充分性可表示为: E j = U T Y j V T X j - - - ( 2 ) ]]>其中,第m项指标的输入为Xmj,第i项指标的输出为Yij;DMUj的输入输出向量分别表示为Xj=(X1j,X2j)T,Yj=(Y1j,Y2j,…,Y5j)T,(j=1,2,…,n);其中V=(V1,V2)T,U=(U1,U2,…,U5)T;步骤24、确定适当的权重Um和Vi,使Ej≤1,j=1,2,…,n;则DMU0的相对充分性模型为: s . t . ...

【专利技术属性】
技术研发人员:牟永敏
申请(专利权)人:北京信息科技大学牟永敏
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1