两两组合覆盖测试用例设计工具:PICT
2016-08-31
目录
1
2 2.1 2.2 3 3.1 3.21 成对测试简介
成对测试(Pairwise Testing),是一种正交分析的测试技术。成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果表明覆盖率高达90%以上。通过对缺陷的统计分析发现,相对于多个因子的组合,大部分的问题能够通过因子的两两组合来发现,多个因子的组合仅会发现少量的问题,但是测试的投入却是巨大的,因此,相对来说两两组合可以更有效地发现缺陷。可见成对组合覆盖是一种非常有效的测试用例设计方法。
成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。实现成对组合覆盖的算法工具有很多,其中微软的PICT就是其中一个。
使用范围
- 对于每个程序输入来说,均能构建有意义的等价类
- 程序的输入是彼此独立的
- 程序的输入是没有顺序的
- 故障仅取决于一对程序输入的交互
2 PICT使用
PICT全称Pairwise Independent Combinatorial Testing tool,是微软的一款成对组合的命令行生成工具,生成pairwise testing所需的测试用例。
2.1 安装 PICT
常用的Pairwise工具集: 处下载PICT工具。下载后默认安装,也可安装在: D:\Program Files (x86)\PICT,可以目录下看到有两个文件‘pict.exe’、‘PICTHelp.htm’。
2.2 使用PICT
在PICT的目录下,新建一个test.txt文件,输入与测试用例相关的所有参数,如下图1所示:
图1 test.txt参数内容
test.txt参数内容,如下代码:
Factor A:I,YouFactor B:see,catchFactor C:bird,dog,chicken
CMD进入命令提示符。输入命令:
cd "D:\Program Files (x86)\PICT"pict test.txt
图2 输出结果
也可以通过命令pict test.txt >test.xls命令,将结果输出到test.xls的excel表格当中
3 PICT算法
pict产生测试用例有两个阶段
- 准备阶段
- 产生阶段
3.1 准备阶段
就是为产生阶段做准备,在这个阶段,PICT计算出用例产生阶段所需要的所有信息。主要是元素的成对组合要覆盖所有。
列入上面给的参数:有(Fact A Fact B),(Fact A Fact C),(Fact B Fact C),每种各有4,6,6的组合
3.2 产生阶段
每种情况叫一个slot,例如(Fact B Fact C)组合有4个slot,(Fact A Fact C),(Fact B Fact C)组合都是有6个slots.
每个slot能够被标识为uncovered,covered,exclued,分别表示该slot还没覆盖,已经覆盖,或者排除在外(用在有前提条件下),所有uncovered组织成链表,当产生阶段产生的测试用例如果满足某个slot的组合,那么该slot就被标识为covered,当所有的slot被标识为covered,那么算法结束。