假设你想测试一家奶茶店的口味,奶茶有 3个变量:
-
茶底:红茶、绿茶、乌龙茶
-
甜度:全糖、半糖、无糖
-
加料:珍珠、椰果、布丁
如果全组合测试,一共要喝 3×3×3=27杯奶茶!
但正交实验法的核心是:用最少的测试组合,覆盖最多的可能性。比如选9杯奶茶,就能覆盖所有因素的典型组合!
正交实验法怎么做?
-
列出所有影响因素(变量):茶底、甜度、加料。
-
设计正交表:一张表格,每一行代表一种组合,每一列代表一个因素。
测试组合 茶底 甜度 加料 1 红茶 全糖 珍珠 2 红茶 半糖 椰果 3 红茶 无糖 布丁 4 绿茶 全糖 椰果 5 绿茶 半糖 布丁 6 绿茶 无糖 珍珠 7 乌龙 全糖 布丁 8 乌龙 半糖 珍珠 9 乌龙 无糖 椰果 -
测试这9种组合,就能发现大部分问题(比如乌龙茶+无糖+椰果是否难喝),而不需要喝27杯!
为什么有效?
-
覆盖性强:每个因素的每个值都和其他因素的值搭配过。
-
例如:红茶、绿茶、乌龙茶都分别搭配过全糖、半糖、无糖。
-
-
效率高:用少量测试覆盖大部分可能性,省时省力!
生活中的类比
比如你买衣服,想测试 颜色(红、蓝、绿) + 尺码(S、M、L) + 材质(棉、涤纶),如果全组合买18件,钱包直接破产。但用正交实验法选6件,就能试出大部分搭配效果!
适用场景
-
参数多:比如测试网页兼容性(浏览器、操作系统、分辨率)。
-
组合爆炸:全量测试成本太高时。
-
快速验证:初期测试需要快速定位问题。
一句话总结
正交实验法就是:用最少的测试组合,覆盖最多的变量搭配,找到隐藏的Bug!
(就像用9杯奶茶尝遍所有可能的味道,而不是喝到撑死 😂)