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

关于组合覆盖的更多内容,参考: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. JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法

    最近使用Easyui做项目,发现引入easyui-lang-zh_CN.js单元后页面会出现乱码,无论设置<meta>.还是Response都不能解决问题.用记事本打开easyui-lan ...

  2. python -u 启动python文件的作用,PYTHONUNBUFFERED环境变量的作用

    python -u 启动python文件的作用是不缓存,直接把输出重定向到文件,比如nohup启动什么的,如果不使用-u启动,那么程序中的print和日志什么的,可能不会非常及时的重定向到out文件, ...

  3. Linux里的2>&1究竟是什么

    我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令.首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系统 ...

  4. I - A/B

    要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input 数据的第一行是一个T,表示有T组数据. 每组数据有 ...

  5. ftp如何使用命令上传文件

    本地上传到服务器的步骤如下: 1."开始"-"运行"-输入"FTP" 2.open qint.ithot.net 这一步可以与第一步合并,在 ...

  6. python 中面向对象的概念

    原文 域和作用空间 本地域,函数域(nonlocal)和 全局域(global) def scope_test(): def do_local(): spam = "local spam&q ...

  7. Tif文件合并类

    using System; using System.Collections; using System.Collections.Generic; using System.Drawing; usin ...

  8. 【作业】DS稀疏矩阵

    写了两个小时,书上代码好难看啊 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #in ...

  9. spark application提交应用的两种方式

    bin/spark-submit --help ... ... --deploy-mode DEPLOY_MODE   Whether to launch the driver program loc ...

  10. 安装MAC的ReactNative环境

    brew install node brew install watchman npm config set registry https://registry.npm.taobao.org --gl ...