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

2016-08-31

目录

1 成对测试简介
2 PICT使用
  2.1 安装 PICT
  2.2 使用PICT
3 PICT算法
  3.1 准备阶段
  3.2 产生阶段

1 成对测试简介


返回

成对测试(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工具集:http://www.pairwise.org/tools.asp 处下载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,You
Factor B:see,catch
Factor 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产生测试用例有两个阶段

  1. 准备阶段
  2. 产生阶段

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,那么算法结束。

两两组合覆盖测试用例设计工具:PICT的更多相关文章

  1. 【测试设计】基于正交法的测试用例设计工具--PICT

    前言 我们都知道成对组合覆盖是一种非常有效的测试用例设计方法,但是实际工作过程中当成对组合量太大,我们往往很难做到有效的用例覆盖. PICT是微软公司出品的一款成对组合命令行生成工具,它很好的解决了上 ...

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

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

  3. 测试用例设计:PICT的安装及使用

    一.下载与安装 打开百度网页,搜索PICT,即可找到许多下载链接,点击这里,下载到桌面,点击安装.一直NEXT,安装路径保存在C盘: 二.PICT 使用 1.找到安装目录,即可看到以下内容 2.创建t ...

  4. 测试用例生成工具ALLPAIRS(转)

    ALLPAIRS是一个测试用例设计工具,用于Windows,但移植到了多种平台,以适应该脚本文件的一些小改动.它自动对所有实验技术进行设计,通过这个工具的方法可以在海量的数据组合中选择少量的数据生成测 ...

  5. 推荐两个界面原型设计工具--GUIDesignStudio 和 Mockups For Desktop

    前段时间,有幸参加一次高级软件架构师的培训,授课老师介绍了两个很好玩的界面原型设计工具:GUIDesignStudio 和 Mockups For Desktop,现分享一下,截图说明,洗洗眼球,权当 ...

  6. 软件测试(二)PICT的使用 组合测试方法(两两组合测试,可遍历组合测试)

    一.两两组合测试 # # 两两组合测试 # PLATFORH: x86, ia64, amd64 CPUS: Single, Dual, QUad PAHL: 120MB, 1GB, 4GB, 64G ...

  7. 组合覆盖与PICT的使用

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

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

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

  9. 9款原型设计工具与Sketch的强强组合,轻松构建交互原型!

    原型设计的发展历史经历了纸上原型.静态线框设计.到现在的可交互式原型.作为设计过程中最初始的阶段,设计师们对原型设计的要求也越来越高.因此,如今的原型设计工具格局也发生了很大的变化. Sketch对于 ...

随机推荐

  1. IOS设计模式第一篇之MVC

    设计模式的好处:我们可以写出容易理解,重用度很高的代码.降低代码的耦合度,符合软件工程的思想. 设计模式主要分为三类:创造型的:单例和抽象工厂.结构类型的: MVC  Decorator, Adapt ...

  2. LightOJ 1094 - Farthest Nodes in a Tree(树的直径)

    http://acm.hust.edu.cn/vjudge/contest/121398#problem/H 不是特别理解,今天第一次碰到这种问题.给个链接看大神的解释吧 http://www.cnb ...

  3. JProfiler使用入门(一)——准备工作

      JProfiler是一个全功能的Java剖析工具(profiler),主要用于检查和跟踪系统(限于Java开发的)的性能. JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收 ...

  4. 揭开HTTP网络协议神秘面纱系列(一)

    1.了解Web及网络基础 TCP/IP协议族按层次可以分为下面四层: 应用层:决定了向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类通用的应用服务,比如:FTP(文件传输协议)和DNS( ...

  5. 問題排查:System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel

    錯誤訊息如下: System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel, Version=3.0.0.0, Culture=neu ...

  6. SQlserver 行转列

    列转行编程中很容易碰到,小弟在此总结下, 行转列暂时还没遇到,遇到再补充. 列转行:  , , , ,  以上都是以逗号分隔,分隔符可以自定义.

  7. android text

    "@you bang--- go on -------" 需要做分享内容,前面有段格式固定写死,同时颜色为灰色:后面的内容可以编辑,颜色为黑色,同时支持多行 有人用textview ...

  8. 编译jsoncpp库以及要注意的问题

    原创文章,转载请注明原作者与本文原始URL. 版本:jsoncpp-src-0.5.0.zip简介:jsoncpp是用cpp实现的json库,可以拼装,解析,生成json串.我们要把他编译成动态库.这 ...

  9. 利用PHP执行SQL文件,将SQL文件导入到数据库

    如何利用php自动执行.sql文件.其实很简单,就是获取sql文件中的内容,然后将每一句sql语句一次执行就行啦. 这是代码 //读取文件内容 $_sql = file_get_contents('t ...

  10. JavaScript 设计模式 - 工具函数

    1.类式继承,模拟面向对象语言的继承方式 function extend(subClass, superClass) { var F = function() {}; F.prototype = su ...