在测试设计过程中,大家都会遇到很多变量进行组合的情况,对相互组合的两个或更多变量进行的测试活动就是组合测试,一般情况下都是使用组合测试法,但这种情况很多测试人员研究得不够深入。测试人员需要开发或了解组合测试法中使用到的工具,通过程序得到用例组合才更加合理和全面,如果不在测试中一起改变某些变量,就会遗漏由不同的变量组合而触发的错误。

首先介绍下组合测试法的定义,组合测试是一种测试用例生成方法。它将被测系统抽象出来的变量的取值进行组合并生成一组测试用例的过程,一般情况下,组合测试能够在保证错误遗漏率的前提下采用较少的测试用例测试系统。但是对于如何从全集合的变量组合中抽取出有效的测试用例,会有不同的方法,两因素(Pairwise)组合测试就是一种比较好的方法去挖掘出有效的测试用例组合。接下来介绍另外一种方法去自动生成较好的测试用例集,那就是全对偶测试法(All Pairs)。这些组合测试方法也是高级测试工程师必须掌握的。

现在我们假设存在3个变量:V1、V2、V3,V1变量存在3个值:A、B、C;V2变量存在2个值:D、E;V3变量存在2个值:F、G。按照组合测试法,可以组合出3*2*2 = 12种情况,也就是可以设计出12个测试用例。如果3个变量都存在5个不同的值的话,那就可以组合出5*5*5 = 125种情况,也就是需要设计出125个测试用例。测试专家James Bach使用全对偶测试法(All Pairs)将这125个测试用例压缩成25个测试用例,从理论上来覆盖变量组合的测试覆盖率,全对偶测试法有个基本的原则是每个变量的每个取值都要与至少一个用例中的每个其他变量的每个取值配对。

为了让业界测试人员更能方便的使用全对偶测试法产生的组合测试的测试用例,James Bach使用Perl语言开发了一个allpairs工具,接下来通过讲解allpairs工具的使用方法来了解全对偶测试法(All Pairs)的实现原理和组合策略。本工具的下载地址:http://www.satisfice.com/tools/pairs.zip。

假设我们有两个参数需要测试,比如操作系统,打印机,先列出每个参数的值:

操作系统:

Win 98

Win XP

Win 7

打印机:

HP 4050

HP 4100

为了测试所有的组合对(pairings),测试用例包括如下情况:

用例操作系统打印机

1Win 98HP 4050

2Win 98HP 4100

3Win XPHP 4050

4Win XPHP 4100

5Win 7HP 4050

6Win 7HP 4100

在两个参数的情况下,所有的组合对(pairings)就是参数之间的所有组合情况。但是如果我们新增一个参数将会发生什么呢?

是否双面打印:

下面是3个参数进行组合的所有测试用例:

用例操作系统打印机是否双面打印

1Win 98HP 4050是

2Win 98HP 4100是

3Win XPHP 4050是

4Win XPHP 4100是

5Win 7HP 4050是

6Win 7HP 4100是

7Win 98HP 4050否

8Win 98HP 4100否

9Win XPHP 4050否

10Win XPHP 4100否

11Win 7HP 4050否

12Win 7HP 4100否

31/3123>

组合测试法是什么 软件测试,组合测试法中的全对偶测试法相关推荐

  1. Java黑皮书课后题第5章:*5.43(数学:组合)编写程序,显示从整数1到7中选择两个数字的所有组合,同时显示所有组合的总个数

    5.43(数学:组合)编写程序,显示从整数1到7中选择两个数字的所有组合,同时显示所有组合的总个数 题目 题目概述 破题 运行示例(要求) 代码 题目 题目概述 5.43(数学:组合)编写程序,显示从 ...

  2. 软件测试常用术语中、英文概述

    软件测试常用术语中.英文概述 Smoke Testing(Sanity Testing )-冒烟测试  Acceptance Testing--验收测试  一般由用户客户进行的确认是否可以接受一个产品 ...

  3. 广义线性模型?链接函数?sigmoid和softmax?Logistic处理多分类问题?logistic回归处理超大数据?使用logistic和randomsearch进行组合获取最优参数组合、优缺点

    广义线性模型?链接函数?sigmoid和softmax?Logistic处理多分类问题?logistic回归处理超大数据?使用logistic和randomsearch进行组合获取最优参数组合.优缺点 ...

  4. xgboost是什么?相对于gbdt有什么优势?如何使用randomSearchCV和xgboost进行组合获取最优参数组合?

    xgboost是什么?相对于gbdt有什么优势?如何使用randomSearchCV和xgboost进行组合获取最优参数组合? GBDT (Gradient Boosting Decision Tre ...

  5. LightGBM是什么?相对于xgboost有什么优势?如何使用randomSearchCV和lightgbm进行组合获取最优参数组合?

    LightGBM是什么?相对于xgboost有什么优势?如何使用randomSearchCV和lightgbm进行组合获取最优参数组合? GBDT (Gradient Boosting Decisio ...

  6. 【组合数学】组合恒等式 ( 变下项求和 3 组合恒等式 | 变下项求和 4 组合恒等式 | 二项式定理 + 求导 证明组合恒等式 | 使用已知组合恒等式证明组合恒等式 )

    文章目录 一.组合恒等式 ( 变下项求和 ) 变系数求和 1 二.组合恒等式 ( 变下项求和 ) 变系数求和 1 证明 ( 二项式定理 + 求导 ) 三.组合恒等式 ( 变下项求和 ) 变系数求和 2 ...

  7. python 类继承和组合_python3--类与继承和组合

    类和继承:"是一个"关系 我们已经深入探索了继承的机制,这里举个例子来说明它是如何用于模拟真实世界的关系的.从程序员的角度来看,继承是由属性点号运算启动的,由此触发实例.类以及任何 ...

  8. 计算机合并键功能,Word组合(功能键与Ctrl等组合) -电脑资料

    Word组合(功能键与Ctrl等组合) -电脑资料 时间:2019-01-01 [www.unjs.com - 电脑资料] Word快捷键都有哪些?恐怕您目前所掌握的Ctrl+B.Ctrl+E这类的最 ...

  9. 组合模式_[设计模式]10.组合模式

    组合模式,也叫"部分整体模式",它把相似的对象组合成树形结构的一个整体.于是,只需一个代表,我们就能继续访问与之相关的同族对象. 模式卡片 模式UML图 七个例子 部门里人很多,大 ...

最新文章

  1. 简单的python服务器程序
  2. html Frame、Iframe、Frameset 的区别 详细出处参考:http://www.jb51.net/web/22785.html
  3. HDU 5384 Danganronpa (2015年多校比赛第8场)
  4. VelocityTracker简单介绍
  5. 【Linux】一步一步学Linux——chmod命令(110)
  6. 2017年度总结:迷茫。
  7. HQL写topN、Spark写topN
  8. 计算机视觉CV中RANSAC算法的学习笔记~
  9. Enable SSH Server
  10. (Windows) CodeBlocks 下载
  11. voc2007目标检测数据集制作
  12. 第二人生的源码分析(103)脚本的词法分析(1)
  13. Piranha web 界面LVS DR 模式配置图文详解
  14. python去除字符串中的单词_从字符串中删除特定单词的最有效方法
  15. 数字锁相ud,uq的关系
  16. oracle 19c jdbc之Reactive Streams Ingestion (RSI) Library
  17. Oracle 序列使用整理
  18. 程序员写代码要写注释吗?写你就输了
  19. centos7下mysql忘记密码并修改
  20. 【8082端口被占用】

热门文章

  1. 详解浏览器解析一个URL的全过程
  2. 两个年月日怎么相减_会议记录应该怎么记?看这里
  3. 科大星云诗社动态20210818
  4. 台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation
  5. OCR-PIL.Image与Base64 String的互相转换
  6. Unet项目解析(4): ./src/RetinaNN_predict.py
  7. 不同外置模拟器用Android Studio连接指令
  8. bootsect.s 预备——Linux-0.11 剖析笔记(一)
  9. 显存文本模式详解 ———《x86汇编语言:从实模式到保护模式》读书笔记补遗02
  10. 【快乐水题】575. 分糖果