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)工具使用的更多相关文章

  1. COMBINATORIAL TESTING

    COMBINATORIAL TESTING -Test note of “Essential Software Test Design” 2015-09-06 Content 16.1 Coverag ...

  2. Spring、Spring Boot和TestNG测试指南 - 使用Spring Boot Testing工具

    Github地址 前面一个部分讲解了如何使用Spring Testing工具来测试Spring项目,现在我们讲解如何使用Spring Boot Testing工具来测试Spring Boot项目. 在 ...

  3. [Auto Testing] 工具准备:Selenium 与 ChromeDriver

    <留存> Selenium http://selenium-release.storage.googleapis.com/index.html https://www.seleniumhq ...

  4. 组合测试(Combinatorial Test)/配对测试 (pairwise)

    组合测试方法:配对测试实践 实施组合测试 常用的Pairwise工具集:http://www.pairwise.org/tools.asp 成对测试(Pairwise Testing)又称结对测试.两 ...

  5. 用例设计工具PICT — 输入组合覆盖

    1 成对测试简介 成对测试(Pairwise Testing)又称结对测试.两两测试,是一种正交分析的测试技术.成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.是当不可能遍 ...

  6. 两两组合覆盖测试用例设计工具:PICT

    两两组合覆盖测试用例设计工具:PICT 2016-08-31 目录 1 成对测试简介2 PICT使用  2.1 安装 PICT  2.2 使用PICT3 PICT算法  3.1 准备阶段  3.2 产 ...

  7. PICT:基于正交法的软件测试用例生成工具

    成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试.测试结果表明覆盖率高达90%以上.可见成对组 ...

  8. PICT实现组合测试用例(一)

    最近阅读了史亮老师的<软件测试实战:微软技术专家经验总结>一书,其中“测试建模”一章让我受益匪浅.想想以前的测试有多久没有花过心思放在测试用例的设计上了,一直强调“测试思想”的培养也都只是 ...

  9. 组合覆盖与PICT的使用

    组合覆盖法是一种有效减少测试用例个数的测试用例设计方法.根据覆盖程度的不同,可以分为单因素覆盖.成对组合覆盖.三三组合覆盖等.其中又以成对组合覆盖最常用. 关于组合覆盖的更多内容,参考:http:// ...

随机推荐

  1. 1.从Node.js链接到MongoDB

    MongoDB采用了MongoDB Node.js驱动程序作为标准. 1.安装MongoDB驱动 npm install mongoDB npm install mongoose require('m ...

  2. 构建高可用ZooKeeper集群(转载)

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  3. celery 异步任务小记

    这里有一篇写的不错的:http://www.jianshu.com/p/1840035cb510 自己的"格式化"后的内容备忘下: 我们总在说c10k的问题, 也做了不少优化, 然 ...

  4. MySQL MHA 搭建&测试

    一:背景介绍 MHA(Master HA)是一款开源的MySQL的高可用工具,能在MySQL主从复制的基础上,实现自动化主服务器故障转移.虽然MHA试图从宕机的主服务器上保存二进制日志,但并不是总是可 ...

  5. 如何使用videojs兼容IE8浏览器

    需要在服务器下运行 首先我们需要下载videojs包 https://github.com/videojs/video.js/releases 这里简单写了一个小栗子 <!DOCTYPE htm ...

  6. kafka与传统的消息中间件对比

    RabbitMQ和kafka从几个角度简单的对比 业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比, 在应用场景方面, Rabbi ...

  7. 2.Java异常学习

    1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...

  8. 【leetcode】Permutations

    题目描述: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the ...

  9. 论SOA架构的几种主要开发方式

    转: http://blog.csdn.net/chenleixing/article/details/44926955  面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络 ...

  10. T-SQL 基础学习 04

    索引        示意图 定义 索引提供指针指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针 作用 通过使用索引,大大提高数据库的检索速度,改善数据库性能 索引六大类 1.      ...