一、核心逻辑

当有多个输入字段(比如姓名、邮箱、密码、验证码),每个字段有 “填写 / 不填写” 两种状态,用排列组合会产生 2^5=32 个用例,效率太低。正交法通过 “正交表” 挑选有代表性的组合,用最少的用例覆盖 “两两组合”。

二、为什么用正交法

✅ 正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。

三、补充知识

正交试验设计(Orthogonal experimentaldesign):

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

四、正交表

如图,其含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,
简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3
个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。

五、正交表的构成

因素数、水平数、行数。
因素:对指标的影响条件/存在条件,通常是正交表中的一列。
水平:因素的取值。

六、正交表的性质

• 每一列中,不同的数字出现的次数相等。
• 任意两列中数字的排列方式齐全而且均衡。(每一列每个数字出现的次数是相同的)

七、实战案例

(注册 4 个必填字段:姓名、登录账号、密码、确认密码)

步骤 1:确定 “因素” 和 “水平”

因素:4 个字段(姓名、登录账号、密码、确认密码)

水平:每个字段的状态(填写 = 1,不填写 = 2)

步骤 2:用工具生成正交表(推荐 AllPairs 工具)

使用Excel保证格式正确

姓名登录账号密码密码确认
填写填写填写填写
不填写不填写不填写不填写

在(allpairs.exe)同级文件夹下创建一个txt

将excel内容复制到文本文件,不要有其他操作,直接保存

执行命令:allparis.exe new.txt > wjzczhengjiao.txt,生成正交表。

win+R:

输入cmd:

切换文件夹,输入命令:

生成正交表:

输入文件名时,按Tab键,可以主动补充文件名称,生成正交表时,无提示则成功生成,有则没有成功生成。

查看一下:

生成文件内容较多,我们只关注方框内容:

感觉较乱可以选择复制在excel中查看:

只看绿色框出部分,波浪线~表示可以填写,也可以不填写。

步骤 3:编写并补充遗漏用例

根据生成的正交表编写测试用例。

1.姓名填写,登录账号填写,密码填写,密码确认填写

2.姓名填写,登录账号不填写,密码不填写,密码确认不填写

3.姓名不填写,登录账号填写,密码不填写,密码确认填写

4.姓名不填写,登录账号不填写,密码填写,密码确认不填写

5.姓名填写/不填写,登录账号填写,密码填写/不填写,密码确认不填写(有四个子测试用例)

6.姓名填写/不填写,登录账号不填写,密码填写/不填写,密码确认填写(有四个子测试用例)

补全测试用例比如 “全部不填写” 的场景,正交表可能没覆盖,需要手动补充。

1.姓名填写,登录账号填写,密码填写,密码确认填写

2.姓名填写,登录账号不填写,密码不填写,密码确认不填写

3.姓名不填写,登录账号填写,密码不填写,密码确认填写

4.姓名不填写,登录账号不填写,密码填写,密码确认不填写

5.姓名填写/不填写,登录账号填写,密码填写/不填写,密码确认不填写(有四个子测试用例)

6.姓名填写/不填写,登录账号不填写,密码填写/不填写,密码确认填写(有四个子测试用例)

7.姓名不填写,登录账号不填写,密码不填写,密码确认不填写

注意:使用allparis生成的正交表和预期有出入,但是不影响我们用来设计测试用例。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐