精华内容
下载资源
问答
  • 常用正交表,包含L4(23)、L8(27)、L12(211)、L9(34)、L16(45)、L25(56)、L8(4×24)、L12(3×24)、L16(44×23)
  • 这是用于使用正交表生成实验设计的MATLAB代码。 请注意: 这不是完整的正交设计表,仅考虑所有因素具有相同水平的情况。 仅考虑级别编号{2,3,4,5,7,8,9}。 设计总数为N = level_num ^ strength_num,对于工程问题而...
  • 常用正交表及工具

    2018-11-19 19:37:35
    这里包括常用的正交表正交表工具,供大家参考 。如有侵权,请联系删除。
  • 常用正交表对照图

    2018-01-25 10:01:50
    常用正交表对照图 常用正交表对照图
  • 正交表方法设计测试用例;正交试验法设计测试用例的步骤;要因表注意事项一;要因表注意事项二;正交表选择与映射(一;正交表选择与映射(二;正交表选择与映射(三;正交表选择与映射(四;正交表选择与映射(五;正交表选择与...
  • 常用正交表

    2017-12-11 10:21:43
    测试用例常用的正交表,包括L4(23),L8(27),L12(211),L9(34),L16(45)
  • 正交表

    千次阅读 2020-01-02 17:38:56
    第一章正交表的概念 §1-1引子 在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就...

    第一章         正交表的概念
    §1-1引子

      在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。

    例如,假设某个实验的结果由A,B,C,D四个因素的取值决定,每个因素都有10个不同的取值,那么如果想把每个取值都考虑到的话,我们需要做 10*10*10*10=10000次实验。

    为了减少实验数目,我们必须选出那些最有代表性的例子。于是,就要用到了正交表法(Orthogonal Array Testing Strategy)。

    正交表是一种筛选实验用例的方法。在介绍其具体内容前,我们先引入几个基本概念。

    ⑴因素个数Factors,以后在本文中用F代替,一个因素就对应着正交表中的一列。

    ⑵水平数Levels,以后简写为L。他的含义就是每个因素可取值的个数,注意这里我们不关心每个具体的值是多少,关心的是其个数。

    变量的具体取值我们称做水平值,在与水平数不发生混淆的情况下,简称水平,用变量名+编号表示。比如,一个因素A可能有三个水平,则可记为A1,A2,A3.

    ⑶强度Strength,以后简写为S:强度是构造正交表的一个最重要的指标,正交表的核心性质就是a:z在正交表中后S个因素的每个水平值要相互碰一次且只碰一次。b:任给两条正交表中的记录,它俩不存在完全相同的S列。c、正交表的记录数等于最后S列的水平数的乘积。

    强度具体取多少由实验者决定.给定了强度S以后,最终的正交表记录数就是最后S列的水平数的乘积。

    ⑷次数(Runs):最后生成的正交表的记录数,一条(行)记录也就是一次实验。

    ⑸正交表的符号表示:先以字母L打头,下标r表示记录数,

    括号中为具有相同水平数的因子数的项的连乘积。

    Lr(Levelsfactors×Levelsfactors×…×Levelsfactors)

    给几个具体例子,

    ⑴设有3个因素A,B,C,每个因素的水平数均为3时,生成的正交表为L27(33)(取强度等于3的情况),记录数27=3*3*3

     ⑵设有5因素,每个因素的水平数分别2,2,2,3,3时,不同强度S的生成正交表分别为

    s=2时,结果为L9(23×32),记录数为最后两个变量的水平数乘积3*3=9

    s=3时,结果为L18(23×32),记录数为最后三个变量的水平数乘积2*3*3=18。

     §1-2手工构造正交表

    看一个具体例子:设有4个变量A,B,C,D,前三个变量的水平数为3,最后一个变量的水平数为4,那么,根据不同的强度,可得到不同的正交表。

    强度s=2时,得到的原始正交表L12(33×4)如下所示:

    记录号  A    B    C   D

    1 :    1      1      1      1

    2 :    1      2      2      2

    3 :    1      3      3      3

    4 :    2      1      2      3

    5 :    2      2      1      4

    6 :    3      1      3      2

    7 :    3      3      2      1

    8 :    0      2      3      1

    9 :    0      3      1      2

    10 :   0      0      1      3

    11 :   0      0      2      4

    12 :   0      0      3      4

    可以看出C的每个水平值与D的每个水平值各碰一次且仅碰一次。而A、B的每个水平出现的次数也很均匀。并且任何在相同位置的两列组成的有序数对没有重复值。

    上面这个表的具体构造过程是:

    1、首先要算出4个因素的所有水平值的笛卡尔积,也就是把所有因素的水平值都互相碰一遍,这样一共是3*3*3*4=108条记录。

    我们用编号“1111”、“1112”、“1113”、“1114”、“1121”.....“3334”来代表这108条记录。每一位上的数字代表该列因素所取的水平值。

    2、现在从这128记录中过滤出符合S维正交性的记录(预先透漏。符合条件的记录数要比12少,呵呵)。下面就是过滤的具体过程:

    3、将第一条记录“1111”写到正交表中。

    4、考察笛卡尔积中的第二条记录“1112”,注意正交表的核心属性之一就是:正交表的任意两条记录不能有S列完全相同。而1112的前两列是"11",与第一条的记录前两列"11"重复,所以要把1112淘汰掉,同理,所有以"11"开头的记录都要被淘汰掉。

    5、考虑以"12"开头的第一条记录"1211",这个记录的最后两列是"11",与第一列的最后两列重复。也要被淘汰。

    6、类似的,所有含有字符串"11XX","1X1X","X11X","XX11","X1X1","1XX1"(X代表该列的任意水平值)的记录都要被淘汰掉,因为他们都和第一行的记录有2列是重复的。

    7、经过上面的过滤,可以得到正交表的第二条记录是"1222",这个字符串的任何两列都与第一行的"1111"的对应两列不完全相同。

    8、同样的,正交表的第三条记录要和前两条记录的任何两列都没有重复值,根据这个原则,"1223"(与第二条记录的有相同的前两列)、"1311"(与第一条记录有相同的后两列)等都要被淘汰掉。

    第三条记录应该是“1333”。第4条记录到第7条记录的选拔过程与之类似。

    9、到记录"3321"为止,我们从4因素笛卡尔积的108记录里得到了7条记录符合正交性。

    10、读者可以自行验证:从记录"3322"起到"3334"止,再没有符合正交性的记录,而题意要求得到12条记录,那么剩下的5条记录是怎么得到的呢?请继续往下看。

    11、现在考虑后三个因素构成的笛卡尔积,这个笛卡尔积有3*3*4=36条记录,用编号

    “0111”到“0334”表示(注意这里是考虑后三列,所以第一列用0填充了),现在继续从这36条记录中记录选取符合S维正交性的记录,那么与前面的过程4-8类似,我们可以看到“0111”到“0224”都不符合正交性,而“0231”和正交表的前7条记录没有重复的2列,所以把"0231"作为第8条记录,

    12、请读者自行验证,过滤出了“0231”,"0312"两条记录后,后三列的笛卡尔积中再没有正交性的记录了。

    13、现在遍历后两列组成的笛卡尔积,用编号"0011"到"0034"表示,在这个笛卡尔积的3*4=12条记录中,恰好有3条记录“0013”“0024”“0034”与前面各行都没有重复的两列。

    至此,原始正交表的12条记录全部构造完毕。

    为了保持取值的均匀性,我们用因素的水平值循环填充为0的项。要求填充之后同一因素的每个水平值的出现次数基本相等,最多相差一次。因此,填充的原则是:填充时优先选取本列中出现次数最少的水平值,如果次数一样,则选择编号最小的那个水平值。

    得到最终的正交表为

          A      B     C     D

     1 :    1      1      1      1

    2 :    1      2      2      2

    3 :    1      3      3      3

    4 :    2      1      2      3

    5 :    2      2      1      4

    6 :    3      1      3      2

    7 :    3      3      2      1

    8 :    2      2      3      1

    9 :    3      3      1      2

    10 :   1      1      1      3

    11 :   2      2      2      4

    12 :   3      3      3      4

    红色数字就是我们用水平值循环填充后的结果。

    类似的我们可以得到强度为3的正交表L36(33×4),

    记录数为4*3*3=36.

         A     B     C    D

    1 :    1      1      1      1

    2 :    1      1      2      2

    3 :    1      1      3      3

    4 :    1      2      1      2

    5 :    1      2      2      1

    6 :    1      2      3      4

    7 :    1      3      1      3

    8 :    1      3      2      4

    9 :    1      3      3      1

    10 :   2      1      1      2

    11 :   2      1      2      1

    12 :   2      1      3      4

    13 :   2      2      1      1

    14 :   2      2      2      2

    15 :   2      2      3      3

    16 :   2      3      1      4

    17 :   2      3      2      3

    18 :   2      3      3      2

    19 :   3      1      1      3

    20 :   3      1      2      4

    21 :   3      1      3      1

    22 :   3      2      1      4

    23 :   3      2      2      3

    24 :   3      2      3      2

    25 :   3      3      1      1

    26 :   3      3      2      2

    27 :   3      3      3      3

    28 :   0      1      1      4

    29 :   0      1      2      3

    30 :   0      1      3      2

    31 :   0      2      1      3

    32 :   0      2      2      4

    33 :   0      2      3      1

    34 :   0      3      1      2

    35 :   0      3      2      1

    36 :   0      3      3      4

    读者可自行填充其中的0项,得到最后的结果

     

    $1-3正交表的基本数学性质

     设正交表的强度为S,则正交表有以下数学性质

    1、         正交性:从上面的构造过程中可以看出,正交性具体体现在:

    ⑴在最后S列中,每列因素的一个水平值与其他列中的每个水平值相碰一次且只碰一次。换句话说,最后S列构成的子表是满的。因此,正交表的记录个数=最后S列的水平数的乘积。

    ⑵在从正交表中任取S列,得到一个子集,该子集中没有完全相同的记录(即正交表任何两条记录都不能有完全相同的S列)。这是构造正交表的核心原则。

    (3)构造正交表时,我们要依次遍历:所有N列构成的笛卡尔积、右边N-1列构成的笛卡尔积、右边N-2列构成的笛卡尔积、一直遍历到右边S列构成的笛卡尔积,每次都要对笛卡尔积中的每条记录进行检查,看看它与正交表中的某条已有记录是否有S列完全相同,是的话就淘汰掉。所以检查的核心算法是:

    设X为笛卡尔积中的待检查记录,Y为正交表中的已有记录。设定一个记数器C=0,

    将X与Y按位比较,当X与Y的某列相等时,计数器加1.

    当计数器C的值大于等于强度S时,X被淘汰;如果X与Y的各位均比较完后,C<S,则将X加入正交表中。

    2、 均匀性:每个因素的水平值在表中的出现的次数是基本均匀的,对最后S列中的每一列,每个水平值出现的次数相等。
    ————————————————
    版权声明:本文为CSDN博主「laomai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/laomai/article/details/1929302

    展开全文
  • 正交表大全

    2015-03-11 11:37:17
    正交测试所需要的用表,正交表大全
  • 正交表综合练习1.xlsx

    2020-11-14 11:32:59
    假设一一个Web站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览: 1. WEB浏览器: IE、 Chrome、 Firefox 2.插件:无、 ActiveX, Flashplayer ...用正交试验法进行测试用例设计。
  • 常用的正交表

    2018-12-06 22:16:30
    正交表是正交实验进行时的实验安排规划,对于正交优化实验十分有用
  • 方差分析的优点在于能使总平方和分解为因素、交互作用、误差的平方和,而对许多正交表来说,这种分解可以固定到每一列上.也就是说,总平方和等于各列平方和之和:一个因素安排在某列,则这个因素的平方和就等于这一列的...
  • 常用正交表以及混合正交表的使用。 正交表可直接复制表格。 混合正交表:水平数不同,因素(变量)的水平数(变量的取值)不相同。 例子: 体重 身高 性别 200斤以上 160以下 男 150~200 160...

    常用正交表以及混合正交表的使用。

    正交表可直接复制表格。

    混合正交表:水平数不同,因素(变量)的水平数(变量的取值)不相同。

    例子:

    体重身高性别
    200斤以上160以下
    150~200160~170
    120~150170~185 
    90~120185以上 
    90以下  

    使用正交表生成工具allpairs

    步骤:

    1.制作取值表,就是上面的表格。

    2.复制表格中的数据,放到文本文档中保存(不要更改文本文档中的格式)命名为mix.txt。(这个文档名大家随便起)

    3.把mix.txt文档放在allpairs文件夹中

    4.win+r后输入cmd进入控制台

    5.找到你电脑中allpairs所在的文件夹。输入命令 allpairs.ext  mix.txt>mix1.txt   (mix1.txt也是根据自己需要起名)

    6.打开allpairs文件夹,就能看到mix1.txt了,打开把里面的内容复制到表格中

    表格中展示的样子

    TEST CASES    
    case体重身高性别pairings
    1200斤以上160以下3
    2200斤以上160~1703
    3150~200160以下3
    4150~200160~1703
    5120~150170~1853
    6120~150185以上3
    790~120170~1853
    890~120185以上3
    990以下160以下2
    1090以下160~1702
    11200斤以上170~185~男1
    12200斤以上185以上~女1
    13150~200170~185~女1
    14150~200185以上~男1
    15120~150160以下~女1
    16120~150160~170~男1
    1790~120160以下~男1
    1890~120160~170~女1
    1990以下170~185~男1
    2090以下185以上~女1

     

    PAIRING DETAILS     
    var1var2value1value2appearancescases
    体重身高200斤以上160以下11
    体重身高200斤以上160~17012
    体重身高200斤以上170~185111
    体重身高200斤以上185以上112
    体重身高150~200160以下13
    体重身高150~200160~17014
    体重身高150~200170~185113
    体重身高150~200185以上114
    体重身高120~150160以下115
    体重身高120~150160~170116
    体重身高120~150170~18515
    体重身高120~150185以上16
    体重身高90~120160以下117
    体重身高90~120160~170118
    体重身高90~120170~18517
    体重身高90~120185以上18
    体重身高90以下160以下19
    体重身高90以下160~170110
    体重身高90以下170~185119
    体重身高90以下185以上120
    体重性别200斤以上21, 11
    体重性别200斤以上22, 12
    体重性别150~20024, 14
    体重性别150~20023, 13
    体重性别120~15025, 16
    体重性别120~15026, 15
    体重性别90~12028, 17
    体重性别90~12027, 18
    体重性别90以下29, 19
    体重性别90以下210, 20
    身高性别160以下31, 9, 17
    身高性别160以下23, 15
    身高性别160~17024, 16
    身高性别160~17032, 10, 18
    身高性别170~18535, 11, 19
    身高性别170~18527, 13
    身高性别185以上28, 14
    身高性别185以上36, 12, 20

    4行3因素2水平

    (1)

    列号

    1

    2

    3

    试验号

    1

    1

    1

    1

    2

    1

    2

    2

    3

    2

    1

    2

    4

    2

    2

    1


    8行7因素2水平

     


    (2)

    列号

    1

    2

    3

    4

    5

    6

    7

    试验号

    1

    1

    1

    1

    1

    1

    1

    1

    2

    1

    1

    1

    2

    2

    2

    2

    3

    1

    2

    2

    1

    1

    2

    2

    4

    1

    2

    2

    2

    2

    1

    1

    5

    2

    1

    2

    1

    2

    1

    2

    6

    2

    1

    2

    2

    1

    2

    1

    7

    2

    2

    1

    1

    2

    2

    1

    8

    2

    2

    1

    2

    1

    1

    2

    12行11因素2水平

    (3)

    列号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    试验号

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    2

    1

    1

    1

    1

    1

    2

    2

    2

    2

    2

    2

    3

    1

    1

    2

    2

    2

    1

    1

    1

    2

    2

    2

    4

    1

    2

    1

    2

    2

    1

    2

    2

    1

    1

    2

    5

    1

    2

    2

    1

    2

    2

    1

    2

    1

    2

    1

    6

    1

    2

    2

    2

    1

    2

    2

    1

    2

    1

    1

    7

    2

    1

    2

    2

    1

    1

    2

    2

    1

    2

    1

    8

    2

    1

    2

    1

    2

    2

    2

    1

    1

    1

    2

    9

    2

    1

    1

    2

    2

    2

    1

    2

    2

    1

    1

    10

    2

    2

    2

    1

    1

    1

    1

    2

    2

    1

    2

    11

    2

    2

    1

    2

    1

    2

    1

    1

    1

    2

    2

    12

    2

    2

    1

    1

    2

    1

    2

    1

    2

    2

    1

     

    9行3因素3水平

    (4)

    列号

    1

    2

    3

    试验号

    1

    1

    1

    1

    2

    1

    2

    2

    3

    1

    3

    3

    4

    2

    1

    2

    5

    2

    2

    3

    6

    2

    3

    1

    7

    3

    1

    3

    8

    3

    2

    1

    9

    3

    3

    2

     

    9行4因素3水平

    (5)

    列号

    1

    2

    3

    4

    试验号

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    3

    1

    3

    3

    3

    4

    2

    1

    2

    3

    5

    2

    2

    3

    1

    6

    2

    3

    1

    2

    7

    3

    1

    3

    2

    8

    3

    2

    1

    3

    9

    3

    3

    2

    1

     

    9行5因素3水平

    (6)

    列号

    1

    2

    3

    4

    5

    试验号

    1

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    2

    3

    1

    3

    3

    3

    3

    4

    2

    1

    2

    3

    3

    5

    2

    2

    3

    1

    2

    6

    2

    3

    1

    2

    1

    7

    3

    1

    3

    2

    1

    8

    3

    2

    1

    3

    3

    9

    3

    3

    2

    1

    2

     

    16行3因素4水平

    (7)

    列号

    1

    2

    3

    试验号

    1

    1

    1

    1

    2

    1

    2

    2

    3

    1

    3

    3

    4

    1

    4

    4

    5

    2

    1

    2

    6

    2

    2

    1

    7

    2

    3

    4

    8

    2

    4

    3

    9

    3

    1

    3

    10

    3

    2

    4

    11

    3

    3

    1

    12

    3

    4

    2

    13

    4

    1

    4

    14

    4

    2

    3

    15

    4

    3

    2

    16

    4

    4

    1

     

    16行4因素4水平

    (8)

    列号

    1

    2

    3

    4

    试验号

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    3

    1

    3

    3

    3

    4

    1

    4

    4

    4

    5

    2

    1

    2

    3

    6

    2

    2

    1

    4

    7

    2

    3

    4

    1

    8

    2

    4

    3

    2

    9

    3

    1

    3

    4

    10

    3

    2

    4

    3

    11

    3

    3

    1

    2

    12

    3

    4

    2

    1

    13

    4

    1

    4

    2

    14

    4

    2

    3

    1

    15

    4

    3

    2

    4

    16

    4

    4

    1

    3

     

    16行5因素4水平

    (9)

    列号

    1

    2

    3

    4

    5

    试验号

    1

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    2

    3

    1

    3

    3

    3

    3

    4

    1

    4

    4

    4

    4

    5

    2

    1

    2

    3

    4

    6

    2

    2

    1

    4

    3

    7

    2

    3

    4

    1

    2

    8

    2

    4

    3

    2

    1

    9

    3

    1

    3

    4

    2

    10

    3

    2

    4

    3

    1

    11

    3

    3

    1

    2

    4

    12

    3

    4

    2

    1

    3

    13

    4

    1

    4

    2

    3

    14

    4

    2

    3

    1

    4

    15

    4

    3

    2

    4

    1

    16

    4

    4

    1

    3

    2

     

    25行6因素5水平

    (10)

    列号

    1

    2

    3

    4

    5

    6

    试验号

    1

    1

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    2

    2

    3

    1

    3

    3

    3

    3

    3

    4

    1

    4

    4

    4

    4

    4

    5

    1

    5

    5

    5

    5

    5

    6

    2

    1

    2

    3

    4

    5

    7

    2

    2

    3

    4

    5

    1

    8

    2

    3

    4

    5

    1

    2

    9

    2

    4

    5

    1

    2

    3

    10

    2

    5

    1

    2

    3

    4

    11

    3

    1

    3

    5

    2

    4

    12

    3

    2

    4

    1

    3

    5

    13

    3

    3

    5

    2

    4

    1

    14

    3

    4

    1

    3

    5

    2

    15

    3

    5

    2

    4

    1

    3

    16

    4

    1

    4

    2

    5

    3

    17

    4

    2

    5

    3

    1

    4

    18

    4

    3

    1

    4

    2

    5

    19

    4

    4

    2

    5

    3

    1

    20

    4

    5

    3

    1

    4

    2

    21

    5

    1

    5

    4

    3

    2

    22

    5

    2

    1

    5

    4

    3

    23

    5

    3

    2

    1

    5

    4

    24

    5

    4

    3

    2

    1

    5

    25

    5

    5

    4

    3

    2

    1

     

    64行9因素8水平

    (11)

     

     

     列号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    试验号

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    2

    1

    2

    2

    2

    2

    2

    2

    2

    2

    3

    1

    3

    3

    3

    3

    3

    3

    3

    3

    4

    1

    4

    4

    4

    4

    4

    4

    4

    4

    5

    1

    5

    5

    5

    5

    5

    5

    5

    5

    6

    1

    6

    6

    6

    6

    6

    6

    6

    6

    7

    1

    7

    7

    7

    7

    7

    7

    7

    7

    8

    1

    8

    8

    8

    8

    8

    8

    8

    8

    9

    2

    1

    2

    3

    4

    5

    6

    7

    8

    10

    2

    2

    1

    4

    3

    6

    5

    8

    7

    11

    2

    3

    4

    1

    2

    7

    8

    5

    6

    12

    2

    4

    3

    2

    1

    8

    7

    6

    5

    13

    2

    5

    6

    7

    8

    1

    2

    3

    4

    14

    2

    6

    5

    8

    7

    2

    1

    4

    3

    15

    2

    7

    8

    5

    6

    3

    4

    1

    2

    16

    2

    8

    7

    6

    5

    4

    3

    2

    1

    17

    3

    1

    3

    6

    8

    2

    4

    5

    7

    18

    3

    2

    4

    5

    7

    1

    3

    6

    8

    19

    3

    3

    1

    8

    6

    4

    2

    7

    5

    20

    3

    4

    2

    7

    5

    3

    1

    8

    6

    21

    3

    5

    7

    2

    4

    6

    8

    1

    3

    22

    3

    6

    8

    1

    3

    5

    7

    2

    4

    23

    3

    7

    5

    4

    2

    8

    6

    3

    1

    24

    3

    8

    6

    3

    1

    7

    5

    4

    2

    25

    4

    1

    4

    8

    5

    6

    7

    3

    2

    26

    4

    2

    3

    7

    6

    5

    8

    4

    1

    27

    4

    3

    2

    6

    7

    8

    5

    1

    4

    28

    4

    4

    1

    5

    8

    7

    6

    2

    3

    29

    4

    5

    8

    4

    1

    2

    3

    7

    6

    30

    4

    6

    7

    3

    2

    1

    4

    8

    5

    31

    4

    7

    6

    2

    3

    4

    1

    5

    8

    32

    4

    8

    5

    1

    4

    3

    2

    6

    7

    33

    5

    1

    5

    2

    6

    7

    3

    8

    4

    34

    5

    2

    6

    1

    5

    8

    4

    7

    3

    35

    5

    3

    7

    4

    8

    5

    1

    6

    2

    36

    5

    4

    8

    3

    7

    6

    2

    5

    1

    37

    5

    5

    1

    6

    2

    3

    7

    4

    8

    38

    5

    6

    2

    5

    1

    4

    8

    3

    7

    39

    5

    7

    3

    8

    4

    1

    5

    2

    6

    40

    5

    8

    4

    7

    3

    2

    6

    1

    5

    41

    6

    1

    6

    4

    7

    3

    8

    2

    5

    42

    6

    2

    5

    3

    8

    4

    7

    1

    6

    43

    6

    3

    8

    2

    5

    1

    6

    4

    7

    44

    6

    4

    7

    1

    6

    2

    5

    3

    8

    45

    6

    5

    2

    8

    3

    7

    4

    6

    1

    46

    6

    6

    1

    7

    4

    8

    3

    5

    2

    47

    6

    7

    4

    6

    1

    5

    2

    8

    3

    48

    6

    8

    3

    5

    2

    6

    1

    7

    4

    49

    7

    1

    7

    5

    3

    8

    2

    4

    6

    50

    7

    2

    8

    6

    4

    7

    1

    3

    5

    51

    7

    3

    5

    7

    1

    6

    4

    2

    8

    52

    7

    4

    6

    8

    2

    5

    3

    1

    7

    53

    7

    5

    3

    1

    7

    4

    6

    8

    2

    54

    7

    6

    4

    2

    8

    3

    5

    7

    1

    55

    7

    7

    1

    3

    5

    2

    8

    6

    4

    56

    7

    8

    2

    4

    6

    1

    7

    5

    3

    57

    8

    1

    8

    7

    2

    4

    5

    6

    3

    58

    8

    2

    7

    8

    1

    3

    6

    5

    4

    59

    8

    3

    6

    5

    4

    2

    7

    8

    1

    60

    8

    4

    5

    6

    3

    1

    8

    7

    2

    61

    8

    5

    4

    3

    6

    8

    1

    2

    7

    62

    8

    6

    3

    4

    5

    7

    2

    1

    8

    63

    8

    7

    2

    1

    8

    6

    3

    4

    5

    64

    8

    8

    1

    2

    7

    5

    4

    3

    6

     

     

    展开全文
  • 正交表的构造方法及其应用
  • 常规matlab代码该文件包含一个MATLAB脚本(TFCombinationsCount)和一组辅助函数,这些函数允许用户在给定多个操作符/ TF和一组抑制矩阵的情况下,计算正交转录因子(TF)组合(例如,“使用转录因子和遗传结构”...
  • python正交表运用

    2020-10-25 13:45:48
    1.首先制作一个简单的可视化界面,使用python自带库tkinter,代码如下 ...window.title("正交表") # title() 定义这个窗口的标题 window.geometry("700x600") # geometry() 定义窗口的大小 Label(wi

    1.首先制作一个简单的可视化界面,使用python自带库tkinter,代码如下

    from tkinter.scrolledtext import ScrolledText
    from tkinter import *
    import tkinter as tk
    import os
    
    
    dop=[]
    doom=[]
    window = Tk()
    window.title("正交表()")  # title()  定义这个窗口的标题
    window.geometry("850x600")  # geometry()  定义窗口的大小
    srcLanguage = StringVar()
    srcLanguage.set(',')
    Label(window, text="内分隔符:",font=("隶书", 12)).place(x=680, y=170)
    languages = (',', ' ', ',', '.','。')
    ttk.Combobox(window, values=languages, width=6, textvariable=srcLanguage, state='readonly').place(x=760, y=170)
    Label(window, text="--输入数据--",font=("隶书", 14)).place(x=270, y=1)
    scr = scrolledtext.ScrolledText(window, width=80, height=15, font=("隶书", 12))  # 滚动文本框(宽,高(这里的高应该是以行数为单位),字体样式)
    scr.place(x=15, y=25)  # 滚动文本框在页面的位置
    Label(window, text="--输出结果为--",font=("隶书", 14)).place(x=265, y=270)
    scr1 = scrolledtext.ScrolledText(window, width=80, height=15, font=("隶书", 12))  # 滚动文本框(宽,高(这里的高应该是以行数为单位),字体样式)
    scr1.place(x=15, y=300)  # 滚动文本框在页面的位置
    srcLanguag = StringVar()
    srcLanguag.set(':')
    Label(window, text="项目分隔:",font=("隶书", 12)).place(x=680, y=80)
    language = (':', ';', ';', ':','>','<')
    ttk.Combobox(window, values=language, width=6, textvariable=srcLanguag, state='readonly').place(x=760, y=80)
    button2 = Button(window, text="运 行",bg="green",font=("隶书", 20), command=yunxin)  #按键
    button2.place(x=540, y=560, width=80, height=30)  #按键位置
    button3 = Button(window, text="导 出",bg="yellow",font=("隶书", 20), command=daocu)  #按键
    button3.place(x=290, y=560, width=80, height=30)  #按键位置
    button1 = Button(window, text="删 除",bg="red", font=("隶书", 20), command=cancelMsg)  #anjian
    button1.place(x=40, y=560, width=80, height=30)  #按键位置
    Label(window, text="测试用例",font=("隶书", 13)).place(x=700, y=310)
    Label(window, text="平台:A,B,C",font=("隶书", 11)).place(x=695, y=340)
    Label(window, text="项目:E,F,G",font=("隶书", 11)).place(x=695, y=370)
    Label(window, text="环境:I,J,K",font=("隶书", 11)).place(x=695, y=400)
    Label(window, text="工具:M,N,O",font=("隶书", 11)).place(x=695, y=430)
    Label(window, text="操作提示",font=("隶书", 11)).place(x=705, y=480)
    Label(window, text="列数多的放后面",font=("隶书", 11)).place(x=680, y=510)
    #Label(window, text="列数多的放后面",font=("隶书", 11)).place(x=680, y=540)
    window.mainloop()
    
    

    2.代码实现

    from tkinter.scrolledtext import ScrolledText
    from tkinter import *
    import tkinter as tk
    import os
    from tkinter import ttk
    from tkinter import filedialog
    from tkinter.filedialog import askdirectory # 导入目录操作库
    import tkinter.messagebox          # 弹出消息框
    import tkinter.filedialog          # 导入操作文件的库
    from openpyxl import load_workbook
    import re
    
    
    
    def cancelMsg():          #删除功能
        scr.delete('0.0', END)
        scr1.delete('0.0', END)
    
    
    
    def yunxin():      #运行
     try:
        global dop    #保存最终数据
        global doom
        doom=[]
        dop=[]
        doon = []      #保存正交表
        don = []       #输入数据处理
        counts = dict()   # 字典类型
        if scr.get('0.0', END) != "":      #判定是否为空
            di = scr.get('0.0', END).split("\n")      #进行行分割
            '''
            for jox in di:
                if jox!='':
                    w_x=w_x+1
            '''
            #print(di)
            for i in di:       #进行列分割
              if i !="":
                d=i.split(srcLanguag.get())
                doom.append(d[0])
                dm=d[1].split(srcLanguage.get())
                don.append(dm)
                counts[len(dm)] = counts.get(len(dm), 0) + 1      #字典类型保存
            print(don)        #测试结果输出
            print(counts)     #测试结果输出
            print(len(counts))    #测试结果输出
            #print(counts.keys())
            fo = open("G:\\python\\zhen.txt", "r", encoding='UTF-8')     #打开正交表文件
            m = 0     #开关按钮
            for line in fo.readlines():       #按行输入
                if m==1 and line!="\n":
                    doon.append(line.split("\n")[0])    #保存正交表
                if m == 1 and line == "\n":          #正交表存入完后跳出循环
                    break
                if m==0:        #寻找合适正交表
                  for no in counts.keys():
                    #print(str(no)+'^'+str(counts[no]))
                    if str(no)+'^'+str(counts[no]) in line:
                        print(str(no) + '^' + str(counts[no]))
                        m=1     #开关按钮
                    else:
                        m=0     #开关按钮
                        break   #关闭内部for循环
    
            print(doon)   #测试结果输出
            sox=0
            for i in counts.keys():
                sox=sox+counts[i]
            print(sox)
            for fo in doon:                        #将结果输出到输出框
                np=0
                dp=[]
                sx = 0
                for x in fo:
                    sx = sx + 1
                print(sx)
                jo=0
                while jo<sx:
                    if jo<sx-2*(sx-sox):
                       dp.append(don[np][eval(fo[jo])])
                    else:
                        dp.append(don[np][eval(fo[jo:jo+2])])
                        jo=jo+1
                    #print(jo)
                    jo=jo+1
                    np=np+1
                dop.append(dp)
            print(dop)
            scr1.delete('0.0', END)
            #scr1.insert(END, txtMsg1.get('0.0', END))
            sum1=1
            for jj in dop:
                scr1.insert(END,str(sum1)+':')
                scr1.insert(END,jj)
                scr1.insert(END, "\n")
                sum1=sum1+1
     except:
         oop = Tk()
         oop.title('运行失败')
         screenwidth = oop.winfo_screenwidth()
         screenheight = oop.winfo_screenheight()
         # 设置界面宽度为530,高度为365像素,并且基于屏幕居中
         width = 300
         height = 150
         size = '%dx%d+%d+%d' % (
             width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
         oop.geometry(size)
         label = Label(oop, text="---运行失败,请检查输入---")
         label.grid(row=0, column=1, padx=65, pady=50)
    
    
    def daocu():
     def selectPath():
       try:
         contnt = Entry(op, textvariable=path, width=40).get()
         contnt = contnt.strip()
         #print(contnt)
         path.set(contnt)
         print(path.get())
         work = load_workbook(filename=str(path.get()) + '.xlsx')
         sheet = work.active
         sheet.append(doom)
         for x in dop:
             sheet.append(x)
         work.save(filename=str(path.get()) + '.xlsx')
         op.destroy()
       except:
           oop = Tk()
           oop.title('文件错误')
           screenwidth = oop.winfo_screenwidth()
           screenheight = oop.winfo_screenheight()
           # 设置界面宽度为530,高度为365像素,并且基于屏幕居中
           width = 300
           height = 150
           size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
           oop.geometry(size)
           label = Label(oop, text="---请检查表格是否存在---")
           label.grid(row=0, column=1, padx=65, pady=50)
    
     op = Tk()
     op.title('EXCEL表格名')
     screenwidth = op.winfo_screenwidth()
     screenheight = op.winfo_screenheight()
     width = 420
     height = 120
     size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
     op.geometry(size)
     path = StringVar()
     Label(op, text="-自动退出代表保存成功-").place(x=140, y=27)
     Label(op, text="输入文件名:").place(x=10, y=75)
     m=Entry(op, textvariable=path, width=40)
     m.place(x=90, y=75)
     # 操作按钮
     n=Button(op, text="保存", command=selectPath, bg="green")
     n.place(x=380, y=73)
    
    
    
    
    
    
    
    dop=[]
    doom=[]
    window = Tk()
    window.title("正交表()")  # title()  定义这个窗口的标题
    window.geometry("850x600")  # geometry()  定义窗口的大小
    srcLanguage = StringVar()
    srcLanguage.set(',')
    Label(window, text="内分隔符:",font=("隶书", 12)).place(x=680, y=170)
    languages = (',', ' ', ',', '.','。')
    ttk.Combobox(window, values=languages, width=6, textvariable=srcLanguage, state='readonly').place(x=760, y=170)
    Label(window, text="--输入数据--",font=("隶书", 14)).place(x=270, y=1)
    scr = scrolledtext.ScrolledText(window, width=80, height=15, font=("隶书", 12))  # 滚动文本框(宽,高(这里的高应该是以行数为单位),字体样式)
    scr.place(x=15, y=25)  # 滚动文本框在页面的位置
    Label(window, text="--输出结果为--",font=("隶书", 14)).place(x=265, y=270)
    scr1 = scrolledtext.ScrolledText(window, width=80, height=15, font=("隶书", 12))  # 滚动文本框(宽,高(这里的高应该是以行数为单位),字体样式)
    scr1.place(x=15, y=300)  # 滚动文本框在页面的位置
    srcLanguag = StringVar()
    srcLanguag.set(':')
    Label(window, text="项目分隔:",font=("隶书", 12)).place(x=680, y=80)
    language = (':', ';', ';', ':','>','<')
    ttk.Combobox(window, values=language, width=6, textvariable=srcLanguag, state='readonly').place(x=760, y=80)
    button2 = Button(window, text="运 行",bg="green",font=("隶书", 20), command=yunxin)  #按键
    button2.place(x=540, y=560, width=80, height=30)  #按键位置
    button3 = Button(window, text="导 出",bg="yellow",font=("隶书", 20), command=daocu)  #按键
    button3.place(x=290, y=560, width=80, height=30)  #按键位置
    button1 = Button(window, text="删 除",bg="red", font=("隶书", 20), command=cancelMsg)  #anjian
    button1.place(x=40, y=560, width=80, height=30)  #按键位置
    Label(window, text="测试用例",font=("隶书", 13)).place(x=700, y=310)
    Label(window, text="平台:A,B,C",font=("隶书", 11)).place(x=695, y=340)
    Label(window, text="项目:E,F,G",font=("隶书", 11)).place(x=695, y=370)
    Label(window, text="环境:I,J,K",font=("隶书", 11)).place(x=695, y=400)
    Label(window, text="工具:M,N,O",font=("隶书", 11)).place(x=695, y=430)
    Label(window, text="操作提示",font=("隶书", 11)).place(x=705, y=480)
    Label(window, text="列数多的放后面",font=("隶书", 11)).place(x=680, y=510)
    #Label(window, text="列数多的放后面",font=("隶书", 11)).place(x=680, y=540)
    window.mainloop()
    
    

    运行结果
    在这里插入图片描述

    本人新手,如有bug,还望提醒,我好进一步改良代码,谢谢。

    展开全文
  • 标准正交表与混合正交表的使用

    千次阅读 2019-12-06 11:23:35
    标准正交表与混合正交表的使用 --基于web手工测试用例设计 1.为什么使用正交表 当要测试的内容,需要排列组合的情况非常多的时候,我们要考虑使用科学的方法来减少测试用例的个数,这个方法就是正交表。 2....
    标准正交表与混合正交表的使用

     

    --基于web手工测试用例设计

    1.为什么使用正交表

        当要测试的内容,需要排列组合的情况非常多的时候,我们要考虑使用科学的方法来减少测试用例的个数,这个方法就是正交表。


    2.正交表的特点

         特点:均匀分散、齐整可比(所有情况都应该均匀的被测试过一次)
     

    3. 如何查询正交表

        因素:控件的个数
        水平:控件里面的可选项个数
          1、  先确定几因素,几水平
          2、  在“常用正交表”中找到合适的表格
          3、  复制找到的表格到我们自己的表格中
          4、  自己再写一个对照表(所有的控件和对应的选项列出来)
          5、  把复制过来的表格和对照表实现映射关系,就可以得到最终的正交表(测试用例)
        注意:如果没有找到合适的正交表,要在表格中找到多一些的正交表选用即可,只需要把多余的内容删除。


    4. 标准正交表使用步骤:

    首先需要下载正交设计助手II V3.1专业版:

     

     

    双击打开,点击文件新建工程:




     

    点击新建实验,填写实验名称,选择正交表类型:




     

    选择相应的正交表:




     

    填写相应的因素跟水平,点击确定保存:





     

    最后点击输出,保存为相应的格式。



    5. 标准正交表使用实例

    以shop网站商品为例,设计标准正交表:

     

      
    操作系统
      
      
    合约套餐
      
      
    颜色
      
      
    EMUI3.1
      
      
    乐享4G套餐59元
      
      
    土豪金
      
      
    ios
      
      
    乐享4G套餐79元
      
      
    象牙白
      


     

    输出:



     

    以输出的标准正交表设计测试用例。


    6. 混合正交表的使用

    为什么使用混合正交表?

    如果在工作中找不到正常的正交表,就要使用混合正交表来实现测试用例的编写。


    使用工具及流程

    allpairs工具

    1.        使用excel表格制作对照表(不需要编写)
    2.        复制表格中所有数据放在txt文本文档中(格式千万别动)
    3.        把此txt文档放在allpairs文件夹中。
    4.        Win+r输入cmd打开命令行窗口
    5.        找到工具所在的文件夹(cd具体文件夹路径)
    6.        复制文件名.txt  > 新文件名.txt  输入此行代码,即可生成
    7.        找到最终建立好的txt文件,打开后,复制第一大段内容到excel表格中
    8.        如果遇到‘’或“~~”代表此项可随意选择。


    混合正交表实例
     


     

    生成txt文档,放在allpairs工具中。


     

    根据生成的混合正交表,设计编写测试用例。
    展开全文
  • 正交表测试与混合正交表工具

    千次阅读 2019-05-30 23:09:11
    一、概念 从全面实验中挑选出有代表性的点进行测试(均匀分散、整齐可比);高效率,快速,经济的方法 ...很多情况因素和水平不同,我们在现成的正交表中找不到对应的表格,需使用混合正交表 ...
  • 正交表入门

    千次阅读 2018-05-07 14:40:45
    DOE学习-正交表原文地址: https://blog.csdn.net/laomai/article/details/19293021 .基本概念 在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的...
  • 正交表和软件缺陷

    2019-11-15 14:14:00
    一、正交表 根据正交性从全面试验中挑选出有代表性的点进行测试,点具备均匀分散、整齐可比的特点,是一种高效率、快速、经济的方法 一般正交表记为: n是表的行数,也就是需要测试组合的次数 K是表的列数,表示...
  • 正交表学习笔记

    2019-05-01 14:30:32
    正交表学习笔记
  • 测试用例设计之正交表法详解

    千次阅读 2019-05-13 22:23:00
    正交实验法的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的...
  • 7、正交表

    千次阅读 2019-10-19 21:42:32
    主要介绍正交表的设计
  • 欢迎关注“歌者外加剂”公众号,多多点击“再看”和“分享”且将新火试新茶,诗酒趁年华,技术永不眠上学的时候做化学试验经常会用到正交试验的方法进行验证。老师特别喜欢告诉我们正交试验可以如何如何简化试验次数...
  • 黑盒测试方法--正交分析法.正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法, 它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具 备了“均匀分散,...
  • 测试用例设计之正交表设计

    千次阅读 2019-06-17 18:09:29
    正交表说明 正交表是一种特制的表格,一般用Ln(mk)表示, L代表是正交表,n代表试验次数或正交表的行数, k代表最多可安排影响指标因素的个数或正交表的列数,简称变量, m表示每个因素水平数,简称变量取值 且...
  • 根据取值和控件选择一个合适的正交表(没有符合的正交表,选择同类型正交表,并且优先选择用例多)   n:代表列数 :代表测试用例所有的情况 m:代表取值 k:代表控件  2.列举取值并进行编号,生成取值表 ...
  • 使用正交试验法设计测试用例中的一些常用的正交表正交试验法中的一些常用的正交表软件测试正交试验法的特点就是用最少的用例测试所有两两组合。依据:如果两两组合无问题,更复杂的组合问题也就不大了。正交试验法的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,626
精华内容 12,250
关键字:

正交表