本章节主要讲解“正交试验软件测试用例设计方法”的内容,所谓正交试验设计法(Orthogonal Experimental Design)是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗瓦理论导出的“正交表”,合理地安排试验的一种科学的试验设计方法,是研究多因素、多水平的一种设计方法。它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备“均匀分散、齐整可比”的特点,正交试验是一种基于正交表的,高效率、快速、经济的试验设计方法。
正交试验分析法包括以下常用术语:
(1)指标:通常把判断试验结果优劣的标准叫做试验的指标。
(2)因子:是指所有影响试验指标的条件。
(3)因子的状态:是指影响试验因子的因素,也称之为因子的水平。
正交表的表示形式: ( n )r L m
(1)n 表示因子数(Factors),即正交表中列的个数。
(2)m 表示水平数(Levels),也称为状态,任何单个因子能够取得的值的最大个数。
(3)r 表示行数(Rows),正交表中行的数量,即测试用例数。
行数r=(m-1)×n+1,如34 L (2 ),测试用例数 4=(2-1)×3+1,这是等水平的正交表。但对于非等水平的正交表,其表示形式为 ( n , q )r L m p ,那么行数r=(m-1)×n+(p-1)×q+1,如11 1236 L (2 ,3 ),测试用例36=(2-1)×11+(3-1)×12+1。
在网站http://www.york.ac.uk/depts/maths/tables/orthogonal.htm中可以查找到相关的正交表。
正交试验分析法的步骤如下:
(1)提取功能说明,构造因子-状态表。
分析规格说明书,通过规格说明书提取影响该功能的因子以及每个因子可能取值的最大数,即因子状态。
(2)加权筛选,生成因素分析表。
计算各因子和状态的权值,删去一部分权值较小即重要性较小的因子或状态,使最后生成的测试用例集缩减到允许范围。
(3)画出布尔图。
如果各个因子的状态数是不统一的,几乎不可能出现均匀的情况,必须先用逻辑命令来组合各因子的状态,作出布尔图。
(4)查找最接近的相应阶数的正交表。
根据布尔图选择最接近的相应阶数的正交表,实际的测试工作中,因子和因子状态很难与正交表完全符合,所以只能选择一个阶数最接近的正交表。
(5)将实际的因子和状态带入正交表中,得到最终的正交表。
选择好正交表后,应该将实际的因子和因子水平带入正交表中,此时可能出现以下三种情况:
第一种情况:因子的状态数正好和正交表的状态数相等,那么此时只需要直接替换正交表中的值即可。
第二种情况:因子的状态数多于正交表中的状态数,那么此时需要先将多余的状态合并,带入正交表中,然后再将合并的中间状态展开。
第三种情况:因子的状态数少于正交表中的状态数,那么只要将正交表中多出来的状态,使用实际状态中的任意值替换即可。
(6)利用正交表每行数据构造测试用例。
在使用实际因子和状态替换过的正交表中的每一行,选择数据构造测试用例即可。
【实例】某数据库查询系统的测试。
步骤1:分析规格说明书,生成因子-状态表,见表8-13。
表8-13 因子-状态表
步骤2:对因子—状态表进行加权筛选,本实例中加权筛选时,将打印方式和查询类别中的逻辑符号删掉,不进行分析,加权筛选后的因素分析表见表8-14。使用字母表示因素分析表中各种因子和状态见表8-15。
步骤3:根据因子和状态分析表画出布尔图,如图8-16 所示。
图8-16 布尔图
步骤4:选择正交表,本例选择的正交表为34 L (2 ),把21、22、23作为因子,带入正交表中,见表8-16。
将正交表中的中间结点展开,见表8-17。
步骤5:根据每行写出测试用例,以第一个测试用例为例,完成测试用例的写作,见表8-18。
表8-18 测试用例
注意:借助正交试验法虽然可以提高编写测试用例的效率,但是正交试验终归是数学推导出来的公式,因此其组合情况并没有考虑到实际取值的情况,所以很可能一些组合在实际过程中不出现,或者出现的机率很小。因为在完成正交表后,应该对正交表进行仔细的检查,将其中无效的组合删除,添加一些正交表中没有的,但实际情况可能使用机率比较高的组合。
以上步骤是使用手工进行构建正交表,实际测试过程中可以借助Allpairs 工具来自动生成正交表。使用Allpairs 工具自动生成正交表的步骤如下:
(1)首先下载Allpairs 工具,该工具是一款开源的工具。
(2)将因子和因子状态写入Excel 文件中,见表8-19。
表8-19 因子和因子状态
(3)将Excel 文件另存为以Tab 键作为分隔符的文本文件(假设保存的文件名为test.txt),保存的路径为Allpairs 工具所在的目录。
(4)运行cmd 程序,进入Allpairs 工具所在的目录,执行命令appairs.exe test.txt > output.txt;output.txt 为正交表输出的文件,内容如图8-17 所示。
图8-17 自动生成的正交表
只有TEST CASES 的内容是正交表的内容,PAIRING DETAILS 的内容不需要关注。
本章节关于“正交试验软件测试用例设计方法”的内容就学习到这里,大家觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。