2022年测试用例设计方案技巧正交试验法详解 .pdf
测试用例设计方法-正交实验法详解正交实验法介绍正交实验法是研究多因素、多水平的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面试验,根据正交表的正交性从全面实验中挑选适量的、有代表性的点进行实验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。正交表是一种特制的表格,一般用Ln(mk)表示, L 代表是正交表, n 代表实验次数或正交表的行数,k 代表最多可安排影响指标因素的个数或正交表的列数,m 表示每个因素水平数,且有n=k*(m-1)+1 。正交表的特点正交表具有以下两个特点。正交表必须满足这两个特点,有一条不满足,就不是正交表。每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与实验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较实验结果并找出最优的实验条件。在任意 2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了实验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。使用正交实验法的原因对于单因素或两因素实验,因其因素少,实验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或 3个以上的实验因素,若进行全面实验,实验的规模很大,由于时间和成本的限制我们不可能进行全面实验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷。为了有效的、合理地减少测试的工时与费用,我们利用正交实验法来设计测试用例。正交实验法就是安排多因素实验、寻求最优水平组合的一种高效率的实验设计方法。我们用测试实例来进行说明使用正交实验法设计测试用例的好处。测试需求:某所大学通信系共2个班级,刚考完某一门课程,想通过“ 性别 ” 、“ 班级 ” 和“ 成绩 ” 这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:根据 “ 性别 ” =“ 男,女 ” 进行查询根据 “ 班级 ” =“ 1班, 2班” 查询根据 “ 成绩 ” =“ 及格,不及格 ” 查询按照传统设计全部测试分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页我们称之为水平值,所以全部测试用例个数是2*2*2=8 ,参见下表序号性别班级成绩1女1班及格2女1班不及格3女2班及格4女2班不及格5男1班及格6男1班不及格7男2班及格8男2班不及格利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4,对于三因素两水平的刚好有 L4(23)的正交表可以套用,于是用正交表实验法得出4 个测试用例如下:序号性别班级成绩1女1班及格2女2班不及格3男1班不及格4男2班及格根据实际需要可以在用正交实验法设计用例的基础上补充一些测试用例。4个测试用例与8个测试用例相比测试用例个数是减少了。因素数和水平数越大越能体现用正交表的好处。例如:对于一个四因素且每个因素均为三水平的实验,如果按照全面实验需要进行 3*3*3*3=81 次。但是如果用正交实验法选择L9(34)正交表, n=4*(3-1)+1=9 次实验就可以覆盖。从这点可以说明用正交实验法能有效地、合理地减少测试用例和工时,节约精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页测试成本。正交表的类别及如何查找正交表1.1. 正交表的类别1. 单一水平正交表各列水平数相同的正交表称为等水平正交表。如L4(23)、 L8(27)、 L12(211)等各列中的水平为 2,称为 2水平正交表; L9(34)、 L27(313)等各列水平为3,称为 3水平正交表。表示为: Ln(mk)。2. 混合水平正交表各列水平数不完全相同的正交表称为混合水平正交表。如L8(4124)表中有一列的水平为4,有 4列水平数为 2。也就是说该表可以安排一个4水平因素和 4个2水平因素。再如L16(4423), L16(41212)等都是混合水平正交表。表示为:Ln( m1k1m2k2)。2.2. 如何查找正交表查 Dr. Genichi Taguchi 设计的正交表http:/www.york.ac.uk/depts/maths/tables/orthogonal.htmTechnical Support ( ) comhttp:/ 值对于单一水平正交表Ln(mk),用 n=k*(m-1)+1 公式计算精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 8 页对于混合水平正交表Ln(m1k1m2k2.mxkx) ,用 n=k1*(m1-1)+k2*(m2- 1)+kx*(mx-1)+1 公式计算选择合适的正交表单一水平正交表:如果存在实验次数等于n,并且水平数大于等于m 、因素数大于等于k 的正交表,我们把这个正交表拿过来套用。如果不存在实验次数等于n 的正交表,我们就得找出满足实验次数大于n 的正交表并且水平数大于等于m 、因素数大于等于k。混合水平正交表:如果存在实验次数等于n,并且水平数大于等于max(m1,m2,m3,)、因素数大于等于(k1+k2+k3+ )的正交表,我们把这个正交表拿过来套用。如果不存在实验次数等于n 的正交表,我们就得找出满足实验次数大于n 的正交表并且水平数大于等于max(m1,m2,m3, )、因素数大于等于(k1+k2+k3+ )。当有 2个或 2个以上正交表可以被选择时,选取原则是选实验次数最少的那个正交表。根据正交表把变量的值映射到表中,设计测试用例把变量的值映射到正交表中,每一行的各因素的取值组合作为一个测试用例。用正交表设计测试用例的两种情况:存在实验次数等于n(n=k*(m-1)+1)的正交表案例 1:假设一个网页有3个不同的部分( Top 、Middle 、Bottom),并且每个部分都可以单独显示及隐藏。要测试这三个不同部分的交互。按照前面给出的正交表测试用例设计步骤,用正交实验法设计测试用例。确定因素数和水平数确定有 3 个独立变量且每个变量2个取值: Top(Hidden, Visible), Middle(Hidden, Visible), Bottom(Hidden, Bottom)根据因素数和水平数确定n 值水平数: m=2精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 8 页因素数: k=3Ln(23)n=k*(m-1)+1=3*(2-1)+1=4选择合适的正交表先看看正交表里有没有实验次数=4 的正交表,如果有我们再看看因素数和水平数是不是符合。选择正交表L4(23)变量为三因素,值为二水平,恰好相符。把变量的值映射到表中,并设计测试用例Hidden=0, Visible=1列数TopMiddleBottom1HiddenHiddenHidden2HiddenVisibleVisible3VisibleHiddenVisible4VisibleVisibleHidden把表中每一行转换成测试用例,可以得到4个测试用例如下:1. 隐藏 Top , Middle ,Bottom这三部分2显示除Top 外的其它部分3显示出Middle部分外的其它部分4. 显示除 Bottom部分外的其它部分不存在实验次数等于n(n=k*(m-1)+1)的正交表案例 2:手机照相机的拍摄模式是普通模式,针对对比度(正常,极低,低,高,极高)、色彩效果(无,黑白,棕褐色,负片,水绿色)、感光度(自动,100,200,300,400,800)、白平衡(自动,白炽光,日光,荧光,阴光)、照片大小(5M, 3M, 2M, 1M, VGA )、闪光模式(关,开)各个值用正交实验法设计测试用例。1.确定因素数和水平数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页因素数:对比度,色彩效果,感光度,白平衡,照片大小,闪光模式水平数:对比度:正常、极低、低、高、极高色彩效果:无、黑白、棕褐色、负片、水绿色感光度:自动、100、200、400、 800白平衡:自动、白炽光、日光、荧光、阴光照片大小: 5M 、3M 、2M 、 1M 、VGA闪光模式:开、关2. 根据因素数和水平数确定n 值m1=5, k1=5m2=2, k2=1Ln(5521)n=k1*(m1-1)+k2* (m2-1)+1=5*(5-1)+1*(2-1)+1=20+1+1=223. 选择合适的正交表根据计算得出n=22, 我们先看看有没有实验次数等于22的正交表,实际上不存在n=22的正交表,这个时候我们就得找n 大于 22并且满足m=max(m1=5,m2=2),k=k1+k2=5+1=6的正交表。查到L25(56),L49(78) 都满足当有 2个或 2个以上正交表可以被选择时,选取原则是选实验次数最少的那个正交表,所以我们选L25(56)正交表。123456111111121222223133333414444451555556212345精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页72234518234512924512310251234113135241232413513335241143正交实验法的优缺点正交实验法作为设计测试用例的方法之一,也有其优缺点。优点 :根据正交性从全面试验中挑选出部分有代表性的点进行实验,这些有代表性的特点具备了“ 均匀分散,整齐可比” 的特点。通过使用正交实验法减少了测试用例,合理地减少测试的工时与费用,提高测试用例的有效性。是一种高效率、快速、经济的实验设计方法。缺点 :对每个状态点同等对待,重点不突出,容易造成在用户不常用的功能或场景中,花费不少时间进行测试设计与执行,而在重要路径的使用上反而没有重点测试。虽然正交实验设计有上述不足,但它能通过部分实验找到最优水平组合,因而很受实际工作者的青睐。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页4 因子 3 状态)1 确定 正 交表的行和列。每个因素有 3个水平,共需安排9次实验)2 确 定正 交表的内容 . 对每 个 因 素的水平进行编号,分别为1、2、3,并将实验按照水平数 3进行分组,即每三个实验为一组。对于 第 一 列:第一组实验中,全部使用因素1的第 1个水平。第二组实验中,全部使用因素1的第 2个水平。第三组实验中,全部使用因素1的第 3个水平。对于 第 二 列:每一组实验中,都分别使用因素2的三个水平 1、2、3: 对于 第 三 列:每一项实验中,每一个水平编号的确定方法见公式3.1。)3 生 成正 交表。将每 个 因 素的水平编号填入表中可得正交表如表3.2所示 . 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页