PICT(Pairwise Independent Combinatorial Testing tool)可以有效地按照两两测试的原理,进行测试用例设计。在使用PICT时,需输入与测试用例相关的所有参数,以达到全面覆盖的效果。
PICT是通过命令行执行的。执行前,需准备一份参数文档。
例如,如果想创建一个基于登录的测试集,需列出以下参数:帐户、密码、验证码、会话、按钮。每个参数都要列出其对应的值,如下所示:
帐户名: |
空,不存在,超长,超短,正常 |
密码: |
空,超长,超短,不匹配,正常 |
验证码: |
空,超长,超短,不匹配,正常 |
会话: |
保存一个月,保存三个月,保存一年,不保存 |
按钮: |
确定,取消 |
从列表可以看出,有1000多种组合方式。在短时间内对其做测试,将是非常困难的。研究表明,通过PICT,测试用例的数量将大大降低;同时,也可保证很高的测试覆盖率。
PICT是一个命令行工具;测试用例的输入、输出可通过文本模式的文件进行。
C:\Documents and Settings\tongzhan>pict Pairwise Independent Combinatorial Testing
Usage: pict model [options]
Options: /o:N - Order of combinations (default: 2) /d:C - Separator for values (default: ,) /a:C - Separator for aliases (default: |) /n:C - Negative value prefix (default: ~) /e:file – File with seeding rows /r[:N] - Randomize generation, N – seed /c - Case-sensitive model evaluation /s - Show model statistics |
PICT安装的时候,在系统环境中自动增加了PICT的PATH,所以可在任意路径下执行。
如直接通过PICT执行参数文档,测试用例会打印在屏幕上,如下所示:
D:\测试方法\两两测试>pict login.txt 帐户名 密码 验证码 会话 按钮 不存在 空 不匹配 保存一年 确定 空 正常 正常 保存一个月 取消 超长 不匹配 空 保存三个月 确定 超短 超短 空 不保存 取消 超短 空 超长 保存三个月 取消 空 超长 不匹配 不保存 确定 正常 超短 正常 保存一个月 确定 不存在 不匹配 超短 保存一个月 取消 空 正常 超短 保存一年 确定 超长 超长 正常 保存一年 取消 正常 正常 不匹配 保存三个月 取消 正常 不匹配 超长 不保存 确定 不存在 超长 正常 保存三个月 确定 超短 不匹配 正常 保存一年 确定 不存在 正常 空 保存一个月 确定 超长 空 超短 保存一个月 取消 超短 超长 超短 不保存 取消 正常 空 空 保存一年 确定 超短 超长 空 保存一个月 确定 超短 正常 正常 不保存 确定 空 超短 超短 保存三个月 确定 空 超短 超长 保存一年 确定 正常 超长 超短 不保存 取消 不存在 空 正常 不保存 确定 超长 超短 不匹配 不保存 取消 超短 不匹配 不匹配 保存一个月 取消 超长 正常 超长 保存一个月 取消 空 空 空 保存一个月 确定 空 不匹配 超长 保存一个月 取消 不存在 超短 超长 保存一年 取消 空 超长 超长 不保存 确定 |
也可把测试用例保存到指定文件中,如下所示:
D:\测试方法\两两测试>pict login.txt > 登录.xls |
也称为模型文件。文件中至少包含参数定义。子模型定义及约束定义可选。如下所示:
parameter definitions
[sub-model definitions]
[constraint definitions] |
例如,上面的登录测试参数文件如下所示:
#登录参数
帐户名:空,不存在,超长,超短,正常
密码:空,超长,超短,不匹配,正常
验证码:空,超长,超短,不匹配,正常
会话:保存一个月,保存三个月,保存一年,不保存
按钮:确定,取消 |
其中,#是注释符。注意:参数文件名称需用英文,参数及参数属性的分隔符要用英文字符。
默认情况下,PICT会成对产生测试用例,即按照两两测试原理设计用例。但也可根据实际情况修改参数组合。可通过参数/o实现。
还可根据实际业务,对参数进行限制。例如,如果只有在帐户名、密码、验证码的属性为“正常”时,会话属性才能为“保存一个月”,否则会话属性为“不保存”。参数文件如下所示:
帐户名:空,不存在,超长,超短,正常
密码:空,超长,超短,不匹配,正常
验证码:空,超长,超短,不匹配,正常
会话:保存一个月,保存三个月,保存一年,不保存
按钮:确定,取消
IF [帐户名] = “正常” and [密码]=”正常” and [验证码]=”正常“ THEN [会话] = “保存一个月” ELSE [会话] = “不保存“; |
注意:条件语句的结束符为分号。
PICT的条件语句中支持:=、<>、>、>=、<、<=、LIKE、NOT、AND、OR……还可支持参数的互相比较。
本文没有介绍PICT的子模型、别名、随机、继承等功能,可直接查询PICT的帮助。
PICT在减少测试用例的数量的同时能保证测试覆盖率。但是如果业务逻辑复杂,需要在参数文件中编写大量的条件判断语句。在实际情况中需综合判断,有需要的可使用此工具。
总之,微软提供的此款工具功能全面,操作简单。后续会在实际项目中进行试用,看是否适合内部的测试方式。
附:需要安装介质的同学可找我索要,或直接从网上下载。