原文链接: https://blog.csdn.net/crisschan/article/details/127881580?spm=1001.2014.3001.5501
陈磊: 写过好几本测试相关的书,CrissChan,原京东大佬
在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。例如,假设某个实验由A,B,C,D四个因素,每个因素都有10个不同的取值,那么如果想把每个因素都考虑到,我们需要做 101010*10=10000次实验。为了减少实验数目,我们必须选出那些最有代表性的例子。于是,就要用到了正交表法(Orthogonal Array Testing Strategy)。
设正交表的强度为S, 则正交表有以下数学性质:
由此看出强度的作用,强度就像一个筛子,筛选出解空间中符合S维正交性原则的所有记录,当S=1时,只遍历最后一个变量的所有取值。当S=因素个数时,得到的便是整个解空间。
正交表是一种筛选实验用例的方法。在介绍其具体内容前,我们先引入几个基本概念
括号中为具有相同水平数的因子数的项的连乘记。
给几个具体的例子:
看一个具体例子:设有4个变量A,B,C,D, 前三个变量的水平数为3,最后一个变量的水平为4,那么,根据不同的强度,可得到不同的正交表。强度s=2时,首先得到基本正交表
可以看出C的每个水平值与D的每个水平值各碰一次且仅碰一次。而A、B的每个水平出现的次数也很均匀。并且任何在相同位置的两列组成的有序数对没有重复值。为了保持取值的均匀性,用因素的水平值循环填充为0的项,得到最终的正交表为
红色数字就是我们用水平值循环填充后的结果。类似的我们可以得到强度为3的正交表
记录数为433=36.
由此可见,手动构造正交表并不是一个容易的事情,因此我们提供了一个基于正交版设计测试用例的小工具。
链接:https://pan.baidu.com/s/1pzHsyXiLG261PkQmQfosNw?pwd=amli