
举个样例:有三个字段,每一个字段能够取三个值,设字段表现为A(A1,A2,A3)、B(B1,B2,B3)、C(C1,C2,C3),能够组成的集合恰好能够表现为一个三维空间图,例如以下图所看到的:
图中的正方体中每一个字段的每一个水平代表的是一个面。共九个面,随意两个字段的水平之间都存在交点,共27(3x3x3)个,这就是笛卡尔积。依照两大特性设计出的正交表如右图所看到的,试验点用⊙表示。我们看到,在9个平面中每一个平面上都恰好有三个点而每一个平面的每行每列都有一个点,并且仅仅有一个点,总共九个点。
这种试验方案。试验点的分布非常均匀。试验次数也不多。
国外有一个站点能查询正交表的结果案例:
配对测试法
配对测试法(Pairwise)是L. L. Thurstone( 1887 – 1955)在1927年首先提出来的。他是美国的一位心理统计学家。
Pairwise是基于数学统计和对传统的正交分析法进行优化后得到的产物。
定义:Most field faults were caused by either incorrect single values or by an interaction of pairs of values.” If that’s generally correct, we ought to focus our testing on the risk of single-mode and double-mode faults. We can get excellent coverage by choosing tests such that 1) each state of each variable is tested, and 2) each variable in each of its states is tested in a pair with every other variable in each of its states. This is called pairwise testing or all-pairs testing.
大概意思是:缺陷往往是由一个参数或两个参数的组合所导致的,那么我们选择比较好的测试组合的原则就是:
1)每一个因子的水平值都能被测试到。
2)随意两个因子的各个水平值组合都能被测试到,这就叫配对测试法。
参看:
Pairwise基于例如以下2个假设:
1. 每一个维度都是正交的。即每一个维度互相都没有交集。
2. 依据数学统计分析。73%的缺陷(单因子是35%,双因子是38%)是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。
因此。pairwise基于覆盖全部2因子的交互作用产生的用例集合性价比最高而产生的。国外也有一份相似的数学统计:
我们通过一个订飞机票的实际样例来看一下,配对测试法是怎样从笛卡尔积中提炼出局部最优解的。
依旧是三个字段的组合,各自是Destination(Canada, Mexico, USA),Class(Coach, Business Class, First Class), Seat Preference(Aisle, Window)。所相应的笛卡尔积共同拥有3x3x2=18中测试组合,例如以下表所看到的。
经过配对测试法筛选后,结果例如以下:
经过筛选以后,我们的测试用例变成了9条。case数量精简了50%。简单总结pairwise的筛选原理就是,发现两两配对在全集中有反复的就去掉当中之中的一个,这样筛选也有副作用,每次筛选完了条数是固定的。可是结果却不尽同样。可是通过上面的介绍我们不难比较出两种算法的差异。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-81263-3.html
还差
王建煊代表了台湾一部分聪明人
赞