因果法设计用例太多怎么办?
正交法的目的就是为了减少测试用例数目,用尽量少的用例覆盖输入的两两组合

正交试验设计(Orthogonal experimentaldesign)是==研究多因素多水平的一种设计方法,==它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

**因素(Factor):**在一项试验中,凡欲考察的变量称为因素==(变量)==
水平(位级)(Level): 在试验范围内,因素被考察的值称为水平==(变量的取值)==
正交表的构成:
行数(Runs): 正交表中的行的个数,即试验的次数,用N代表。
因素数(Factors): 正交表中列的个数,用C代表。
水平数(Levels): 任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表
正交表的表示形式L=行数(水平数*因素数) L=N(TC)
正交表的两条性质:
每一列中各数字出现的次数都一样多。
任何两列所构成的各有序数对出现的次数都一样多。

正交法设计测试用例的步骤:

1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合

案例:

继续以注册为例(类似工具可以使用微软的PICT工具):

1、因素:姓名、邮箱、密码、确认密码、验证码

2、水平:填写、不填写

正交clos架构的交换机_取值


3、表中的因素数=5;

表中至每个因素数的水平数=2

行数取最少的一个,即试验次数最少的一个

L=N(TC)=(T-1)*C+1(25)=6(25)

L=6(25)

N试验次数

T水平数

C因素数

选择正交表,这里选择了L6_2_5。正交表不是随便选择的,而是设计好的

4、生成测试用例

思路:因素取值为填写时:正交安区直个数为5-3-2-1进行排列,实验次数不用取值为填写个数为2或3任意组合,但要满足正交的两条性质

正交clos架构的交换机_正交clos架构的交换机_02


5、增补测试用例

姓名、邮箱、确认密码、验证码都不填写

实际工作中这样的做法不常见,科学实验性更需要
实际中可能会看代码或者想象可能的代码来减少用例