要测试的控件有3个,也就是要考虑的因素有三个:
- 姓名
- 身份证号码
- 手机号码
第二步,每个因素里的状态即水平,有两个:填写与不填。
第三步,选择正交表
- 表中的因素数>=3;
- 表中至少有3个因素数的水平数>=2
- 行数取最少的一个,即试验次数最少的一个
从正交表公式中开始查找,结果为:L4(2^3)
然后,我们可以通过工具或者自行绘制正交表(把状态水平1作为“填写”,2作为“不填”)。最后得出实验表格:
第四步,编写测试用例
Case1:填写姓名、填写身份证号、填写手机号
Case2:填写姓名、不填身份证号、不填手机号
Case3:不填姓名、填写身份证号、不填手机号
Case4:不填姓名、不填身份证号、填写手机号
增补测试用例
Case5:不填姓名、不填身份证号、不填手机号
测试用例可以看出:如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。
特别说明:
①并不是我们想要什么正交表就有什么正交表,有的正交表是没有被设计出来的,我们选取正交表时只能从现有的正交表中进行选择,而且选择的正交表要满足上述中的因素数和因素水平,在这个前提下选择试验次数最少的一个。
②实际设计用例时,小酋并不会借助工具和正交表;而会根据等价划分、边界值分析、场景法、实际使用分析等综合方法去“实验”得出正交表的构成。我认为这才是正交中“实验”的精髓。