因果法设计用例太多怎么办?
正交法的目的就是为了减少测试用例数目,用尽量少的用例覆盖输入的两两组合
正交试验设计(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、水平:填写、不填写
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任意组合,但要满足正交的两条性质
5、增补测试用例
姓名、邮箱、确认密码、验证码都不填写
实际工作中这样的做法不常见,科学实验性更需要
实际中可能会看代码或者想象可能的代码来减少用例