20用户角色40权限的网站测试:正交数组选择及适配咨询
针对权限测试场景的正交数组问题解答
1. 20水平(用户角色)+40水平(权限)双因素场景的贴合正交数组
你的场景属于双因子混合水平测试:因子A(用户角色)20水平,因子B(权限)40水平,核心是覆盖两者的交互关系。最贴合的是混合水平正交数组 OA(40, 2, {20,40}, 2):
- 数组规模为40行(测试用例数),恰好是两个水平数的最小公倍数(40是20的倍数)。
- 每个用户角色(20个)会与2项不同的权限组合,每个权限(40个)会与1个角色组合,保证所有角色和权限的交互被均匀覆盖,同时用最少的用例数完成双因素的正交测试。
如果需要更全面的覆盖(比如每个角色与更多权限组合),也可以选用OA(80, 2, {20,40}, 2),此时每个角色对应4个权限,每个权限对应2个角色,测试用例数翻倍,但覆盖更充分。
2. 数组与场景不完全匹配时,剔除不适用值的方法
当正交数组中存在业务上无效的(角色-权限)组合时,按以下步骤处理:
- 先定义无效规则:梳理业务逻辑,明确哪些角色绝对不可能拥有某类权限(比如普通用户无法操作管理员后台权限),整理成无效组合列表。
- 筛选有效用例:遍历正交数组的每一行,检查对应的角色和权限是否属于无效组合,直接剔除这些行。
- 补全覆盖缺口:剔除后统计剩余用例中各角色、权限的出现次数,如果存在某个角色/权限覆盖次数为0,或者核心交互场景未覆盖,补充对应的测试用例。
- 校验均匀性:确保剩余用例中,各角色、权限的出现次数尽量均衡,避免某类场景过度测试或遗漏关键交互。
3. 能否适配40个因素各3水平的L81正交数组
不建议适配这个L81数组,原因如下:
- L81是针对40个3水平因子设计的正交数组,而你的场景只有2个大水平因子(20、40水平),两者的因子数量、水平数完全不匹配。
- 强行适配需要将20个角色、40个权限拆分成多个3水平的虚拟因子,但20和40都不是3的整数倍,会产生大量无效的虚拟水平,导致测试用例冗余、效率极低。
- 即使忽略多因子特性直接采样,也无法保证你的双因素场景的正交覆盖,完全浪费了L81的设计优势。
内容的提问来源于stack exchange,提问作者arung
相关产品推荐
相关产品推荐

