数据分析和软件测试-海军工程大学数学系,武汉430033软件测试数据的统计分析
CHINESEJOURNALENGINEERINGMATHEMATICSVol.22Feb.2005文章编号:1005-3085(2005)01-0053-06软件测试数据的统计分析(海军工程大学数学系,武汉430033)软件可靠性评估是软件可靠性研究的重要问题,本文研究了软件测试数据的样本点序法,获得了软件可靠度的置信下限,证明了该置信限的最优性。最后给出一个实例说明该方法的可行性。关键词:软件可靠性;分域测试;最优置信下限分类号:AMS(2000)62F15中图分类号:O212.1文献标识码:引引引言言言软件可靠性是软件质量的重要属性。为了减少软件所含错误或缺陷,使软件具有高可靠性,在软件开发的各个阶段均必须进行大量测试。作为一种重要的统计测试方法,分域测试方法[1,2]泛应用于软件实际测试之中,由于分域测试能够反映软件的实际使用情况,因此利用其测试所得到的试验数据可对软件可靠性进行评估,研究分域测试数据的统计处理方法成为软件可靠性评估问题中的重要内容。由于分域测试所获得的试验数据常常是成败型分组数据,因此,许多文[3,4,5,6]借助于二项分布对分域测试数据的统计处理方法进行研究。
文[3]利用Bayes方法对无失效分组数据进行处理,该方法可以利用软件开发过程中的先验信息,但该方法并没有讨论软件可靠度的综合评估问题,特别是软件先验信息的确定存在不合理性Thayer-Lipow-Nelson可靠性模型)处理分组数据,它实际上是对文[4,7]的方法的推广,种推广并没有进行数学证明。文[9]构造出一个反例说明文[4]的这种推广是错误的,所得软件可靠度的置信下限是冒进的。本文研究了软件分组数据的统计分析方法,利用样本点排序法得到了软件可靠度的最优置信下限。第2节建立了软件分域测试的可靠性模型;在第3节,我们利用分域测试数据的样本点排序法获得了软件可靠度置信下限;在第4节中,我们研究了该置信下限的性质;最后给出了一个例子说明本文方法的可行性。软软软件件件分分分域域域测测测试试试的的的可可可靠靠靠性性性模模模型型型软件实际上可视为是软件输入数据空间(记为的函数。所谓分域测试就是首先将输入数据空间中随机选择一个或多个测试用例对软件进行测试。根据软件的操作剖面,在规定时间内随机地选择测试用例对软件进行测试能够获得准确输出结果的概率称为软件可靠度。在子域中随机选择测试用例能够得到正确输出结果的概率收稿日期:2003-04-07.作者简介:张志华(1965年7月生)数据分析和软件测试,男,博士,研究方向:可靠性统计、软件可靠性.54第22卷称为子域的可靠度。
设,按照任务剖面随机地在软件的输入数据空间中选择一个数据落入子域1,则软件的可靠度为个测试用例得到正确输出结果,记分域测试所得到的分组数据为中的样本点,其中样本空间+1)个样本点。对每个样本点Z=(ssini软软软件件件可可可靠靠靠度度度的的的置置置信信信下下下限限限在实际中,软件可靠性评估常常需要得到软件可靠度的置信下限。设分域测试所获得的分组数据为(2),软件可靠度置信下限是测试数据)。对于给定的置信水平为张志华:软件测试数据的统计分析55m+1的选择:令Bm+1个样本点进行排序。由于上述排序方法实际上规定了样本空间中的一个全序(即可比较,自反和传递)二元关系,因此,可将排序结果表示为利用上述样本点的排序结果就可以得到软件可靠度的置信下限。设分组数据为(2),与样本点排序结果(5)进行比较,若分组数据(2)排在第软件可靠度的置信下限为软软软件件件可可可靠靠靠度度度估估估计计计的的的性性性质质质为了证明软件可靠度估计(3)、(6)的性质,我们有如下定理定理1数据分析和软件测试,假定ni且随机变量有关。易证,当p1R1(1R1)w1达到最小。但是,一般情况下,各子域的可靠度是未知56第22卷的,因此,无法严格确定分域测试方案。
当各子域的可靠度相差不大时,各子域的抽样量这样所得到的软件可靠度点估计的渐近方差较小。定理2设分组数据为(2),则的置信下限。证明定理2表明,置信下限(6)满足给定置信水平的要求。为了置信下限计算方便,我们给出如下定的单增函数。证明将分组数据Z}。显然,集合中的元素进行重新编号1l)Γ(n1s1l+1)n1s1ldt由此可见G(Z,增函数。利用定理3的结论,就可以将软件可靠度置信下限简化为张志华:软件测试数据的统计分析57定理4软件可靠度的置信下限由排序规则和定理3的结果可直接得到。软件可靠度置信下限的单调性与实际要求相吻合,它反映了测试数据对评估结果影响的一个合理要求。定理5设软件可靠度的另一置信下限证明若定理结论不成立,设有这个矛盾表示假设不成立。定理5表明,对于满足单调性要求的软件可靠度置信下限,本文所给出的置信下限是最优的。算算算法法法及及及例例例子子子为了求软件可靠度的置信下限,必须对分组数据的样本空间中的样本点进行排序,但是,随着测试用例数的增加,其样本空间中的样本点数将快速增加,因此对样本点进行完全排序是十分困难的。在实际中,我们只需对部分样本点进行排序,即当样本点排序进行到观测分组数据时就结束排序。
由于在软件测试(特别是软件的确认测试)中,测试所出现的失效次数一般较小,这样可大大减少样本点排序的计算量。设某软件的输入空间可分为二个子域的可靠度。为了对软件可靠度进行评估,分别在两子域中随机选择二个测试用例进行测试,即。该测试方案所对应的样本空间(即可能出现的测试结果)为{(2,2),(2,1),(1,2),(1,1),(0,2),(2,0),(1,0),(0,1),(0,0)}。如果分域测试结果为(1,2)时,给定置信水平为0.9,可得到软件可靠度的置信下限为0.30842。为了说明样本点排序结果与置信水平有关,我们选择不同的置信水平,分别对样本空间中的样本点进行排序,其排序结果见下表。从表的结果可见:在不同置信水平下,分域测试数据的样本点所排次序并不相同,如样本点(1,1)在置信水平0.6下排在第4位,而在置信水平0.9下则排在第5位。这说明样本点的排序结果与所给置信水平有关。在不同置信水平下的样本点排序置信水平样本点的排序RL(Z(1,0.9(2,2),(2,1),(1,2),(2,0),(1,1),(0,2),(1,0),(0,1),(0,0)0.308420.1559520.7(2,2),(2,1),(1,2),(2,0),(1,1),(0,2),(1,0),(0,1),(0,0)0.46760.2965360.6(2,2),(2,1),(1,2),(1,1),(2,0),(0,2),(1,0),(0,1),(0,0)0.5243910.38811558第22卷参参参考考考文文文献献献:::etal.CleanroomSoftwareEngineering:TechnologyProcess[M],Addison-Wesley,2000 何国伟等.软件可靠性[M],北京:国防工业出版社,1998;2 etal. Estimating testingreveals failures[J].IEEE Trans SoftwareEngineering,1992; 18(1),33-43 somereliability estimation problems partitiontesting[J]. IEEE Trans SoftwareEngineering,1993; 19(7):687-697 FunctionalProgram Testing Analysis[M].New York: McGray-Hill, 1984 VanSchouwen Safety-criticalSoftware[J]. Cmmunications SoftwareReliability Amsterdam[M]: North-Holland,1978 软件分域测试可靠性评估的注记[J].海军工程大学学报,2002;14(6)[10] 周源泉, 翁朝曦. 可靠性评定[M]. 北京:科学出版社,1991 Reliability Estimation Method SoftwareTest Data ZHANG Zhi-hua (Dept. Math.,Naval University Engineering,Wuhan 430033) Abstract: Software reliability estimation importantproblems softwarereliability investi- gation. paper,We study orderingrule samplepoints findingclassical exact lower confidence limit softwarereliability orderingmethod samplepoints.Finally, presented.Keywords: software reliability; partition testing; optimal lower confidence bound