使用PICT生成全面组合覆盖的测试用例

综述

PICT(The Pairwise Independent Combinatorial Testing Tool),是 Microsoft 内部使用一款测试用例设计工具。在实际使用过程中,需要输入测试用例相关的参数,然后PICT可以有效的按照两两测试的原理来创建和设计测试用例,以获得参数的全面组合覆盖。

关于两两组合测试:
黑盒测试中,经常会遇到多种输入参数的取值相互组合的情况,实践证明及研究发现,大约70%的软件故障是由一个或两个参数共同作用引起的。所以组合测试,尤其是两两组合测试,在实际工程的软件测试中被公认为是一种非常有效的测试方法。
但是实际工作过程中有成对组合量太大,PICT就很好的解决了这一问题。

安装

点击官网下载,安装后即可使用。

使用PICT生成全面组合覆盖的测试用例

PICT安装程序会将PICT路径添加到系统变量,所以我们可以从系统上的任何路径运行它。

简单实例

PICT是一个命令行工具。执行前需要准备一份纯文本的Model File,用来详细描述被测接口的参数(或配置集、数据集等)。要说明的一点是:PICT的使用层面是非常广的,不仅仅局限于接口测试、功能测试等方面。
PICT生成一组简洁的参数值选项,用来组成组合覆盖测试用例。举一个简单的例子,现在有一个接口,它的支持的参数有:


使用PICT生成全面组合覆盖的测试用例
params

首先新建一个test.txt文件当做Model File,然后在文本工具中输入参数集,要注意所有的标点都必须为英文标点:

page:int,string,
rows:int,string,
sekContract:string,int,
sekPm:string,int,

保存后,在此文档目录下按住shift后鼠标右键,选择”在此处打开命令窗口”,执行命令pict test.txt,如下:

使用PICT生成全面组合覆盖的测试用例
image.png

此时pict会把参数*组合的情况,打印在屏幕上;为了方便查看,我们也可以将输出重定向一下:


使用PICT生成全面组合覆盖的测试用例
输出重定向
使用PICT生成全面组合覆盖的测试用例
参数组合.txt

使用PICT生成全面组合覆盖的测试用例
参数组合.xls

模型文件(Model File)

模型选项(Model Sections)

一个模型文件的标准定义格式如下,[sections]表示非必选:

#参数定义
parameter definitions
#子模块定义
[sub-model definitions]
#约束定义
[constraint definitions]

模型的项应该始终按照上面所示的顺序指定,不能重叠。参数定义部分首先出现,然后是可选的子模型和约束定义。如果使用它们的话,选项之间不需要任何特殊的分隔符。空行可以出现在任何地方。我们可以通过前缀“#”字符来标识注释。

约束定义

可用的操作符有:=, <>, >, >=, <, <=和模糊匹配通配符LIKE,模糊匹配表达式中,'*'匹配任何数量的字符,'?'匹配单个字符。为了更改默认操作符优先级,也允许使用圆括号;逻辑运算符支持IN,IF,THEN,ELSE,NOT,AND,OR;
举例:

[Size] < 10000
[Compression] = "OFF"
[File system] like "FAT*"
IF [Cluster size] in {512, 1024, 2048} THEN [Compression] = "Off";
IF [File system] in {"FAT", "FAT32"}   THEN [Compression] = "Off";
IF [File system] <> "NTFS" OR
 ( [File system] =  "NTFS" AND [Cluster size] > 4096 )
THEN [Compression] = "Off";
 
IF NOT ( [File system] = "NTFS" OR
       ( [File system] = "NTFS" AND NOT [Cluster size] <= 4096 ))
THEN [Compression] = "Off";
上一篇:Robot Framework - Variable file


下一篇:从零搭建Robot Framework+Jenkins持续集成环境