首页 / 专利库 / 软件 / 白盒测试 / 一种基于测试数据的软件质量评价方法

一种基于测试数据的软件质量评价方法

阅读:303发布:2020-07-11

专利汇可以提供一种基于测试数据的软件质量评价方法专利检索,专利查询,专利分析的服务。并且一种基于测试数据来对 软件 质量 进行评价的方法,首先确定功能性测试 用例 集评价公式和非功能性测试用例集评价公式,根据测试用例集评价公式确定软件质量子特性评价公式,根据软件质量子特性评价公式确定软件质量特性评价公式,根据软件质量特性评价公式确定软件质量评价公式。本 发明 确定了软件质量评价 置信度 ,并根据软件质量评价结果和软件质量评价置信度确定软件质量综合评价公式。本发明对软件质量评价客观,准确性高。,下面是一种基于测试数据的软件质量评价方法专利的具体信息内容。

1、一种基于测试数据的软件质量评价方法,其特征在于步骤如下:
步骤1:确定测试用例集评价
将测试用例集分为功能性测试用例集和非功能性测试用例集两类,每个测试用例集 属于功能性测试用例集或者非功能性测试用例集;若该测试用例集所属质量子特性所属 质量特性为功能性,则该测试用例集为功能性测试用例集,反之为非功能性测试用例集;
所述的功能性测试用例集评价为: S T = N 1 * D - Σ j = 1 L p j * x j N 1 * D , 其中,N1表示实际测试 用例数,当存在一个测试用例导致多个软件问题的情况时,将该测试用例看成与软件问 题个数对应数量的多个测试用例,在计算用例总数时其按对应问题个数来计算;L表示 软件问题的总数,pj表示第j个软件问题的严重性程度,xj表示第j个软件问题对应测 试用例的重要性程度,D表示测试用例集差异度,0≤D≤1;
所述的非功能性测试用例集评价为: S T = N 2 * D - M N 2 * D , 其中,N2代表测试用例集中 设计的测试用例的总数,M代表未通过的测试用例的数量,D代表测试用例集中测试用 例的差异度,0≤D≤1;
步骤2:确定软件质量子特性评价
软件质量子特性评价为: M s = Σ i = 1 n Q i * S T i , 其中,假设在质量子特性下边有n个测 试用例集,Qi为每个测试用例集对应的权重,其中 Σ i = 1 n Q i = 1 , 为每个测试用例集评价, 如果该质量子特性所属质量特性为功能性,则按照步骤1中功能性测试用例集评价公 式计算,如果该质量子特性所属质量特性为非功能性,则按照步骤1中非功能性测试 用例集评价公式计算;
步骤3:确定软件质量特性评价
软件质量特性评价为: M c = Σ i = 1 n R i * M si , 其中,假设在质量特性下边有n个质量子 特性,第i个质量子特性的评价分数为Msi,按照步骤2软件质量子特性评价公式进行计 算,第i个质量子特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤4:软件质量评价
软件质量评价为: E quality = Σ i = 1 n R i * M ci , 其中,假设在软件质量下面有n个质量特性, 第i个质量特性的评价分数为Mci,按照步骤3软件质量子特性评价公式进行计算,第i个 质量特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤5:确定软件质量评价分数置信度
S=Stcset=Swhite*Sblack
其中,S为软件质量评价分数置信度,Stcset为软件测试用例的充分性,Swhite为软件 白盒测试充分性,Sblack为软件黑盒测试充分性;
白盒测试充分性Swhite=CoverageX。假定软件对白盒测试类型的要求为X覆盖,则X 覆盖的覆盖率为
黑盒测试充分性确定过程如下:
(1)首先,给出叶子节点,即测试用例集的充分性;
(2)某非叶子节点x有n个儿子节点,每个儿子节点的权重为pi,相应的充分性等 级为si,则该非叶子节点充分性评价为 S x = Σ i = 1 n p i s i ;
(3)依此类推,可得软件黑盒测试的充分性Sblack;
步骤6:确定软件质量综合评价
将软件质量评价的置信度因素加入到软件质量评价体系中,结合软件质量评价分数 给出软件质量综合评价公式:Etotal=Equality*S
其中,Etotal代表软件质量综合评价分数,Equality为软件质量评价分数,S为软件质量 评价分数的置信度。

说明书全文

技术领域

发明涉及软件工程中一种基于测试数据的软件质量评价方法

技术背景

随着信息技术的发展,计算机软件已经渗透到国民经济的各个领域中,并与人们的 生产生活息息相关。因此,软件质量的好坏日益受到人们的关注。“软件产品的质量是 软件企业的生命”,这一观点已成为业界的共识。对软件实施软件质量评价,是继软件 质量管理和软件测试之后的又一个推动软件质量提高的重要手段。软件质量评价能够量 化地评价软件的质量平,精确地控制、管理和改进软件的质量,为软件定型、验收、 鉴定和产业化提供客观、公正的科学依据。

ISO正式推出的软件质量模型是ISO/IEC9126系列标准,该标准提供了“特性-子特 性-度量元”的三层结构的软件质量度量模型,如图1。该模型是一个树形结构,高层定 义了6个质量特性,中间层定义了对应的质量子特性,第三层为度量元。质量特性与质 量子特性的对应关系如表格1所示。

表格1 ISO/IEC 9126模型中质量特性与质量子特性的对应关系

  质量特性   质量子特性   功能性   适合性、准确性、互操作性、保密安全性、功   能性的依从性   可靠性   成熟性、容错性、易恢复性、可靠性的依从性   易使用性   易理解性、易学性、易操作性、吸引性、易用   性的依从性   效率   时间特性、资源利用性、效率依从性   可维护性   易分析性、易改变性、稳定性、易测试性、维   护性的依从性   可移植性   适应性、易安装性、共存性、易替换性、可移   植性的依从性

ISO/IEC9126标准并没有量化度量元,而是指出可以根据企业的不同情况自行定义。

北京航空航天大学的贾兴华,晏海华,在“计算机技术与应用进展”(2007年 Page545-551)“基于测试的软件外部质量评价方法研究”中,提出了一种基于测试 数据的软件质量评价方法。

该方法基于国际标准ISO/IEC 9126标准给出可定制的软件质量模型,基于测试数 据给出量化的度量元。它将模型中的度量元定义为测试用例集,通过对测试用例集及其 执行结果的评价给出软件质量子特性、软件质量特性和软件质量的评价。

该方法给出可定制的软件质量模型。具体内容为根据不同用户及不同类型软件的质 量需求对质量模型中的质量特性和相关子特性进行修改、定义、添加或者裁剪,即依据 项目本身的特征来定义该项目的质量特性、质量子特性,从而使模型能够满足用户特定 的质量需求,更易度量操作。该方法通过测试数据(测试用例集及执行结果)将软件测 试与质量模型进行关联,形成层次结构。所建立的相应的质量评价体系如图2所示。

测试用例集定义见附件1。

该方法为每个质量子特性建立了三个默认的测试用例集(正常测试用例集TSD、非 法测试用例集TSF、边界测试用例集TST),通过它们与相应质量子特性关联。并且规 定他们对质量子特性评估的贡献率(也称为权重)分别Q1、Q2、Q3,在此有Q1+Q2+Q3=1。 评价人员也可以根据需要对测试用例集的分类进行相应的扩展,但要满足∑Qi=1, 0≤Qi≤1。

该方法将测试用例集分为功能性测试用例集和非功能性测试用例集两类,每个测试 用例集属于功能性测试用例集或者非功能性测试用例集。若该测试用例集所属质量子特 性所属质量特性为功能性,则该测试用例集为功能性测试用例集,反之为非功能性测试 用例集。

以下给出功能性测试用例集、非功能性测试用例集、质量子特性、质量特性和软件 总体质量的评价公式。

功能性测试用例集评价公式为: S T = N 1 * D - Σ j = 1 M p j * x j N 1 * D , 其中,N1代表测试用例集 中设计的测试用例的总数,M代表未通过的测试用例的数量,D代表测试用例集中测试 用例的差异度,xj代表第j个未通过的测试用例的重要程度,pj代表第j个未通过的测 试用例的发现的问题报告的严重程度。对测试用例重要性分为高中低[1,0.5,0.25], 问题报告的严重性也分为高中低[1.0,0.5,0.25],测试用例的重要性和问题报告的严重 性分类值可以根据经验进行调整。

非功能性测试用例集评价公式为: S T = N 2 * D - M N 2 * D , 其中,N2代表测试用例集中设 计的测试用例的总数,M代表未通过的测试用例的数量,D代表测试用例集中测试用例 的差异度。

质量子特性的评价公式定义为: M s = Σ i = 1 n Q i * S T i , 其中,假设在质量子特性下边有n 个测试用例集,每个测试用例集对应的权重为Qi,其中 Σ i = 1 n Q i = 1 , 为每个测试用例集 的评价,如果该质量子特性所属质量特性为功能性,则按照功能性测试用例集评价公 式计算,如果该质量子特性所属质量特性为非功能性,则按照非功能性测试用例集评 价公式计算。质量子特性的质量评价结果为每个测试用例集评价分数与测试用例集所在 质量子特性的权重乘积之和。

质量特性的评价公式定义为: M c = Σ i = 1 n R i * M si ,其中,假设在质量特性下边有n个 质量子特性,第i个质量子特性的分数为Msi,其对应的权重为Ri,其中 Σ i = 1 n R i = 1 。因此 质量特性的质量评价结果为其所属的质量子特性的分数与质量子特性所在质量特性的 权重乘积之和。

软件质量评价公式定义为: E quality = Σ i = 1 n R i * M ci ,其中,假设在质量特性下边有n个 质量特性,第i个质量特性的分数为Mci,其对应的权重为Ri,其中 Σ i = 1 n R i = 1 。因此软件 质量评价结果为所属质量特性的分数与质量特性权重乘积之和。

上述软件质量评价方法的不足之处主要有以下三个方面。

(1)功能性测试用例集评价公式中未考虑一个测试用例对应多个软件问题的情况。

(2)评价因素差异度的度量是由人工评审给出,容易受评审专家的主观影响。

(3)该模型中没有给出对软件质量评价结果置信度的度量。

这些不足使得利用现有质量评价方法对软件进行评价的评价结果不够客观,准确性 较差。

发明内容

本发明技术解决问题:克服现有技术的不足,提供一种基于测试数据的软件质量评 价方法,该方法实现了软件质量评价结果客观,准确性高。
本发明的技术解决方案:一种基于测试数据的软件质量评价方法,对现有技术进行 了改进,表现在本发明在评价功能性测试用例集时考虑一个测试用例对应多个软件问题 的情况,对功能性测试用例集评价公式进行改进;本发明定义测试用例集评价公式中评 价因素差异度的度量方法;本发明定义软件质量评价置信度;本发明给出结合软件质量 评价和软件质量评价置信度来综合评价软件质量的方法。
本发明具体步骤如下:
步骤1:确定测试用例集评价
将测试用例集分为功能性测试用例集和非功能性测试用例集两类,每个测试用例集 属于功能性测试用例集或者非功能性测试用例集;若该测试用例集所属质量子特性所属 质量特性为功能性,则该测试用例集为功能性测试用例集,反之为非功能性测试用例集;
所述的功能性测试用例集评价为: S T = N 1 * D - Σ j = 1 L p j * x j N 1 * D ,其中,N1表示实际测试 用例数,当存在一个测试用例导致多个软件问题的情况时,将该测试用例看成与软件问 题个数对应数量的多个测试用例,在计算用例总数时其按对应问题个数来计算;L表示 软件问题的总数,pj表示第j个软件问题的严重性程度,xj表示第j个软件问题对应测 试用例的重要性程度,D表示测试用例集差异度,0≤D≤1;
所述的非功能性测试用例集评价为: S T = N 2 * D - M N 2 * D , 其中,N2代表测试用例集中 设计的测试用例的总数,M代表未通过的测试用例的数量,D代表测试用例集中测试用 例的差异度;
步骤2:确定软件质量子特性评价
软件质量子特性评价为: M s = Σ i = 1 n Q i * S T i ,其中,假设在质量子特性下边有n个测 试用例集,Qi为每个测试用例集对应的权重,其中 Σ i = 1 n Q i = 1 , 为每个测试用例集评价, 如果该质量子特性所属质量特性为功能性,则按照步骤1中功能性测试用例集评价公 式计算,如果该质量子特性所属质量特性为非功能性,则按照步骤1中非功能性测试 用例集评价公式计算;
步骤3:确定软件质量特性评价
软件质量特性评价为: M c = Σ i = 1 n R i * M si ,其中,假设在质量特性下边有n个质量子 特性,第i个质量子特性的评价分数为Msi,按照步骤2软件质量子特性评价公式进行计 算,第i个质量子特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤4:软件质量评价
软件质量评价为: E quality = Σ i = 1 n R i * M ci ,其中,假设在软件质量下面有n个质量特性, 第i个质量特性的评价分数为Mci,按照步骤3软件质量子特性评价公式进行计算,第i个 质量特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤5:确定软件质量评价分数置信度
S=Stcset=Swhite*Sblack
其中,S为软件质量评价分数置信度,Stcset为软件测试用例的充分性,Swhite为软件 白盒测试充分性,Sblack为软件黑盒测试充分性;
白盒测试充分性Swhite=CoverageX。假定软件对白盒测试类型的要求为X覆盖,则X 覆盖的覆盖率为
黑盒测试充分性确定过程如下:
(1)首先,给出叶子节点,即测试用例集的充分性;
(2)某非叶子节点x有n个儿子节点,每个儿子节点的权重为pi,相应 的充分性等级为si,则该非叶子节点充分性评价为 S x = Σ i = 1 n p i s i ;
(3)依此类推,可得软件黑盒测试的充分性Sblack;
步骤6:确定软件质量综合评价
将软件质量评价的置信度因素加入到软件质量评价体系中,结合软件质量评价分数 给出软件质量综合评价公式:Etotal=Equality*S
其中,Etotal代表软件质量综合评价分数,Equality为软件质量评价分数,S为软件质量 评价分数的置信度。
本发明根据测试用例集评价结果推算出软件质量子特性评价结果,根据软件质量子 特性评价结果推算出质量特性评价结果,通过质量特性评价结果推算出质量评价结果, 通过质量评价结果和质量评价结果的置信度推算出软件质量综合评价结果。
本发明与现有技术相比的优点在于:
(1)本发明改进了测试用例集评价,并给出测试用例集评价因素差异度的度量函 数,解决了现有技术对测试用例集评价不够全面以及不够客观的问题。
(2)本发明给出软件质量评价结果的置信度,综合考虑黑盒测试充分性和白盒测 试充分性情况来定义软件测试用例充分性,并将该充分性作为软件质量评价结果的置信 度。
(3)本发明给出软件质量综合评价,结合软件质量评价分数和软件质量评价的置 信度因素给出软件质量综合评价,提高了软件质量评价的可信度和准确性,解决了利用 现有技术对软件的评价结果不够客观,准确性较差的问题。
附图说明
图1为现有的ISO正式推出的软件质量模型示意图;
图2为背景技术公开发表文献的示意图;
图3为本发明的实现流程图

具体实施方式

如图3所示,本发明基于测试数据的软件质量评价方法,首先确定功能性测试用例 集评价公式和非功能性测试用例集评价公式,根据测试用例集评价公式确定软件质量子 特性评价公式,根据软件质量子特性评价公式确定软件质量特性评价公式,根据软件质 量特性评价公式确定软件质量评价公式。本发明确定了软件质量评价置信度,并根据软 件质量评价结果和软件质量评价置信度确定软件质量综合评价公式,其具体步骤如下:
步骤1:确定测试用例集评价
本发明的质量评价指标体系与现有技术相同,如图2。
本发明基于国际标准ISO/IEC 9126标准给出可定制的软件质量模型,具体内容与 现有技术相同,相应的质量评价体系如图2所示。本发明基于测试数据将模型中的度量 元定义为测试用例集,通过对测试用例集及其执行结果的评价给出软件质量子特性、软 件质量特性和软件质量的评价。
本发明为每个质量子特性建立了三个默认的测试用例集(正常测试用例集TSD、非 法测试用例集TSF、边界测试用例集TST),通过它们与相应质量子特性关联。并且规 定他们对质量子特性评估的贡献率(也称为权重)分别Q1、Q2、Q3,在此有Q1+Q2+Q3=1。 评价人员也可以根据需要对测试用例集的分类进行相应的扩展,但要满足∑Qi=1, 0≤Qi≤1。
本发明将测试用例集分为功能性测试用例集和非功能性测试用例集两类,每个测试 用例集属于功能性测试用例集或者非功能性测试用例集。若该测试用例集所属质量子特 性所属质量特性为功能性,则该测试用例集为功能性测试用例集,反之为非功能性测试 用例集。
非功能性测试用例集评价公式与原有技术评价公式相同: S T = N 2 * D - M N 2 * D , 其中,N2 代表测试用例集中设计的测试用例的总数,M代表未通过的测试用例的数量,D代表测 试用例集中测试用例的差异度。
本发明对功能性测试用例集评价公式进行了改进。本发明考虑一个测试用例对应多 个软件问题的情况,改进功能性测试用例集评价公式为: S T = N 1 * D - Σ j = 1 L p j * x j N 1 * D , 其中, N1表示实际测试用例数,当存在一个测试用例导致多个软件问题的情况时,将该测试用 例看成与软件问题个数对应数量的多个测试用例,在计算用例总数时其按对应问题个数 来计算。L表示软件问题的总数,pj表示第j个软件问题的严重性程度,xj表示第j个 软件问题对应测试用例的重要性程度。D表示测试用例集差异度,0≤D≤1,文献“基 于测试的软件外部质量评价方法研究”中此值由评价人员或测试人员对测试用例进行评 审后得出。本发明下面给出评价因素差异度的度量函数。
本发明首先介绍测试用例的差异度,然后给出测试用例集的差异度。
两个测试用例的差异度取值可以是0(没有差异)或者1(有差异)。下面将从黑 盒测试和白盒测试两个度给出测试用例差异度计算方法。
对于黑盒测试,测试用例差异度计算方法如下。
1、测试用例tc1和测试用例tc2在软件质量模型中,即图2中位于同一个测试用 例集。
2、如果tc1和tc2的所有输入点都在同一个等价类中,而且tc1和tc2中所有输 入点的输入顺序以及操作过程都相同,并且tc1和tc2均表示边界情况或者非边界的情 况,那么tc1与tc2的差异度为0,否则为1。
对于白盒测试,依据不同的测试覆盖准则,测试用例差异性判断准则不同,测试用 例差异度也会不同。下面给出针对不同白盒测试覆盖方法判断两个测试用例差异度的判 断准则。假设:
1、测试用例tc1和测试用例tc2在软件质量模型中,即图2中位于同一个测试用 例集。
2、对于集合A={a1,a2,…,an}和集合B={b1,b2,…,bm},A=B的充要条件为: A = B m = n i [ 1 , n ] , a i = b i .
准则1:针对语句覆盖,假设tc1,tc2执行的语句序列分别为:
Sentencetc1={senta1,senta2,…,sentan}Sentencetc2={sentb1,sentb2,…,sentbm}
若Sentencetc1=Sentencetc2,则tc1与tc2的差异度为0,否则为1;
准则2:针对判定覆盖(或分支覆盖),假设tc1,tc2执行的分支序列分别为:
Decisiontc1={deca1,deca2,…,decan}Decisiontc2={decb1,decb2,…,decbm}
tc1,tc2执行的分支序列中对应分支点的取值(Boolean值,以下同)序列分别为:
Value_dectc1={v_deca1,v_deca2,…,v_decan}Value_dectc2={v_decb1,v_decb2,…,v_decbm}
若Decisiontc1=Decisiontc2且Value_dectc1=Value_dectc2,则tc1与tc2的差异度为0, 否则为1;
准则3:针对条件覆盖,假设tc1,tc2执行的每个判定中的每个条件的取值序列分 别为:
Dec_contc1={dec_cona1,…,dec_conan}Dec_contc2={dec_conb1,…,dec_conbm}
若Dec_contc1=Dec_contc2,则tc1与tc2的差异度为0,否则为1;
准则4:针对判定/条件覆盖,假设tc1,tc2执行的每个判定的取值序列分别为:
Decisiontc1={deca1,deca2,…,decan}Decisiontc2={decb1,decb2,…,decbm}
tc1,tc2执行的每个判定中的每个条件的取值序列分别为:
Conditiontc1={cona1,cona2,…,conap}Conditiontc2={conb1,conb2,…,conbq}
若Decisiontc1=Decisiontc2且Conditiontc1=Conditiontc2,则tc1与tc2的差异度为0, 否则为1。
若两个测试用例从白盒测试和黑盒测试的角度都没有差异,则表明这两个测试用例 的差异度为0,否则为1。
在定义测试用例差异度的基础上,测试用例集差异度的定义如下。
1.某测试用例集A为tcsetA={tc1,tc2,…,tcn};
2.测试用例tcai与测试用例tcaj的差异度为e(tcai,tcaj);
3.tcsetA的有效测试用例集为
tcsetEA={tca1,tca2,…,tcam|tcai∈tcsetA,e(tcai,tcaj)=1,i≠j且i,j∈[1,n]};
4.tcsetA的最大有效测试用例集为
tcsetEA_max={tcsetB|tcsetB=tcsetEA,|tcsetB|=max{|tcsetEA|}};
5.tcsetA的差异度为 E tcset A = | tcset EA _ max | / | tcset A |
步骤2:确定软件质量子特性评价
软件质量子特性评价为: M s = Σ i = 1 n Q i * S T i ,其中,假设在质量子特性下边有n个测试 用例集,Qi为每个测试用例集对应的权重,其中 Σ i = 1 n Q i = 1 , 为每个测试用例集评价分 数,如果该质量子特性所属质量特性为功能性,那么按照步骤1中功能性测试用例集 评价公式计算,如果该质量子特性所属质量特性不是功能性,那么按照步骤1中非功 能性测试用例集评价公式计算;
步骤3:确定软件质量特性评价
软件质量特性评价为: M c = Σ i = 1 n R i * M si ,其中,假设在质量特性下边有n个质量子特 性,第i个质量子特性的评价分数为Msi,按照步骤2软件质量子特性评价公式进行计算, 第i个质量子特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤4:软件质量评价
软件质量评价为: E quality = Σ i = 1 n R i * M ci ,其中,假设在软件质量下面有n个质量特性, 第i个质量特性的评价分数为Mci,按照步骤3软件质量子特性评6价公式进行计算,第i个 质量特性对应的权重为Ri,其中 Σ i = 1 n R i = 1 ;
步骤5:确定软件质量评价置信度
现有技术介绍的软件质量评价方法中没有考虑软件质量评价的置信度,这使得当测 试不充分时,使用该方法仍然能获得好的软件质量评价,这显然是不合理的。由于基于 测试数据来评价软件质量时是通过测试用例及其执行结果进行的,所以测试用例设计得 越充分,通过该评价方法得出的评价结果的置信度也越高。因此本发明用软件测试用例 的充分性来表示软件质量评价的置信度。
由于白盒测试是基于软件逻辑结构的,而黑盒测试是基于软件需求的,为了比较全 面地考查软件测试用例的充分性,本发明综合考虑白盒测试充分性和黑盒测试充分性来 对软件测试用例充分性进行度量。
软件白盒测试的充分性取决于对白盒测试类型的要求,如语句覆盖、分支覆盖、条 件覆盖及判定/条件覆盖等,一般体现在软件测试计划文档或软件的测试合同中(软件 的关键程度不同,软件的测试要求将会不同)。下面给出白盒测试充分性度量的步骤。
1.软件对白盒测试类型的要求为X覆盖。
2.X覆盖的覆盖率为,代码类型定义见表格2。
3.白盒测试充分性Swhite=CoverageX
表格2白盒测试中代码类型定义
  测试类   型   总代码   执行代码   不可达代码   语句覆   盖   可执行语句的总   数   被执行的可执行语句数   目   不可达语句数目   分支覆   盖   总分支数目   执行的分支数目   不可达分支数目   条件覆   盖   总逻辑条件数目   执行的逻辑条件的数目   不可达逻辑条件数   目   路径覆   盖   总路径数目   执行的路径数目   不可达路径数目
黑盒测试的充分性基于测试用例所采取的设计策略来考虑。本发明根据图2来计算 软件黑盒测试充分性,计算过程如下。
1.首先,给出叶子节点(测试用例集)的充分性。
a、给出某测试用例集选用的测试策略{method1,method2,…,methodn},假定每个被选 用测试策略的权重相同。
b、判断所给出的每种测试策略是否有遗漏,从而给出对该测试用例集设计的测 试策略的充分性Stcset_method;
表格3充分性等级表
  充分性等   级   不充分   较充分   充分   很充分   充分性数   值   [0,   0.7]   (0.7,   0.8]   (0.8,   0.9]   (0.9,   1.0]
√若对该测试用例集设计的测试策略没有遗漏,则认为Stcset_method=1;
√若有遗漏,根据遗漏的测试策略的重要性,按照表格3给出测试策略的充 分性等级Stcset_method;
√若测试策略仅选择“其他”,基于险的考虑,建议Stcset_method选择0.5。
c、给出对该测试用例集设计的每种测试策略的充分性准则,并根据该准则给 出每种策略methodi(i∈[1,n])的充分性 { S method 1 , S method 2 , . . . , S method n } . 表格4给出常用黑 盒测试策略等价类划分,边界值分析,因果图的描述和覆盖率计算方法。
d、结合以上分析结果,按照下面度量公式计算出该测试用例集黑盒测试充分 性: S black _ tcset = S tcset _ method * ( 1 / n ) * Σ i = 1 n S method i
表格4常用黑盒测试策略覆盖率表

2.某非叶子节点x有n个儿子节点,每个儿子节点的权重为pi,相应的充分性等级 为si,则该非叶子节点充分性评价为 S x = Σ i = 1 n p i s i .
3.依此类推,可得软件黑盒测试的充分性Sblack。
结合以上得到的白盒测试充分性和黑盒测试充分性的度量函数,本发明给出软件测 试用例充分性度量函数为:S=Stcset=Swhite*Sblack
其中,S为软件质量评价分数的置信度,Stcset为软件测试用例的充分性,Swhite为软 件白盒测试充分性,Sblack为软件黑盒测试充分性。本发明定义软件测试用例充分性为软 件质量评价分数的置信度。在工程应用中,若白盒测试充分性或黑盒测试充分性在实际 过程中难以获得,可以假定该充分性默认为1。
步骤6:最后确定软件质量综合评价
本发明将软件质量评价的置信度因素加入到软件质量评价体系中,结合软件质量评 价分数给出软件质量综合评价公式:Etotal=Equality*S
其中,Etotal代表软件质量综合评价分数,Equality为软件质量评价分数,S为软件质量 评价分数的置信度。从该公式可知,软件质量的综合评价取决于对该软件质量进行评价 和所得评价分数的可信程度。
每个质量子特性的测试用例集的权重由测试人员依据每个测试用例集对软件质量 的重要程度给出,而质量子特性、质量特性的权重的确立采用AHP方法,其内容介绍见 附件2。
附件1:测试用例集定义
测试用例集通常是指为了测试或验证软件某一功能或测试项的测试用例集合。而测 试用例是用来描述某种特定的测试情况,通常由测试数据和与之相关的测试规程组成。
本发明中测试用例集有五个属性因素,即测试用例的通过数量X,未通过数量Y, 发现的软件问题报告数P,测试用例的差异性D,测试用例的基数B,用TS(X,Y,P,D,B) 来表示。其中B为测试用例集的基数,指测试用例集中至少要包含的测试用例数目。
附件2:AHP方法在软件质量评价中的应用
1).建立评判准则
采用成对比较法,建立的评判准则如下表:
表格5评判准则表
  标度   含义   1   表示两个因素相比,具有相同重要性   3   表示两个因素相比,前者比后者稍重要   5   表示两个因素相比,前者比后者明显重   要   7   表示两个因素相比,前者比后者相当重   要   9   表示两个因素相比,前者比后者极端重   要   2,4,6,8   相邻判断的中间值
2).输入判断矩阵
在确定了比较准则后,需要比较若干个因素对同一目标的影响,从而确定它们在目 标中占的比重。假定目标层次的一个元素A对下一层次的元素A1,A2,……,Ai有支配关系, 那么可以建立各个元素之间的两两比较矩阵。这样对于质量特性Ai就可以得到一个n阶 的两两比较矩阵:S=(sij)n。
3).权重分析提取
在上边的步骤完成之后,得到了判断矩阵S,对判断矩阵进行权重的提取得到绝对 权重向量W`={W1`,W2`,……,Wn`}T,提取方法一般采用特征根法,求解公式如下: SW`=λmaxW`。其中λmax为矩阵S的最大特征根,W`就是相应的特征向量,对W`进行归 一化处理,即得到权重向量W。同样的方法,也可以对质量子特性进行处理,构造判断 矩阵。
4).一致性检查
如果比较结果是前后完全一致的,则判断矩阵应具有以下性质:(1)sij>0,(2) s ij = 1 s ji , (3)sii=1;要得到这样的n阶矩阵,必须做n*(n-1)/2次判断,由于对质量 特性的判断带有主观性和复杂性,所以并不一定能使判断矩阵满足sij*sjk=sik,也就是 判断矩阵S不一定具有一致性,因此得到最大特征根后,要对判断矩阵做一致性检验。 需要检验构造出来的判断矩阵S是否严重地非一致,以便确定是否接受S。
定义1:满足关系式sij*sjk=sik, i , j , k 1,2,3 , . . . , n 的正互反矩阵称为一致矩阵。
定理1:正互反矩阵S的最大特征根λmax必为正实数,其对应特征向量的所有分量均 为正实数。S的其余特征值的模均严格小于λmax。
定理2:若S为一致矩阵,则:
(1)S必为正互反矩阵。
(2)S的转置矩阵AT也是一致矩阵。
(3)S的任意两行成比例,比例因子大于零,从而rank(S)=1(同样,S的任意两 列也成比例)。
(4)S的最大特征值n=λmax,其中n为矩阵S的阶。S的其余特征根均为零。
(5)若S的最大特征值λmax对应的特征向量为W=(w1,w2,w3,…,wn)T,则sij=wi/wj, i , j 1,2,3 , . . . , n , 即:
s = w 1 w 1 w 1 w 2 · · · w 1 w n w 1 w 1 w 1 w 2 · · · w 1 w n · · · · · · · · · · · · w n w 1 w n w 2 · · · w n w n
定理3:n阶正互反矩阵S为一致矩阵当且仅当其最大特征根n=λmax,且当正互反矩阵 A非一致时,必有λmax>n。
根据定理3,可以由λmax是否等于n来检验判断矩阵S是否为一致矩阵。由于特征根 连续地依赖于sij,故λmax比n大得越多,S的非一致性程度也就越严重,λmax对应的标 准化特征向量也就越不能真实地反映出X={x1,…,xn}在对因素的影响中所占的比重。因 此,对决策者提供的判断矩阵有必要作一次一致性检验,以决定是否能接受它。
对判断矩阵的一致性检验的步骤如下:
(i)计算一致性指标CI: C . I = λ max - n n - 1
(ii)查找相应的平均随机一致性指标RI。对n=1,…,9,Saaty给出了RI的值,如 下表所示:
表格6平均一致性指标RI

RI的值是这样得到的,用随机方法构造500个样本矩阵:随机地从1~9及其倒数 中抽取数字构造正互反矩阵,求得最大特征根的平均值λmax`,并定义 R . I = λ max ` - n n - 1
(iii)计算一致性比例CR: CR = CI RI 。当CR<0.10时,认为判断矩阵的一致性是可 以接受的,否则应对判断矩阵作适当修正。
5).层次总排序及一致性检验
上面得到的是一组元素对其上一层中某元素的权重向量。最终要得到各元素,特别 是最低层中各方案对于目标的排序权重,从而进行方案选择。总排序权重要自上而下地 将单准则下的权重进行合成。
设上一层次(A层)包含A1,…,Am共m个因素,它们的层次总排序权重分别为a1,…,am。 又设其后的下一层次(B层)包含n个因素B1,…,Bm,它们关于Aj的层次单排序权重分 别为b1f,…,bnf(当Bi与Aj无关联时,bij=0)。求B层中各因素关于总目标的权重,即 B层各因素的层次总排序权重b1,…,bn,计算按下表所示方式进行,即 b i = Σ j = 1 m b ij * a j , i=1,…,n。
表格7层次总排序表

对层次总排序也需作一致性检验,检验仍像层次总排序那样由高层到低层逐层进 行。
设B层中与Aj相关的因素的成对比较判断矩阵在单排序中已经完成一致性检验,求 得单排序一致性指标为CI(j),(j=1,…,m),相应的平均随机一致性指标为RI(j) (CI(j)、RI(j)在层次单排序时求得),则B层总排序随机一致性比例: CR = Σ j = 1 m CI ( j ) a j Σ j = 1 m RI ( j ) a j
当CR<0.10时,认为层次总排序结果具有较满意的一致性并接受该分析结果。
对于某真实项目A,按照软件特点和质量要求,建立了相应的质量模型,并基于测 试数据按本方法进行质量评价。具体过程如下评价:
(1).A项目质量模型定制
  质量特性   质量子特性   功能性   适合性、安全性、易安装性、互操作性、   边界特性   性能性   性能特性、强度特性、容量特性
(2).质量特性权重
按照AHP方法在软件质量评价中的应用(附件2),通过填写质量特性之间的相对 重要性,得到质量特性的绝对权重信息如下:
  质量特性   功能性   性能性   功能性   1.0   3.0   性能性   0.333333   1.0   绝对权重信息   0.75   0.25
(3).质量子特性权重
按照AHP方法在软件质量评价中的应用(附件2),通过填写质量子特性之间的相 对重要性,得到质量子特性的绝对权重信息。
功能性的质量子特性权重分析:
  质量子特   性   适合性   安全性   易安装性   互操作性   边界特性   适合性   1.0   1.0   1.0   1.0   1.0   安全性   1.0   1.0   1.0   1.0   1.0   易安装性   1.0   1.0   1.0   1.0   1.0   互操作性   1.0   1.0   1.0   1.0   1.0   边界特性   1.0   1.0   1.0   1.0   1.0   绝对权重   信息   0.2   0.2   0.2   0.2   0.2
用同样方法可以确定性能性的质量子特性权重。
(4).测试用例集权重设计
设计默认的测试用例集:
  名字   权重   差异度   基础用例数   测试用例集   1.0   1.0   1
亦可单独为每个质量子特性的测试用例集分别设置权重。
(5).实施评价
以下通过对某真实项目A进行软件测试,得到测试结果数据,包括测试用例的失败 数、通过数、软件问题数,软件问题严重程度等信息,并按上述方法计算出每个测试用 例集的分数。

由测试用例集的分数,结合测试用例集在所属质量子特性中所占比重可以得出质量 子特性的分数如下:
  质量   子特性   适合   性   安全   性   易安   装性   互操   作性   边界   特性   性能   特性   强度   特性   容量   特性   评价分   数   61.7   41.18   67.52   81.82   62.5   100   0.0   20.1
由质量子特性的分数,结合质量子特性在所属质量特性中所占比重可以得出质量特 性的分数如下:
  质量特性   功能性   性能性   评价分数   62.94   39.6
由质量特性的分数,结合质量特性在软件总体质量评价中所占比重可以得出软件质 量的分数如下:
  软件质量分数   57.11
由于该项目未进行白盒测试,未能获得白盒测试充分性,假定白盒测试充分性为1。 黑盒测试方面,下面以质量子特性“适合性”下测试用例集的黑盒测试充分性计算过程 为例给出该测试用例集的黑盒测试充分性。
1.该测试用例集选用的测试策略={等价类划分,边界值分析};
2.该测试用例集设计的测试策略的充分性Stcset_method=1;
3.根据表格3,给出每种测试策略的充分性为{0.95,0.93};
4.该测试用例集黑盒测试充分性为
S black _ tcset = S tcset _ method * 1 / 2 * Σ i = 1 2 S method i = 1 * 1 / 2 * ( 0.95 + 0.93 ) = 0.94 .
其余测试用例集的黑盒测试充分性计算过程类似。最后根据说明书的步骤5黑盒测 试充分性的计算过程得到项目A软件黑盒测试充分性为0.98。
从而,项目A软件质量评价置信度S=Swhite*Sblack=1*0.98=0.98。项目A软件质量 综合评价分数为57.11*0.98=55.9678。
上述实例对真实项目A进行了完整的软件质量评价。实例A基于国际标准ISO/IEC 9126标准中软件质量模型的三层结构,针对具体项目A给出满足该项目需求的质量模型, 从而实现了软件质量模型的可定制。
实例在考虑测试用例通过数、失败数、问题报告数、测试用例重要性、软件问题报 告严重性因素的情况下,计算出测试用例集的分数,质量子特性的分数,质量特性的分 数以及软件质量的分数,并结合软件测试用例的置信度,综合给出软件质量评价分数, 量化地评价了软件的质量水平。A项目最后得出的软件质量分数为55.9678,该评价结 果反映了A项目软件的质量状况。依据A项目的质量要求,可以对软件加以改进,修复 相应缺陷,从而提高软件的质量。上述实例通过对软件质量进行量化的评价,从而为改 进软件的质量,最终为软件定型、验收、鉴定和产业化提供客观、公正的科学依据。
显而易见,在此描述的本发明内容可以有许多变化,这种变化不能认为偏离本发明 的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书 的涵盖范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈