PICT实现组合测试用例(二)
上次简单总结了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实现组合测试用例(二)的更多相关文章
- PICT实现组合测试用例(一)
最近阅读了史亮老师的<软件测试实战:微软技术专家经验总结>一书,其中“测试建模”一章让我受益匪浅.想想以前的测试有多久没有花过心思放在测试用例的设计上了,一直强调“测试思想”的培养也都只是 ...
- PICT实现组合测试用例
成功安装后,在命令行中输入命令pict: 可以看到pict命令的一些选项: /o:N 组合数,默认值为2,即pict生成的测试用例集中每条测试数据会有两个值与其他测试集是不同的: /d:C 值 ...
- 安装并使用PICT,生成测试用例
一.PICT简介 PICT工具是在微软公司内部使用的一款承兑组合的命令行生成工具,现在已经对外提供,可以在 http://download.microsoft.com/download/f/5/5/f ...
- 理解函数式编程中的函数组合--Monoids(二)
使用函数式语言来建立领域模型--类型组合 理解函数式编程语言中的组合--前言(一) 理解函数式编程中的函数组合--Monoids(二) 继上篇文章引出<范畴论>之后,我准备通过几篇文章,来 ...
- 用例设计工具PICT — 输入组合覆盖
1 成对测试简介 成对测试(Pairwise Testing)又称结对测试.两两测试,是一种正交分析的测试技术.成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.是当不可能遍 ...
- javaweb各种框架组合案例(二):maven+spring+springMVC+mybatis
1.mybatis是比较新的半自动orm框架,效率也比较高,优点是sql语句的定制,管理与维护,包括优化,缺点是对开发人员的sql功底要求较高,如果比较复杂的查询,表与表之间的关系映射到对象与对象之间 ...
- 转载:PICT使用教程(设计测试用例工具)
原文:https://blog.csdn.net/quiet_girl/article/details/50699543 之前一篇写了正交设计助手的使用教程,与正交设计助手相比,个人觉得PICT的使用 ...
- 【框架】用excel管理测试用例需要的参数数据(二)
一.总体思路 以类为excel名,测试方法名为sheet名,建立excel文件.用jxl包里的方法去读取excel文件里的内容,然后用testng里的dataprovider,将数据传递给测试用例 二 ...
- PICT工具安装使用
前言:PICT工具在微软公司出品一款成对组合的命令行生成工具.PICT 可有效地按照两两测试Pairwise的原理,进行测试用例设计.在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖 ...
随机推荐
- SQL优化之索引
最近碰到一个问题,因数据量越来越大,然后存储过程查询过慢!后来发现没有加索引列导致的!从这里让我开始慢慢去了解索引的原理及作用!以下是我的总结,个人理解只供参考: SQL SERVER提供了两种索引: ...
- springmvc 数据对象回绑
springmvc中,由页面 post到 controller,对象可以在form里面设置modelAttribute达到回绑的目的. 但是如果对象里面有复杂的非String,int的对象,则要在co ...
- 3.3 spring-meta子元素的使用与解析
1. meta元素的使用 在解析元数据的分析之前,我们先回顾一下 meta属性的使用: <bean id="car" class="test.CarFactoryB ...
- 分析jQuery中的each方法
在看jQuery源码是怎么实现each方法之前,我们看一下js的原生实现. ECMAScript 5为数组定义了一个forEach方法,该方法接受两个参数:第一个参数是要在每一个数组项上运行的函数,第 ...
- XSS 攻击在它的面前都弱爆了!
虽然双十一刚刚过去不久,但是对很多工程师来说,连续熬夜加班的「噩梦」似乎还没有过去.尤其是像双十一这种活动,对于电商网站的工程师们来说,他们需要彻夜的加班加点来保障网站的稳定性和安全性.当然,面对上千 ...
- 批量扫描互联网无线路由设备telnet,并获取WIFI密码
批量扫描互联网无线路由设备telnet,并获取WIFI密码 http://lcx.cc/?i=4513
- linux top动态查看进程信息
来源<鸟哥的linux私房菜> top:动态观察程序的变化 [root@linux ~]# top [-d] | top [-bnp] 参数: -d :后面可以接秒数,就是整个程序画面更新 ...
- [Gauss]HDOJ3364 Lanterns
题意:有n个灯笼,m个开关 每个开关可以控制k个灯笼, 然后分别列出控制的灯笼的编号(灯笼编号为1到n) 下面有Q个询问,每个询问会有一个最终状态(n个灯笼为一个状态)0代表关 1代表开 问到达这种状 ...
- codeforces #310 div1 B
我们考虑n-1座桥每座桥需要的长度在一个区间[L,R]中 之后我们现在有m座桥,每个桥的长度为k 题意就是要求一个匹配方案 显然如果数据范围不大直接KM就可以了 可是20w的数据KM显然要T 所以我们 ...
- 配置SQL Server 2008服务器
怎么配置SQL Server 2008服务器_百度经验 http://jingyan.baidu.com/article/9faa7231a922c1473c28cb23.html 1.验证安装是否成 ...