基于测试用例的软件可靠性分析
作者:网络转载 发布时间:[ 2011/1/19 9:36:36 ] 推荐标签:
四、软件可靠性评估?
4.1 大概率的EM算法?
本文将该方法引申到软件测试可靠性评估计算上。?
假设输入点集为I,通过输入和输出的映射函数关系,观测到I服从概率分布Pd(I), I?d。随机变量I只是观测数据的一部分,假设A表示与I有关的随机事件,即A={R(I)>Rα},R(I)表示通过随机输入I观测到的似然统计量,Rα表示测试人员的期望值,且Rα∈[0,1]。这里所要求的是大概率sup{Pd(A):d∈D0},这里D0是D的子集。在假设检验中,大概率可以是真实的检验水平,也可以是犯第1类或第2类错误的概率。?
EM算法是用来求解似然函数大值点的工具,所以,如果能够将概率Pd(A)看成似然函数的值,则可以利用EM算法得到大概率sup{Pd(A):d∈D0}。?
EM算法的基本步骤:?
设f(y|d)是Y的概率函数。从一个初始点d∈D开始,则寻找sup{Pd(A):d∈D0}的算法由下面的两步迭代而成(t=0,1,…):?
E步:给定现在的值d(t)后,对未知的对数似然函数l(d|Y)=log f(Y|d)求条件期望:?
M步:大化函数Q(d|d(t)),求取大值点d(t+1)作为下一步迭代的值,即使得:?
4.2 基于测试用例的软件可靠度检验?
软件测试是一个反复测试的过程,一个测试软件包含多个测试用例,各个测试用例之间的关系是相互独立的,假设测试软件P包括m个测试用例,并且对该软件进行了k次测试,根据推论2可计算出一个关于测试用例的观测数据矩阵R如(8)式所示:?
其中Rij表示对第i个测试用例进行第j次测试所得到的结果。其中经过k次测试后,每个测试用例的可靠度可以取其算术平均值作为后结果,其结果可表示为式(9)。?
根据(8)、(9)式可推导出测试软件P的终矩阵表达式为式(10):?
下面利用R={R(c)1,…,R(c)m}对软件可靠度RP进行检验。检验的问题是:?
这里的R?P表示测试员或者软件使用者对软件可靠度的期望值,如果测试软件可靠度大于该期望值,则认为测试软件的可靠度达到要求,否则,认为没达到要求。根据式(8)可推出软件的可靠度的极大似然估计为式(11)。?
对于给定的检验水平α,假设A={R^p>Rα},通常的检验方法应该选取R尽可能的小,对给定的水平α,其中临界值Rα可以表示为式(12)。
相关推荐
更新发布
功能测试和接口测试的区别
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