黑盒测试设计--正交实验法
一.方法简介
利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。
正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.
利用正交实验设计测试用例的步骤:
1.提取功能说明,构造因子--状态表
把影响实验指标的条件称为因子.而影响实验因子的条件叫因子的状态.利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子,而把各个因子的取值当作状态.对软件需求规格说明中的功能要求进行划分,把整体的概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的基本的功能要求.这样就可以把被测试软件中所有的因子都确定下来,并为确定个因子的权值提供参考的依据.确定因子与状态是设计测试用例的关键.因此要求尽可能全面的正确的确定取值,以确保测试用例的设计作到完整与有效。
2.加权筛选,生成因素分析表
对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。
3.利用正交表构造测试数据集
利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。
4、正交表的下载地址:http://neilsloane.com/oadir/index.html
二、案例
s1、选择合适的正交表
1)找出因子状态,7因子5状态(上表中每行代表一个引子,每个因子不同的取值代表不同的状态,这里去取值最多的一个,作为整体的状态数)
2)到http://neilsloane.com/oadir/index.html 中下载正交表;有时不一定有7因子5状态的表,那么就找最接近的,切因子数、状态数都要大于或等于需求中列出来的因子和状态数(请思考下为什么?)
这些选择8因子7状态的正交表
s2、下载下来的正交表如下
s3、化简正交表
原则:去掉多余的因子,每列代表一个因子,只有7个因子,将最后一列删除(但不能轻易删除行)
s4、将正交表内数字替换成具体的因子状态,对照第一张表,每个数字代表对应因子的状态值
s5、正交表合并:依据适用性合并部分相似的用例
原则:前面用例都提到过的状态才能合并,没提到过的不能合并
s6、删除一些不可能的组合
注:(1)编写测试用例时,需遵循一些基本的原理,例如Linux上是无法安装IIS的,第9行和37行就不能作为用例,是不可能存在的组合,需排除
(2)在运行时,你可以将余下的~单元格填充为最容易的测试,或者填充为最流行的配置,或者填充为可能会揭示缺陷的选项,无论你想使用什么标准来选填充值,都是可以的。
案例中,使用正交实验法,最终得到的用例数是37条;这边还可以配合下其他的测试设计方法,对用例级进行补充