Rayleigh 模型是 Weibull 分布系列中的一种。Weibull 分布又称韦伯分布、韦氏分布或威布尔分布,由瑞典物理学家 Wallodi Weibull 于 1939 年引进,是可靠性分析及寿命检验的理论基础。Weibull 分布能被应用于很多形式,包括 1 参数、2 参数、3 参数或混合 Weibull。3 参数的 Weibull 分布由 形状、尺度(范围)和位置三个参数决定。其中形状参数是最重要的参数,决定分布密度曲线的基 本形状,尺度参数起放大或缩小曲线的作用,但不影响分布的形状。 它的累积分布函数(CDF)和概率密度函数(PDF)为:
参数说明:m 为形状参数(Shape Parameter);c 为范围参数(Scale Parameter);t 为时间。在 软件测试过程中,一般使用概率密度函数 PDF 来表示缺陷密度随时间的变化情况,积累分布函数 为累计缺陷分布情况,在使用 Rayleigh 模型分析缺陷时,形状参数 m 取值为 2。 将 m 值代入公式(1)和公式(2)中,累积分布函数(CDF)和概率密度函数(PDF)为:
c 参数为常量c 2 tm,tm 是 f(t)达到峰值时对应的时间。在实际应用过程中,会在公式前面 乘一个系数 K(K 为所有的缺陷数),将 K 值代入公式(3)和公式(4)中,累积分布函数(CDF) 和概率密度函数(PDF)为:
缺陷 tm 时间的比率 m F(t ) / K ≈0.4,即当 f(t)达到最大值时,已发现的缺陷数约为总缺陷数的 40%。
统计测试中所发现的缺陷数,如表 9-6 所示。
从表 9-6 中可以看出,第 3 周发现的缺陷数最多,截止到第 3 周所发现的缺陷数应该大约占全 部缺陷总数的 40%,则 K(总缺陷数)=(前 3 周缺陷总数)/0.4=(20+38+55)/0.4=113/0.4=282。tm 等于 3,那么 m c 2t 3 2 。将 K 值和 c 值代入公式(5)和公式(6)中,累积分布函数(CDF) 和概率密度函数(PDF)为:
使用 Rayleigh 模型生成的模拟值见表 9-7。
累积分布函数(CDF)与真实数据图如图 9-23 所示。
概率密度函数(PDF)与真实数据图如图 9-24 所示。
【实例】通过 Rayleigh 模型的概率密度来评估测试过程和软件质量。计划升级一个历史项目, 以前的历史数据统计表明,该项目千行代码缺陷率为 9.56 个,估计升级后该项目的代码行数为 102KLOC(千行),希望本次升级发现的千行缺陷数比之前少 5.3%,即总缺陷数预计为 9.56×102×(1-5.3%)=923.44 个,计划项目的测试时间为 22 周。将数据代入到 Rayleigh 模型中的概 率密度函数中,得到 PDF 为:
使用 Rayleigh 模型生成的模拟值见表 9-8。
使用 Rayleigh 模型生成概率密度函数图,如图 9-25 所示。
测试过程应该将该图与测试过程真实的每周发现的缺陷数进行对比,如果两个图存在明显的差 异,那么说明测试策略存在问题,需要重新修改测试策略。