
用正交实验法设计测试用例.docx
13页用正交实验法设计测试用例正交实验法的由来一、正交表的由来拉丁方名称的由来古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个 民族的代表数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方什么是 n 阶拉丁方?用n个不同的拉丁字母排成一个n阶方阵(n<26 ),如果每行的n个字母均不相同,每列的n个字母 均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方每个字母在任一行、任一列中只出现一次什么是正交拉丁方?设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个不同的有序数对,则称为这两个拉丁 方为互相正交的拉丁方,简称正交拉丁方例如:3阶拉丁方ABC ABCB C A 和 CABCAB B CA用数字替代拉丁字母:12 31 2 3(14.)(3.3)2 3 1 和3 12---> (2,3)(3J)⑴2)3 122 3 1(3.2)(1.3)(2.1)二、正交实验法正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性 从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点, 正交试验设计是分式析因设计的主要方法。
是一种高效率、快速、经济的实验设计方法日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表例如作一个三因素三 水平的实验,按全面实验要求,须进行 33=27 种组合的实验,且尚未考虑每一组合的重复数若按 L9(33) 正 交表按排实验,只需作9次,按L18(37)正交表进行18次实验,显然大大减少了工作量因而正交实验设 计在很多领域的研究中已经得到广泛应用利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求 规格说明中得到往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试 带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设 计正交实验设计方法:依据 Galois 理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法类似的方法有:聚类分析方法、因子方法方法等三、 利用正交实验设计测试用例的步骤:(1) 提取功能说明,构造因子--状态表把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。
利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的 操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态对软件需求规格说明中的功能要 求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的 功能要求这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据 确定因子与状态是设计测试用例的关键因此要求尽可能全面的、正确的确定取值,以确保测试用例的设 计作到完整与有效2) 加权筛选,生成因素分析表对因子与状态的选择可按其重要程度分别加权可根据各个因子及状态的作用大小、出现频率的大小以 及测试的需要,确定权值的大小3) 利用正交表构造测试数据集利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节 省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因 素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值四、 正交表的构成行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。
因素数(Factors):正交表中列的个数,即我们要测试的功能点水平数(Levels):任何单个因素能够取得的值的最大个数正交表中的包含的值为从0到数“水平数-1” 或从 1 到“水平数” 即要测试功能点的输入条件正交表的形式:L 行数(水平数因素数)如: L8(27)因数水平值、W-列号 / /鼻 12勺3456行1'1.L11.L/ 121-1'0£*/ /0310.010041.000.01150■1-01-0'1'0&0.L00.L0170011'001S00.101.10五、正交表的正交性整齐可比性在同一张正交表中,每个因素的每个水平出现的次数是完全相同的由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素 水平的干扰因而,能最有效地进行比较和作出展望,容易找到好的试验条件均衡分散性在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的这样就保 证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件用正交实验法设计测试用例以上介绍了正交实验法的由来。
怎么用正交实验法进行用例的设计呢?一、用正交表设计测试用例的步骤(1) 有哪些因素(变量)(2) 每个因素有哪几个水平(变量的取值)(3) 选择一个合适的正交表(4) 把变量的值映射到表中(5) 把每一行的各因素水平的组合做为一个测试用例(6) 加上你认为可疑且没有在表中出现的组合二、如何选择正交表• 考虑因素(变量)的个数• 考虑因素水平(变量的取值)的个数• 考虑正交表的行数• 取行数最少的一个三、 设计测试用例时的三种情况( 1)因素数(变量)、水平数(变量值)相符( 2)因素数不相同( 3)水平数不相同四、 我们来看看第一种情况:( 1)因素数与水平数刚好符合正交表我们举个例子:这是个人信息查询系统中的一个窗口我们可以看到要测试的控件有3 个:姓名、身份证号码、号 码,也就是要考虑的因素有三个;而每个因素里的状态有两个:填与不填选择正交表时分析一下:1、表中的因素数>=3;2、表中至少有 3 个因素数的水平数>=2;3、行数取最少的一个从正交表公式中开始查找,结果为:L4(23)变量映射:r口一「、 列*□号 列行号□□□□行号□H 证 ...T□□R□□埴塡填121a11u」□□R□□埴.L1□a□埴0—填 1--両测试用例如下:1:填写姓名、填写身份证号、填写号2:填写姓名、不填身份证号、不填号3:不填姓名、填写身份证号、不填号4:不填姓名、不填身份证号、填写号增补测试用例5:不填姓名、不填身份证号、不填号从测试用例可以看出:如果按每个因素两个水平数来考虑的话,需要8 个测试用例,而通过正交实验法 进行的测试用例只有5 个,大大减少了测试用例数。
用最小的测试用例集合去获取最大的测试覆盖率2)因素数不相同如果因素数不同的话,可以采用包含的方法,在正交表公式中找到包含该情况的公式,如果有N个符合 条件的公式,那么选取行数最少的公式3)水平数不相同采用包含和组合的方法选取合适的正交表公式正交实验法的又一个例子上面就正交实验法进行了讲解,现在再拿PowerPoint软件打印功能作为例子,希望能为大家更好地理解 给方法的具体应用假设功能描述如下:• 打印范围分:全部、当前幻灯片、给定范围共三种情况;• 打印内容分:幻灯片、讲义、备注页、大纲视图共四种方式;• 打印颜色/灰度分: 颜色、灰度、黑白 共三种设置;• 打印效果分:幻灯片加框和幻灯片不加框两种方式因素状态表:状态/因素A打印范围B打印内容C打印颜色/灰 度D打印效果0全部幻灯片颜色幻灯片加框1当前幻灯片讲义灰度幻灯片不加框2给定范围备注页黑白3大纲视图我们先将中文字转换成字母,便于设计得到:因素状态表:状态/因素ABCD0AlBlClD11A2B2C2D22A3B3C33 B4我们分析一下:被测项目中一共有四个被测对象,每个被测对象的状态都不一样 选择正交表:1、表中的因素数>=42、表中至少有 4 个因素的水平数>=23、行数取最少的一个 最后选中正交表公式:L16(45)正交矩阵为:用字母替代正交矩阵:123451A1B1C1D102A1B2C2D213A1B3C3224A1B43335A2B1C2236A2B2C1327A2B33D118A2B4C3D209A3B1C33110A3B232011A3B3C1D2312A3B4C2D12133B13D22143B2C3D13153B3C230163B4C121我们看到:第一列水平值为 3、第三列水平值为3、第四列水平值3、2都需要由各自的字母替代。
123451A1B1C1D102A1B2C2D213A1B3C3D124A1B4C1D235A2B1C2D136A2B2C1D227A2B3C2D118A2B4C3D209A3B1C3D2110A3B2C3D1011A3B3C1D2312A3B4C2D1213A1B1C1D2214A2B2C3D1315A3B3C2D2016A1B4C1D11第五列去掉没有意义通过分析,由于四个因素里有三个的水平值小于 3,所以从第13 行到16 行的测 试用例可以忽略那么这样的话,就可以有 12 个测试用例了:1、测试用例编号PPT—ST—FUNCTION—PRINT—001测试项目测试powerpoint打印功能测试标题打印PowerPoint文件A全部的幻灯片,有颜色,加框。












