pict(Pairwise Independent Combinatorial Testing)工具使用
PICT工具就是在微软公司内部使用的一款成对组合的命令行生成工具,现在已经对外提供,可以在互联网上下载到。
要把输入类型和其对应的参数输入到一个CSV格式(CSV: 以逗号分割的纯文本文件,不带有任何其他格式。文件使用逗号(,)来分割字段和行。最终文件可以用Excel打开,也可以用做其程序的导入格式。默认情况下,.csv文件将在记事本打开。)
例如:
| 帐户名: | 空,不存在,超长,超短,正常 |
| 密码: | 空,超长,超短,不匹配,正常 |
| 验证码: | 空,超长,超短,不匹配,正常 |
| 会话: | 保存一个月,保存三个月,保存一年,不保存 |
| 按钮: | 确定,取消 |
从列表可以看出,有1000多种组合方式。在短时间内对其做测试,将是非常困难的。研究表明,通过PICT,测试用例的数量将大大降低;同时,也可保证很高的测试覆盖率。
如直接通过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(Pairwise Independent Combinatorial Testing)工具使用的更多相关文章
- COMBINATORIAL TESTING
COMBINATORIAL TESTING -Test note of “Essential Software Test Design” 2015-09-06 Content 16.1 Coverag ...
- Spring、Spring Boot和TestNG测试指南 - 使用Spring Boot Testing工具
Github地址 前面一个部分讲解了如何使用Spring Testing工具来测试Spring项目,现在我们讲解如何使用Spring Boot Testing工具来测试Spring Boot项目. 在 ...
- [Auto Testing] 工具准备:Selenium 与 ChromeDriver
<留存> Selenium http://selenium-release.storage.googleapis.com/index.html https://www.seleniumhq ...
- 组合测试(Combinatorial Test)/配对测试 (pairwise)
组合测试方法:配对测试实践 实施组合测试 常用的Pairwise工具集:http://www.pairwise.org/tools.asp 成对测试(Pairwise Testing)又称结对测试.两 ...
- 用例设计工具PICT — 输入组合覆盖
1 成对测试简介 成对测试(Pairwise Testing)又称结对测试.两两测试,是一种正交分析的测试技术.成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.是当不可能遍 ...
- 两两组合覆盖测试用例设计工具:PICT
两两组合覆盖测试用例设计工具:PICT 2016-08-31 目录 1 成对测试简介2 PICT使用 2.1 安装 PICT 2.2 使用PICT3 PICT算法 3.1 准备阶段 3.2 产 ...
- PICT:基于正交法的软件测试用例生成工具
成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试.测试结果表明覆盖率高达90%以上.可见成对组 ...
- PICT实现组合测试用例(一)
最近阅读了史亮老师的<软件测试实战:微软技术专家经验总结>一书,其中“测试建模”一章让我受益匪浅.想想以前的测试有多久没有花过心思放在测试用例的设计上了,一直强调“测试思想”的培养也都只是 ...
- 组合覆盖与PICT的使用
组合覆盖法是一种有效减少测试用例个数的测试用例设计方法.根据覆盖程度的不同,可以分为单因素覆盖.成对组合覆盖.三三组合覆盖等.其中又以成对组合覆盖最常用. 关于组合覆盖的更多内容,参考:http:// ...
随机推荐
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- OpenVpn简单架设
首先Wget wget http://swupdate.openvpn.org/as/openvpn-as-2.0.24-CentOS6.i386.rpm wget http://swupdate.o ...
- EXCEL科学计数法转为文本格式
1.单元格格式-->特殊-->邮政编码 2.分列:选中数据-菜单栏“数据”-“分列”-下一步-下一步-选中文本-确定即可3.公式TEXT:如果数据在A列 =TEXT(A1,,0) 向下复制 ...
- %u编码
Escape/Unescape加密解码/编码解码,又叫%u编码,从以往经验看编码字符串出现有"u",它是unicode编码,那么Escape编码采用是那一种unicode实现形式呢 ...
- Android编程容易犯的错误之一
1.设置TextView的文本颜色 TextView tv; ... tv.setTextColor(R.color.white); 其实这样设置的颜色是 R.color.white的资源ID值所代表 ...
- [jquery]折叠指定条件的表格
最近在做财务报表时候,一些表格要做特定折叠效果 这里通过2个自定义属性来对表格之间的属性作关联 date-head和date-num,输出表格时候,可以按照这2个自定义属性给某些带父子层级关系的内容指 ...
- Nodejs学习笔记(十二)--- 定时任务(node-schedule)
目录 写在之前 Cron风格定时器 通配符解释 范围触发 递归规则定时器 对象文本语法定时器 取消定时器 写在之后 写在之前 在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发 ...
- CentOS7下Oracle的自动备份
概述 Linux下Oracle自动备份就没有MSSQL那么简单,在Linux下Oracle的备份需要借助crontab 指令,crontab 能够自动执行系统定时任务,通过配置crontab 指向Or ...
- Google之Chromium浏览器源码学习——base公共通用库(三)
本节将介绍base公共通用库中的containers,其包含堆栈.列表.集合.以及Most Recently Used cache(最近使用缓存模板). linked_list.h:一个简单的列表类型 ...
- 关于tarjan算法的理解
理解要点如下 理解LOW[i]数组的迭代过程.. low[u]=min(dfn[v],dfn[u],low[v]); 理解这个..如果有环..那么后代就可以更新祖先 那么low[v]就有用了.. 那么 ...