基于测试用例的软件可靠性分析
作者:网络转载 发布时间:[ 2011/1/19 9:36:36 ] 推荐标签:
三、测试用例可靠性评估?
3.1 基本概念?
软件可靠性模型通常分为三种:时间域可靠性模型、输入域可靠性模型和混合可靠性模型。实际上,软件黑盒测试的过程是从输入域着手,反复有选择性地随机抽取输入点集,通过观察其输入和输出之间的映射关系得出其可靠性。下面给出一些测试过程中常用到的概念和度量。?
定义1测试准则:测试准则是关于一组有限可枚举的待测试目标(待测试的软件部分)的判定规则,如果测试通过了判定规则的判定,则认为达到了测试准则,否则没有。假设i表示输入数据,且i∈D,output表示输出数据,也是说如果输入数据i满足output=f(i)(i∈D),认为达到了判定准则,否则没有。
定义2测试子域:把测试用例的输入域D按照上述二个步骤划分成L个互不相交的子域D1,D2,…,DL,即D=D1∪D2∪…∪DL,且Di∩Dj=?(i≠j且i,j=1,2,…,L),则Di称为测试子域。?
定义3测试可靠性因子:为了更好的判断输入和输出是否满足映射关系,特此引入功能性可靠因子c,其中c=1或c=0。当c=1时,表示输入和输出符合其映射关系;当c=0时,表示输入和输出不满足其映射关系。?
定义4缺陷影响因子:不同的缺陷对软件可靠性的影响不一样。通常测试人员将缺陷分为如下几个级别:致命、严重、一般、轻微、建议。对应不同的级别应给予相应权重来描述它,以表示它对测试结果的影响。其中缺陷影响因子用γi表示,这里i=5,表示5个级别。根据经验可设γ=(10,5,2,1,0.5)。?
软件好比一辆汽车,不同的缺陷、故障(缺陷因子不同)会产生不同的结果,像座位和车刹的故障一样,同样是缺陷,但产生的结果不同。作为软件的可靠性来说,应该把缺陷因子考虑到其中,这样才能更好地度量和评价软件可靠性。?
假设输入i产生缺陷的概率为P(i),其中i∈D,根据定义3可将c表示为i的函数c(i),它满足c(i)=1或c(i)=0,根据定义4可将缺陷影响因子γ表示为i的函数γ(i)。则测试用例的可靠性可用(1)式表示:?
3.2 测试用例的可靠性评估
在软件测试可靠性评估领域,所有的结果都是在一定假设条件下产生的,不论是JM模型、Musa模型或者NHPP模型,都是在一定的假设基础上进行的。?
根据等价类原理可知测试向量所产生的缺陷在各个子域内出现的概率是均等的。同时,软件的复杂性在观测数据矩阵中也得到了很好的体现。根据等价类原理,可以计算出相应的可靠性模型。?
推论1对任意一功能点进行一次有选择性的随机测试,其可靠度可表示为:?
其中γi表示第i个缺陷影响因子,c/ij表示观测结果。?
证明假设对任意一个功能向量F进行测试,其输入点集为:?
根据其映射规则,通过定义3可以得出一组相应的矩阵C。它可表示为式(2)。?
根据定义4可知每组输入可能产生5种等级的缺陷,而每种等级的缺陷对软件可靠度造成的影响是不一样的,因此可把矩阵C分解成一个新矩阵C/,C/中包含了5种缺陷影响因子的信息。由于论文主要是计算软件的可靠性,在定义3中已规定当输入和输出满足映射关系时,c取1,否则取0。所以C/表示式(3)。?
根据矩阵C/和(1)式可以得出软件无缺陷运行的概率如(4)式所示。?
根据(4)式可推知缺陷影响因子为γi的发生概率Pγ为:Pγ=1-PFi,从而可计算出软件可靠度RFi如式(5)所示:?
推论2测试用例在无缺陷下运行的概率为:?
证明测试向量F1,F2,…,Fn相互独立, 则可推出测试用例F的可靠度为各个测试向量可靠度的交集,表示为(7):?
据推论1知测试用例的可靠度Rc=∏ni=1RFi, 从而可得出测试用例在无缺陷下运行的概率为
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11