组合覆盖法是一种有效减少测试用例个数的测试用例设计方法。根据覆盖程度的不同,可以分为单因素覆盖、成对组合覆盖、三三组合覆盖等。其中又以成对组合覆盖最常用。

关于组合覆盖的更多内容,参考:http://www.pairwise.org/

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

下载:http://www.pairwise.org/tools.asp (除了PICT,还有很多类似的小工具,均可以从此处找到)

下载后双击安装。

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

<ParamName> : <Value1>, <Value2>, <Value3>, ...
 用冒号隔开输入条件和参数,每行一个输入条件,参数之间用逗号隔开。
下面是设计一个测试磁盘分区创建功能的Model文件的例子。输入条件有分区类型、大小、格式化方式、文件系统类型、簇大小、是否压缩。各项输入条件分别有不同的参数选择:
Type:          Primary, Logical, Single, Span, Stripe, Mirror, RAID-
Size: , , , , , ,
Format method: quick, slow
File system: FAT, FAT32, NTFS
Cluster size: , , , , , , ,
Compression: on, off

把上面的内容存为Model.txt文件。存储在某个目录,例如D盘根目录。然后在命令行中输入以下命令:

C:\Users\Administrator>PICT "D:\Model.txt"

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

Type    Size    Format Method   File system     Cluster size    Compression
Mirror quick FAT off
RAID- slow FAT32 on
Stripe quick NTFS off
Span slow NTFS on
Primary quick FAT32 off
Single slow FAT off
Primary slow FAT on
RAID- quick NTFS on
Logical slow NTFS on
Span quick FAT off
Mirror slow FAT32 on
Logical quick FAT32 off
Logical slow FAT off
Single quick NTFS on
Stripe slow FAT32 on
Mirror quick NTFS off
Span slow FAT32 off
Single quick FAT32 off
RAID- quick FAT off
Stripe slow FAT32 on
Primary quick NTFS off
Span slow FAT on
Primary slow FAT32 on
Single quick FAT32 off
RAID- slow FAT on
Single slow NTFS off
Mirror quick FAT on
Stripe quick FAT on
Primary quick FAT32 off
Single quick NTFS on
Logical slow NTFS off
Stripe slow FAT off
Primary slow NTFS off
Mirror quick FAT on
Stripe quick FAT off
Mirror slow FAT32 on
Span quick NTFS off
Logical slow NTFS off
Span quick FAT on
Logical slow FAT32 on
RAID- quick NTFS on
Stripe slow NTFS off
Mirror slow NTFS off
Span quick FAT off
Span slow NTFS on
Stripe quick FAT32 off
Primary quick FAT off
RAID- slow NTFS on
Primary quick NTFS on
RAID- quick FAT32 on
Primary quick FAT off
Mirror slow FAT32 on
Single slow NTFS off
Logical quick FAT32 off
Single slow NTFS on
Mirror quick FAT32 off
Span slow FAT on
RAID- slow FAT off
Logical quick FAT off
Single slow FAT32 on

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

C:\Users\Administrator>PICT "D:\Model.txt" > "D:\OutPut.txt" #生成文本文档
C:\Users\Administrator>PICT "D:\Model.txt" > "D:\OutPut.xls" #生成表格

上面产生的测试用例一共有60条,而如果完全覆盖,则需要执行7*7*2*3*8*2=4704项测试,这说明成对组合覆盖法可以有效减少测试次数。实验证明,成对组合覆盖法的测试覆盖率高达90%以上。

当然,仔细检查产生的测试用例之后,我们可能会发现,有些组合是不合理的,需要我们自己修改一下,而且有些常用的组合可能没出现在这个表里,还需要我们自己添加。总的来说,任何工具都有一定的局限性,结果可以为作为参考,实际还是离不开人力。

更多关于PICT的使用方法请参考PICT的帮助文档。

PS:实际上,我没弄清楚成对组合覆盖和正交表具体有什么样的区别,总感觉差不多,如果有小伙伴清楚的话,欢迎留言解惑,不胜感激!

组合覆盖与PICT的使用的更多相关文章

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

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

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

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

  3. 正交表生成工具 PICT 成对组合覆盖 收藏

    收藏:https://www.cnblogs.com/wmjperson/p/4557246.html

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

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

  5. PICT实现组合测试用例

    成功安装后,在命令行中输入命令pict: 可以看到pict命令的一些选项: /o:N   组合数,默认值为2,即pict生成的测试用例集中每条测试数据会有两个值与其他测试集是不同的: /d:C   值 ...

  6. PICT测试工具的安装及使用

    PICT工具就是在微软公司出品一款成对组合的命令行生成工具,现在已经对外提供,可以在互联网上下载到 .PICT 可以有效地按照两两测试的原理,进行测试用例设计.在使用PICT时,需要输入与测试用例相关 ...

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

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

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

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

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

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

随机推荐

  1. VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

    一.安装DirectShow. 我装的是DirectShow SDK 9.0b.安装程序名为DXSDK_Jun10.exe. 下载地址:https://pan.baidu.com/s/1kURma3t ...

  2. redis aof和rdb区别

    转自https://blog.csdn.net/m0_38110132/article/details/76906422 1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由 ...

  3. Pyramid Analytics宣布无缝集成BI Office和微软Power BI Desktop

    全球领先的企业商业智能(BI)软件提供商Pyramid Analytics与微软联手,凭借完善的分析平台BI Office强化Power BI Desktop的个人生产力功能.新的“Publish t ...

  4. Linux 磁盘管理命令

    df NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s[root@rehat root]# df -aT NO2. 显示指定文件系统的空间使用情况[root@rehat roo ...

  5. 老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分

    老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/guobaoyuan/ 开哥blog: https://home.cnblogs.com/u ...

  6. c# 编程小技巧

    1.对于界面布局,可以考虑使用 wpf,对于传统winfrom来说,tableLayoutPanel1可能是最好的选择. 2.你一定会问,如何使用代码管理大量的按钮,可以使用 List<Butt ...

  7. CH 2101 - 可达性统计 - [BFS拓扑排序+bitset状压]

    题目链接:传送门 描述 给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量.N,M≤30000. 输入格式 第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条 ...

  8. [No000010F]Git8/9-使用GitHub

    我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人 ...

  9. iOS引用类型

    强引用, 默认引用类型.被强引用指向的内存不被释放.强引用会对被引用对象的引用计数器+1,从而扩展对象的生命周期. 弱引用, 弱引用是医用特殊的引用类型.它不会增加引用计数器,因而不会扩展对象的生命周 ...

  10. dp进阶——饥饿的奶牛

    饥饿的奶牛oj上n只有1000,过于水,O(n^2)的算法很容易水过,洛谷上这是一道提高加的题,很难啊,所以要好好拿来练习今天写博客再次复习一下,oi最怕遗忘了. 这道题呢实质是一个区间覆盖的dp,首 ...