两两组合覆盖测试用例设计工具: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. android开发学习---layout布局、显示单位和如何进行单元测试

    一.五大布局(layout) android中的用五大布局:LinearLayout (线性布局).AbsoluteLayout(绝对布局).RelativeLayout(相对布局).TableLay ...

  2. SQL Server 扩展一个支持类似。net 时间格式化的标量函数~

    * FROM sys.objects WHERE name=N'uF_DateFormat' AND [type]='FN') DROP FUNCTION uF_DateFormat GO SET A ...

  3. 基于TP框架的ThinkCMF,控制器display方法源码分析

    昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController exten ...

  4. (Python)序列

    本节将学习一些循环序列的方法已经序列的大小比较规则 1.循环序列的方法 如果我们想同时循环打印一个列表的index和value,我们可以用enumerate(list) 函数 >>> ...

  5. C# 根据身份证号码获取简易信息

    public class PackIden { /// <summary> /// 根据身份证获取生日 /// </summary> /// <param name=&q ...

  6. CCF 201612-2 火车购票 (暴力)

    问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10 ...

  7. OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)”)

    OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld ...

  8. UART的CTS与RTS

    在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES) 推出了聪明猫(SmartModem)后就有点混淆了.在RS232中RTS 与CTS 是用来半双工模式下的方向切换:HAYES ...

  9. linux tcp协议重传定时器

    RTO:重传超时时间 RTT:往返时间

  10. IOS笔记之UIKit_UIScrollView

    //通过系统的一个接口 拿到是不是第一次启动这个程序 如果是就调用导航页 如果不是 直接进入下一个视图 NSUserDefaults *userDefaults = [NSUserDefaults s ...