一、正交表的描述
- 因素数:条件因子的个数
- 水平数:条件因子取值的个数,取所有条件因子中取得值数目最大的那个。
- 根据
因素数
、水平数
、最小实验次数n
,选择合适的正交表。
n = ∑(每列因素的水平数-1) + 1,也就是说正交表的行数要取大于n的最小值。 - 把变量的值映射到表中,每一行即一个测试用例。
使用正交表设计用例,(1)确定因素的取值范围或集合,(2)采用等价类划分、边界值分析等方法确定测试数据,(3)将确定的测试数据作为对应因素的水平值,(4)根据合适的正交表设计用例。
二、正交表设计用例
假设有一个个人信息系统,可以通过姓名、身份证号码、手机号码以及它们的组合查询个人信息,试通过正交实验法对查询功能设计测试用例。
- 因素:有姓名、身份证号码、手机号码三个。
- 水平值:每个因素的水平数有空(0)和存在(1)、不存在(2)三种情况。
- 计算 n = 3(3-1) + 1 = 7。也就是说选取水平数≥3,因素数≥3,行数≥7的最小行数正交表,即
*说明:并不是我们想要什么正交表就有什么正交表,我们选取正交表时只能从现有的正交表中进行选择,而且选择的正交表要满足上述中的因素数、水平数、和最小实验次数n,在这个前提下选择实验次数最少的一个。
- 把变量的值映射到表中,得到9个测试用例。
如果对查询功能进行完全的测试,则需要进行
次测试。而通过正交实验法进行的测试用例只有9个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。
三、正交实验法与因果图相比较
还记得前面介绍过的因果图法吗?我们采用正交实验法对需求进行分析。
- 因素数:有第一列,第二列两个
- 水平数最大为3:第一列的水平值有“A”、“B”、其他;第二列的值有数字、其他。
- 最小实验次数 n = (3-1) + (2-1) + 1 = 4。所以选择水平数≥3,因素数≥2,行数≥4的最小行数正交表,即
-
根据正交表得到的用例情况。共有6个有效用例,是不是和因果法得到的结果一模一样呢?
四、正交实验法需要注意的地方
- 正交实验法适合于对每个因素的值都会一一检查的情况。比如前面的两个例子,无论因素的水平值合法与否,均会对每个因素的值一一检查。而对于一但检测到第一个不合法的数据就不再继续检查后续的数据正确与否,这种情况不适用正交实验法。因为一但遇到非法数据,非法数据后面的测试数据都将被忽略,不会被执行,失去了测试用例想要达到的目的。所以,正交实验法适合于并行检查参数的逻辑,或者有先后顺序但是合法数据的情况(即所有参数仍然都会被检查到)。
- 对于正交表没有覆盖到的用例情况进行补充,对于不可能的用例情况进行删减。
网友评论