zoukankan      html  css  js  c++  java
  • 组合覆盖与PICT的使用

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

    关于组合覆盖的更多内容,参考: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-5
    Size:          10, 100, 500, 1000, 5000, 10000, 40000
    Format method: quick, slow
    File system:   FAT, FAT32, NTFS
    Cluster size:  512, 1024, 2048, 4096, 8192, 16384, 32768, 65536
    Compression:   on, off

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

    C:UsersAdministrator>PICT "D:Model.txt"

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

    Type    Size    Format Method   File system     Cluster size    Compression
    Mirror  10      quick   FAT     32768   off
    RAID-5  10      slow    FAT32   512     on
    Stripe  500     quick   NTFS    512     off
    Span    1000    slow    NTFS    1024    on
    Primary 100     quick   FAT32   16384   off
    Single  1000    slow    FAT     8192    off
    Primary 5000    slow    FAT     2048    on
    RAID-5  40000   quick   NTFS    8192    on
    Logical 10      slow    NTFS    65536   on
    Span    100     quick   FAT     65536   off
    Mirror  10000   slow    FAT32   65536   on
    Logical 1000    quick   FAT32   512     off
    Logical 40000   slow    FAT     4096    off
    Single  1000    quick   NTFS    4096    on
    Stripe  500     slow    FAT32   32768   on
    Mirror  100     quick   NTFS    2048    off
    Span    10      slow    FAT32   4096    off
    Single  40000   quick   FAT32   65536   off
    RAID-5  5000    quick   FAT     65536   off
    Stripe  1000    slow    FAT32   2048    on
    Primary 10000   quick   NTFS    8192    off
    Span    10000   slow    FAT     16384   on
    Primary 1000    slow    FAT32   65536   on
    Single  5000    quick   FAT32   1024    off
    RAID-5  100     slow    FAT     1024    on
    Single  500     slow    NTFS    2048    off
    Mirror  500     quick   FAT     1024    on
    Stripe  100     quick   FAT     4096    on
    Primary 40000   quick   FAT32   1024    off
    Single  10      quick   NTFS    16384   on
    Logical 5000    slow    NTFS    32768   off
    Stripe  10      slow    FAT     1024    off
    Primary 500     slow    NTFS    4096    off
    Mirror  1000    quick   FAT     16384   on
    Stripe  40000   quick   FAT     16384   off
    Mirror  10      slow    FAT32   8192    on
    Span    40000   quick   NTFS    32768   off
    Logical 10000   slow    NTFS    1024    off
    Span    5000    quick   FAT     512     on
    Logical 100     slow    FAT32   8192    on
    RAID-5  500     quick   NTFS    16384   on
    Stripe  5000    slow    NTFS    8192    off
    Mirror  5000    slow    NTFS    4096    off
    Span    500     quick   FAT     65536   off
    Span    10000   slow    NTFS    2048    on
    Stripe  10000   quick   FAT32   65536   off
    Primary 10      quick   FAT     2048    off
    RAID-5  10000   slow    NTFS    4096    on
    Primary 10000   quick   NTFS    32768   on
    RAID-5  1000    quick   FAT32   32768   on
    Primary 10000   quick   FAT     512     off
    Mirror  40000   slow    FAT32   512     on
    Single  100     slow    NTFS    512     off
    Logical 500     quick   FAT32   16384   off
    Single  100     slow    NTFS    32768   on
    Mirror  5000    quick   FAT32   16384   off
    Span    500     slow    FAT     8192    on
    RAID-5  40000   slow    FAT     2048    off
    Logical 10      quick   FAT     2048    off
    Single  10000   slow    FAT32   65536   on
    View Code

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

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

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

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

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

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

  • 相关阅读:
    B. Connecting Universities DFS,无向树
    HDU 5808 Price List Strike Back bitset优化的背包。。水过去了
    uva 6910
    HDU 5778 abs 数学
    Invitation Cards POJ 1511 SPFA || dij + heap
    HDU 2243 考研路茫茫——单词情结 求长度小于等于L的通路总数的方法
    cmd链接mysql
    如何设置远程访问mysql
    ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password:YES)51Testing软件测试网-H*?U)}$h }P6H4H
    String ,StringBuffer,StringBuilder的区别(转)
  • 原文地址:https://www.cnblogs.com/zhengna/p/9679233.html
Copyright © 2011-2022 走看看