基于Weyl序列的测试选择方法

Weyl序列是一种典型的低差异序列。所谓"低差异",在测试设计的语境中指的就是"测试用例在测试输入空间中的分布比较均匀"。这种特征非常契合多样化的思想。常用的低差异序列还有Sobol序列、Halton序列等。相对而言,基于Weyl序列进行测试选择的实现难度是最低的。

我们知道,对于任意正质数p,其平方根一定为无理数。这时,序列

就是一个低差异的Weyl序列。这里mod1的意思是取小数部分,比如3.14(mod1)=0.14。

假设测试输入空间是二维实数空间中的一部分,我们可以取另一个正质数q,生成另一个Weyl序列

。通过如下线性变换将映射到测试输入空间中:

其中表示测试输入变量x的最小水平,表示表示x最大最小值的差。取作为测试集,就可以保证测试用例比较均匀地分布在整个测试输入空间中,效果如下图所示:

而如果用伪随机数方法生成类似的测试集,分布情况很可能是这样的:

显然,基于Weyl序列的测试集均匀性要好得多。

Weyl序列的构造机制又称为"格点规则":先在一条直线上等距打点,再把这个线"缠绕"成一个环面,点就在上面大致均匀分布。譬如对于

来说,就是等距打点,mod1就是"缠绕"操作。

实际上,我们讨论过的均匀设计方法,也是通过格点规则来构造均匀设计表。

均匀设计https://blog.csdn.net/wkqyxyh/article/details/143115142?spm=1001.2014.3001.5502可以说,利用Weyl序列进行测试选择,与均匀设计方法有异曲同工之妙。

相关推荐
海旭老师1 年前
【统计的思想】假设检验(一)
统计·测试设计·测试基础理论
海旭老师1 年前
大模型辅助测试的正确打开方式?
测试设计·测试基础理论