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

成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。组合覆盖的算法已经被很多工具实现,测试人员可以直接利用这些工具,例如:TConfig、微软的PICT等。下面介绍一下使用PICT设计测试用例的过程。

PICT,全称是Pairwise Independent Combinatorial Testing tool,是一个免费的小工具。工具下载地址:http://download.csdn.net/download/mysticality/1859432

PICT接收一个纯文本的Model文件作为输入,然后输出测试用例集合。Model文件的格式如下: : , , , ...

用冒号隔开输入条件和参数,每行一个输入条件,参数之间用逗号隔开。

下面是设计一个测试登陆功能是否必填的Model文件的例子。输入条件有登录名、密码、验证码。各项输入条件分别有不同的参数选择。

username: 填写登录名, 不填登录名

psw: 填写密码, 不填密码

yzm: 填写验证码, 不填验证码

把上面的内容存为Model.txt文件。存储在PICT按照目录下,例如D:\Program Files\PICT\,然后在命令行中输入以下命令:

Cd D:\Program Files\PICT

pict Model.txt

则可产生下面的测试用例:

username        psw             yzm

填写登录名      不填密码        填写验证码

填写登录名      填写密码        不填验证码

不填登录名      不填密码        不填验证码

不填登录名      填写密码        填写验证码

技巧:如果想把产生的测试用例存储到某个文件,则可输入以下命令:

pict model.txt > Print.xls

这样,处理Model.txt文件中的输入所产生的测试用例就会存储到“D:\Program Files\PICT\”目录下一个名为Print.xls文件。如图:可采取包含和组合的方法从大量的用例数据中挑选适量、有代表性的用例。

  

转自:http://blog.sina.com.cn/s/blog_60aded7f0101a1iv.html

 
更全http://tmq.qq.com/2016/09/combination-test-from-theory-to-practice-from-the-angle-of-version-combination/

PICT:基于正交法的软件测试用例生成工具的更多相关文章

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

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

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

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

  3. JS文档和Demo自动化生成工具 - SmartDoc发布

    曾几何时,当你码神附体,一路披荆斩棘的完成代码后,带着“一码在手,天下我有”的傲然环顾之时,却发现单元测试.API文档.Demo实例陆续向你砸来,顿时有木有一种冰水挑战后的感觉.而这时你应该:哟哟,快 ...

  4. 多边形背景生成工具推荐-Trianglify

    前端开发whqet,csdn,王海庆,whqet,前端开发专家 low poly低多边形(相似于折纸的效果),多边形风格的设计应用越来越多,今天我们就来看一个利用d3.js写成的生成器Triangli ...

  5. 随机数据生成工具Mockaroo

    测试用例生成工具:https://www.mockaroo.com/ 网站描述是:Random Data Generator and API Mocking Tool | JSON / CSV / S ...

  6. 时序扩展的UML状态图的测试用例生成研究

    一.基本信息 标题:时序扩展的UML状态图的测试用例生成研究 时间:2014 出版源:西南大学 领域分类:时序扩展:UML状态图:测试用例:需求规格说明:模型 二.研究背景 问题定义:时序扩展的UML ...

  7. 基于AngularJS的企业软件前端架构[转载]

    这篇是我参加QCon北京2014的演讲内容: 提纲: 企业应用在软件行业中占有很大的比重,而这类软件多数现在也都采用B/S的模式开发,在这个日新月异的时代,它们的前端开发技术找到了什么改进点呢? B/ ...

  8. 基于web的IM软件通信原理分析

    关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...

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

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

随机推荐

  1. 【转载】#370 - Subscribe to an Event by Adding an Event Handle

    You subscribe to a particular event in C# by defining an event handler-code that will be called when ...

  2. C# 驱动的mongodb的分页查询简单示例

    /// <summary> /// mongodb分页查询 /// </summary> /// <typeparam name="T">< ...

  3. Java nio socket与as3 socket(粘包解码)连接的应用实例

    对Java nio socket与as3 socket连接的简单应用 <ignore_js_op>Java nio socket与as3 socket连接的应用实例.rar (9.61 K ...

  4. Unable to launch the Java Virtual Machine

    看看国内的回答,http://zhidao.baidu.com/question/119993351.html 再看看国外的,http://www.mkyong.com/oracle/oracle-s ...

  5. mysql 全连接 报错1051的原因

    由于mysql 不支持 直接写full outer join 或者 full join来表示全外连接但是可以用left right union right 代替 下面是例子: select * fro ...

  6. java基础必备单词讲解 day two

    variable 变量 count 统计 sum 总数 salary 薪水 Scanner 接收 import 导入 eclipse 日食 control 控制 shift 改变 alt 替换键 ha ...

  7. Nginx的编译安装及服务启动脚本

    1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需 ...

  8. Java执行存储过程

    1.JDBC调用存储过程: CallableStatement /** *p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替 *其余地方写法固定 */ CallableStateme ...

  9. JQuery制作网页—— 第一章 JavaScript基础

    1. JavaScript(弱类型语言):是一种描述性语言,也是一种基于对象(Object)和事件驱动(Event Driven)的,并具有安全性能的脚本语言. 特点:1.主要用来在HTML页面中添加 ...

  10. 关于json输出为null?

    原因: 该字符中含了ASCII码ETB控制符,即\x17导致json解析失败   解决方案: $params = preg_replace('/[\x00-\x1F]/', '', $params); ...