成功安装后,在命令行中输入命令pict:

  可以看到pict命令的一些选项:
  /o:N   组合数,默认值为2,即pict生成的测试用例集中每条测试数据会有两个值与其他测试集是不同的;
  /d:C   值与值之间的分隔符,默认为逗号(,),例如一个参数 操作系统  winxp,win7,win8 之间会用逗号隔开;
  /a:C   别名间的分隔符,默认是管道符(|),例如一个参数(用户名不区分大小写,但为了保证测试的可信度,可以用大小写轮换的方式进行测试) 用户名  admin|ADMIN;
  /n:C   无效数值或者是非法数值的前缀,默认值为(~),例如一个参数(只能取1、2,为了测试非法值的输入,取0,但又不希望0和其他参数的每隔值都配一次对,为了减少测试集的数量,在0前面加一个~)即 参数  ~0,1,2;
   /e:file  定义种子文件,作用是可以指定组合方式,例如在种子文件seed.txt中指定一个组合方式,在执行1.txt时,命令:pict 1.txt /e:seed.txt  生成的测试集中会包含seed中指定的组合集(当然指定的组合集有一定条件)。(此参数目前的理解可能会有误区);
  /r[:N]  通过/r参数,可以使每次生成的测试集不同;
  /c        加上该参数,说明参数值完全区分大小写
  /s        显示模型统计数据 例如运行 pict 1.txt /s   结果为
  Combinations:  21
  Generated tests:   9
  Generation time:0:00:00
 
 
组合测试的概念

  组合测试(combinatorial testing)是一种测试用例生成方法。传统的测试用例生成方法中没有这一方法,但是组合测试确实对传统测试方法的综合,如果能熟练自如的运用组合测试,那么我想大部分测试方法也就都能融会贯通了。
  运用组合测试,测试人员需要将被测试对象抽象为一个受到多个变量影响的系统,其中每个变量的取值是离散且有限的。然后使用组合测试工具生成满足特定组合覆盖标准的组合测试用例集。
  1、两因素组合测试(也称配对测试、全对偶测试)生成的测试集可以覆盖任意两个变量的所有取值组合。在理论上,该用例集可以暴露所有由两个变量共同作用而引发的缺陷。
  2、多因素组合测试生成的测试集可以覆盖任意n和变量的所有取值组合。在理论上,该测试用例集可以发现所有n个因素共同作用引发的缺陷。
  怎样进行组合测试建模
  组合测试面临的一个最大问题是:没有足够的测试资源来运行所有的测试用例(全组合测试)。因此提出了基于一个数学模型和一个假设的解决方法。
  一个数学模型:产品的功能被抽象为函数f,产品的输入被抽象为函数的变量x1,x2,…,xm,且xi(1≤i≤m)的可能取值是有限的,产品的输出被抽象为函数的返回值y1,y2,…,yn。
  一个假设:如果测试覆盖了任意t个(2≤t≤m)输入变量的取值组合,那么该测试可以发现函数f的大部分错误。
  组合测试建模的步骤
  1)确定变量xi;
  2)确定每个变量xi的取值集合;
  3)为了更充分的发现缺陷,每个变量的取值要进行充分的设计,尤其是“典型取值”,可以通过等价划分、边界值等方法进行取值。测试集中没有包含可以暴漏错误的特定取值是缺陷遗漏的主要原因;
  4)确定检查方法,以判断y1,y2,…,yn是否正确。错误的或不严谨的检查都有可能遗漏暴漏的缺陷。
  组合测试模型的问题
  1)组合测试可能会错过最重要的取值组合;由于是工具生成测试用例集,而且不是全覆盖测试,所以很可能遗漏的测试集就是最重要而且能发现问题的测试用例(例如默认测试集);
  2)组合测试的数学模型没有描述变量之间的约束关系;此时需要加入约束条件(PICT即可实现此功能)
  3)组合测试用例可能被卫哨语句过滤;此时需要用到PICT中的~在无效数据前进行标记;
 
这里使用一个登陆界面的测试作为例子,程序流程中共有5项待测环节。

  1.首先,列出每个条目所需进行测试的分支:
  1) 账户名:空,不存在,超长,超短,正常
  2) 密码:空,超长,超短,不匹配,正常
  3) 验证码:空,超长,超短,不匹配,正常
  4) 会话:保存一个月,保存三个月,保存一年,不保存
  5) 按钮:确定,取消
  2.下载PICT工具后,进行安装。在安装目录下,新建txt文件,输入上述内容。
  3.打开cmd,进入PICT工具安装目录,并运行pict test.txt>test.xls命令,将生成测试用例导出到xls文件。
  4.使用office excel可以查看生成的测试用例。

注意事项

  • txt文件名最好是英文名,文本标点必须是英文标点。

 

PICT实现组合测试用例的更多相关文章

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

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

  2. PICT实现组合测试用例(二)

    上次简单总结了PICT命令的一些用法,这次重新把<软件测试实战>里面有关这一章的内容再总结一次,以巩固理解. 组合测试的概念 组合测试(combinatorial testing)是一种测 ...

  3. 安装并使用PICT,生成测试用例

    一.PICT简介 PICT工具是在微软公司内部使用的一款承兑组合的命令行生成工具,现在已经对外提供,可以在 http://download.microsoft.com/download/f/5/5/f ...

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

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

  5. 转载:PICT使用教程(设计测试用例工具)

    原文:https://blog.csdn.net/quiet_girl/article/details/50699543 之前一篇写了正交设计助手的使用教程,与正交设计助手相比,个人觉得PICT的使用 ...

  6. pict(Pairwise Independent Combinatorial Testing)工具使用

    PICT工具就是在微软公司内部使用的一款成对组合的命令行生成工具,现在已经对外提供,可以在互联网上下载到. 要把输入类型和其对应的参数输入到一个CSV格式(CSV: 以逗号分割的纯文本文件,不带有任何 ...

  7. PICT工具安装使用

    前言:PICT工具在微软公司出品一款成对组合的命令行生成工具.PICT 可有效地按照两两测试Pairwise的原理,进行测试用例设计.在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖 ...

  8. 黑盒测试用例设计方法&理论联系实际-> 功能图法

    一. 概念 功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同时要依靠判定表或因果图表示的逻辑功能.例,一个简化的自动出纳 ...

  9. 用状态矩阵解决有序操作的case爆炸问题(转载)

    转自http://qa.baidu.com/blog/?p=167 作者:qabloger 一. 简介 我们在测试中可能都会面对case爆炸问题.有的case组合是无序的,我们可以通过pict[1]组 ...

随机推荐

  1. Elasticsearch分词导致的查找错误

    这周在做视频搜索的过程中遇到一个问题,就是用下面的查询表达式去Elasticsearch检索,检索不到想要的结果.查询语句如下: 而查询的字段的值为: "mergeVideoName&quo ...

  2. uitableview中文排序问题

    1,uitableview中涉及到排序的问题,查找资料后发现使用UILocalizedIndexedCollation可以很好处理中文和英文系统下中文的排序.而且如果第一个汉字首字母一样那么就会按照第 ...

  3. xamarin.android pullToRefresharp.Android下拉刷新样式、侧滑删除功能

    如果你正则使用xamarin.From开发项目,那么listview一定是你比不可少的控件.但是由于xamarin的listview在安卓上的功能有限,所以经常需要使用Renderers来改写平台实现 ...

  4. iOS -- xxxViewController进行pop时直接crash进main.m,EXC_BAD_ACCESS(code=1,address=0x20)

    今天在调试程序时,遇到了奇怪的错误.我从主页跳进(push)一个ViewController时一切正常,但是返回主页(pop)时却crash了,直接跳进了main.m(EXC_BAD_ACCESS(c ...

  5. [Algorithms] Queue & Priority Queue

    In this lesson, you will learn how to create a queue in JavaScript. A queue is a first-in, first-out ...

  6. vue2.0 vue-router

    一.SPA中路由的简单实现 main.js import Vue from 'vue' import App from './App' import VueRouter from 'vue-route ...

  7. C#给指定doc文件写入宏

    private void InsertMacro() { Word.Application oWord; Word.Document oDoc; VBIDE.VBComponent oModule; ...

  8. <转>关于 error LNK2019:无法解析的外部符号 ,该符号在函数**中被引用的思考

    错误提示信息摘抄如下: ---------------------------------------------------------------------------------------- ...

  9. 2.Qt Creator的使用

    下面以一个简单的程序来说明Qt Creator的使用: 首先,按图片步骤创建一个Qt项目 创建完成后 上图标记处工具栏提供了简化树形视图.分栏等功能(自行尝试吧...) 在使用Qt制作一个界面时,我们 ...

  10. SEO(搜索引擎优化)

    高级搜索指令 搜索命令中的字符均为英文 用户除了可以通过搜索引擎搜索普通的查询词外,还可以使用一些特殊的高级搜索指令.这些指令普通用户很少会用到,但是对于SEO人员进行竞争对手研究和寻找外部链接资源却 ...