51Testing软件测试论坛

标题: 关于正交试验设计测试用例 [打印本页]

作者: shoulamon    时间: 2007-8-22 16:57
标题: 关于正交试验设计测试用例
今天看了一些正交试验设计的问题,发现有许多地方非常迷惑,请看如下例子:

例:对某人进行查询
1、假设查询某个人时有三个查询条件:
根据“姓名”进行查询
根据“身份证号码”查询
根据“手机号码”查询
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计

2、因素数和水平数
有三个因素:
姓名、身份证号、手机号码
每个因素有两个水平
姓名:填、不填
身份证号:填、不填
手机号码:填、不填

3、选择正交表
表中的因素数>=3
表中至少有三个因素的水平数>=2
行数取最少的一个结果:  


4、变量映射
姓名:0....填写,1....不填写
身份证号:0....填写,1....不填写
手机号码:0....填写,1....不填写

5、用L4(23) 设计的测试用例
测试用例如下:
1:填写姓名、填写身份证号、填写手机号
2:填写姓名、不填身份证号、不填手机号
3:不填姓名、填写身份证号、不填手机号
4:不填姓名、不填身份证号、填写手机号
增补测试用例
5:不填姓名、不填身份证号、不填手机号
测试用例减少数:8     5

我想问一下这个例子中L4(23)的正交表是如何取得的?还有在步骤3中的三条过程应该如何理解。谢谢大家!

[ 本帖最后由 shoulamon 于 2007-8-23 09:21 编辑 ]
作者: zhawhz    时间: 2007-8-22 22:27
查正交表的网址:http://www.york.ac.uk/depts/maths/tables/orthogonal.htm
作者: shoulamon    时间: 2007-8-23 09:18
谢谢楼上的资料,不过并没有回答我的问题,我想知道为什么在这个例子中会取到L4(23)正交表,是通过什么判断方法来得到最后正交表的行数为4?

另外在第3个步骤中“因素数>=3”没有问题,而“表中至少有三个因素的水平数>=2”和“行数取最少的一个结果”是什么意思?这是选择正交表的依据吗?如果是依据希望有达人能给予解释,谢谢了!

[ 本帖最后由 shoulamon 于 2007-8-23 09:20 编辑 ]
作者: regwizh    时间: 2007-10-16 17:43
我也想知道它来的原因,不能什么都拿来用,那样以后遇到不规则的怎么办?忍着?还是找差不多的往上靠?期望有解答。
作者: leetutu    时间: 2007-10-17 16:30
先声明版主看的这个结果是正确的,只是表述的不是很清楚。

正交试验法,是一种成对测试交互的系统的统计方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。可以从大量的试验点中挑出适量的、有代表性的点,利用“正交表”,合理的安排试验的一种科学的试验设计方法。
        一些概念:
        指标:通常把判断试验结果优劣的标准叫做试验的指标;
        因子:所有影响试验指标的条件;
        因子的状态:影响试验因子的,叫做因子的状态。
正交试验法的步骤:
第一,提取功能说明,按照下表构造因子—状态表;
        因子1        因子2        …        因子n
状态1                               
状态2                               
…                               
状态3                               
第二,利用正交表构造测试数据集;
作出布尔图,根据布尔图查找最接近的相应介数的正交表,依照布尔图上跟结点到子结点的顺序,替换正交表的中间结点,得到最终的正交表;
第三,正交表的每行数据构造测试用例。
就拿上面的例子来说:
1、对某人进行查询 ,假设查询某个人时有三个查询条件:
根据“姓名”进行查询
根据“身份证号码”查询
根据“手机号码”查询
2、因子状态表:
状态/因子        姓名        身份证号码               手机号码
1)         填            填                  填
2)        不填           不填                  不填
根据状态表可以看出,测试对象是三因子(姓名、身份证号码、手机号码),2状态(填、不填)。然后我们就来选择合适的正交表了。所以采用3因子2状态正交表比较合适。查到3因子2状态正交表如下:

状态/因子        1           2             3
1                               0           0            0
2                               1           0            1
3                               0           1            1
4                               1           1            0

3、接下来我们转换下。
状态/因子        1               2             3
1                              填              填           填
2                              不填          填           不填
3                              填              不填       不填
4                              不填          不填        填

4、最后他加了一个错误猜测。将三项都不填的用例补上了。
作者: leetutu    时间: 2007-10-17 16:32
正交表是一整套规则的设计表格,用L为正交表的代号,n为试验的次数,t为水平数,c为列数,也就是可能安排最多的因素个数。你说的L4(23),它表示需作4次实验,最多可观察3个因素,每个因素均为2水平。
作者: icive    时间: 2007-10-18 14:48
正交表的测试需要设计到哪些方面呢?
欢迎大侠们赐教
作者: zuishuxideren    时间: 2007-12-18 16:31
请教一下楼上或楼下各位,对于查询来说,水平数应该有三个吧,即:填正确的、不填、填错误的,这怎么用正交法设计呢
作者: davids    时间: 2007-12-21 10:40
我想知道对于不规则的状态因子怎么确定正交表执行的次数呢?
比如有两个因子有两个状态,两个因子取三个状态,一个因子有六个状态的情况是怎么得到L18(3661)这个正交表的呢?
作者: davids    时间: 2007-12-24 10:30
求高手啊~~
作者: qqlulin    时间: 2010-9-26 17:00
因素(变量)的水平数(变量的取值)不相同
假设有一个系统有5个独立的变量(A,B,C,D,E)。变量A和B都有两个取值(A1 、A2和B1、B2)。变量C和D都有三个可能的取值(C1、C2、C3和D1、D2、D3)。变量E有六个可能的取值(E1、E2、E3、E4、E5、E6)。

①因素数和水平数
有五个因素(变量):
A、B、C、D和E
两个因素有两个水平(变量的取值)、两个因素有三个水平,一个因素有六个水平
A:A1、A2
B:B1、B2
C:C1、C2、C3
D:D1、D2、D3
E:E1、E2、E3、E4、E5、E6

②选择正交表
表中的因素数(变量)>=5
表中至少有二个因素的水平数(变量的取值)>=2
至少有另外二个因素的水平数>=3
还至少有另外一个因素的水平数>=6
行数取最少的一个(L49(7^8)、L18(3^6 6^1))
结果:L18(3^6 6^1)

③变量映射
A:1→A1、2→A2
B:1→B1、2→B2
C:1→C1、2→C2、3→C3
D:1→D1、2→D2、3→D3
E:1→E1、2→E2、3→E3、4→E4、5→E5、6→E6

④用L18(3^6 6^1)设计的测试用例
测试用例减少数:216→18
加上一些可疑的情况(设为n个)为18+n,它比原来也少多了。
作者: xieyang702    时间: 2010-12-9 11:19
谢谢,非常棒啊
作者: 黑盒测试    时间: 2016-3-31 16:15
leetutu 发表于 2007-10-17 16:30
先声明版主看的这个结果是正确的,只是表述的不是很清楚。

正交试验法,是一种成对测试交互的系统的统计 ...

我没有理解你的3正交试验,为什么取范围大的,1个不填写都不满足,为什么要留2个不填写的?我为什么理解的是下面这个:
1                              填              填           填
2                              填           填           不填
3                              填             不填       填
4                              不填         填         填




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2