上次简单总结了PICT命令的一些用法,这次重新把《软件测试实战》里面有关这一章的内容再总结一次,以巩固理解。

  • 组合测试的概念

  组合测试(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中的~在无效数据前进行标记;

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

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

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

  2. PICT实现组合测试用例

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

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

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

  4. 理解函数式编程中的函数组合--Monoids(二)

    使用函数式语言来建立领域模型--类型组合 理解函数式编程语言中的组合--前言(一) 理解函数式编程中的函数组合--Monoids(二) 继上篇文章引出<范畴论>之后,我准备通过几篇文章,来 ...

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

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

  6. javaweb各种框架组合案例(二):maven+spring+springMVC+mybatis

    1.mybatis是比较新的半自动orm框架,效率也比较高,优点是sql语句的定制,管理与维护,包括优化,缺点是对开发人员的sql功底要求较高,如果比较复杂的查询,表与表之间的关系映射到对象与对象之间 ...

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

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

  8. 【框架】用excel管理测试用例需要的参数数据(二)

    一.总体思路 以类为excel名,测试方法名为sheet名,建立excel文件.用jxl包里的方法去读取excel文件里的内容,然后用testng里的dataprovider,将数据传递给测试用例 二 ...

  9. PICT工具安装使用

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

随机推荐

  1. python学习笔记13(模块、包)

    在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...

  2. iOS sqlite 增删改查 简单封装(基于 FMDB)

    /** *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * *  基于 FMDB * *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整 ...

  3. GitHub 有哪些优秀的项目

    GitHub 有哪些优秀的项目 http://www.zhihu.com/question/20584141

  4. 1028: [JSOI2007]麻将 - BZOJ

    Description 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西.北.中.发.白七种)和序数牌(分为条子.饼子.万子三种花色,每种花色各有一到九的九种牌),每种牌各四张.在 ...

  5. spring的配置模式与注解模式基础

    “依赖注入”是spring的核心特征,在Web服务器(如Tomcat)加载时,它会根据Spring的配置文件中配置的bean或者是通过注解模式而扫描并装载的bean实例自动注入到Application ...

  6. Matlab实现ItemBasedCF算法

    感谢开源大神,慢慢收集资料.网上资料很少,我在找如何用matlab处理movielens数据集时找到的. 用ml-100k这个数据集,包括主函数和相似度函数. 代码托管于CSDN.

  7. cocos2dx Sprite setBlendFunc 使用颜色混合:加算,减算

    说明: 图片的混色是游戏的特效的特破口,应用的好,可以大量减少图片的使用量,有专门的介绍资料... setBlendFunc  相关参数,有多种组合方式,需要经验的积累 http://blog.csd ...

  8. live555源码研究(三)------UsageEnvironment类

    一.UsageEnvironment类作用 1,不使用的时候回收当前的使用环境. 2,对返回结果消息和错误消息的维护. 二.类UsageEnvironment继承关系图

  9. 数据库存储安全之(MD5+盐)加密

    一般系统数据库密码加密方式: MD5后存入数据库 SHA1 Hash后存入数据库 缺点:黑客可以通过密码暴力破解获取密码信息,具体做法是将常用密码进行Hash后做成一个字典, 破解的时候,只需要查字典 ...

  10. 让JAVA代码跑得更快

    本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧. 1.   将一些系统资源放在池中(如数据库连接, 线程等) 在standalone的应用中, 数据库连接池可以使用一些开源的连接池 ...