Pair Testing
All-Pairs Testing is a test design method to deal with the combinatorics problem of defining test cases in a systematic way.
成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果表明覆盖率高达90%以上。可见成对组合覆盖是一种非常有效的测试用例设计方法。 成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。组合覆盖的算法已经被很多工具实现,测试人员可以直接利用这些工具,例如:TConfig、微软的PICT等。下面介绍一下使用PICT设计测试用例的过程。
PICT,全称是Pairwise Independent Combinatorial Testing tool,是微软公司内部使用的一款成对组合的命令行生成工具,现在已经对外提供,可以从
官网:http://www.pairwise.org/ 常用的Pairwise工具集:http://www.pairwise.org/tools.asp上下载到。
PICT工具原理和算法实现可以参考http://msdn.microsoft.com/en-us/library/cc150619.aspx
- The model defines the parameters that need to be 'combined' and their values.
- Parameter names and values are defined by "parmname: val1, val2, ..." (list of comma seprated values).
- Values can be any string (numbers, names, logical names like "empty")
- You can define constraints to make sure the tool does not generate test case variants that are illegal.
- For details see PICT language reference
## PICT Example model: Parameters to the windows'FORMAT'command#Type: Primary, Logical, Single, Span, Stripe, Mirror, RAID-5Size:10,100,500,1000,5000,10000,40000Format method: quick, slowFile system: FAT, FAT32, NTFSCluster size:512,1024,2048,4096,8192,16384,32768,65536Compression: on, off# some simple constraintsIF [File system] ="FAT"THEN [Size] <=4096;IF [File system] ="FAT32"THEN [Size] <=32000;The number of test cases produced by different tools for the same model:
Model AETG 1) IPO 2) TConfig 3) CTS 4) Jenny 5) TestCover 6) DDA 7) AllPairs [McDowell] 5) PICT EXACT8) IPO-s 9) ecFeed 10) 34 9 9 9 9 11 9 ? 9 9 9 9 10 313 15 17 15 15 18 15 18 17 18 15 17 19 415 317 229 41 34 40 39 38 29 35 34 37 ? 32 37 41 339 235 28 26 30 29 28 21 27 26 27 21 23 28 2100 10 15 14 10 16 10 15 14 15 10 10 16 1020 180 212 231 210 193 181 201 197 210 ? 220 203
Pair Testing的更多相关文章
- hackerrank Similar Pair
传送门 Problem Statement You are given a tree where each node is labeled from 1 to n. How many similar ...
- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]
作业提交时间:10月9日上课前. Design and implement an Elevator Scheduler to aim for both correctness and performa ...
- RFID Exploration and Spoofer a bipolar transistor, a pair of FETs, and a rectifying full-bridge followed by a loading FET
RFID Exploration Louis Yi, Mary Ruthven, Kevin O'Toole, & Jay Patterson What did you do? We made ...
- Project Euler P105:Special subset sums: testing 特殊的子集和 检验
Special subset sums: testing Let S(A) represent the sum of elements in set A of size n. We shall cal ...
- Test Design Techniques - STATE BASED TESTING
Test Design Techniques - STATE BASED TESTING -Test note of “Essential Software Test Design” 2015-08- ...
- COMBINATORIAL TESTING
COMBINATORIAL TESTING -Test note of “Essential Software Test Design” 2015-09-06 Content 16.1 Coverag ...
- Project Euler 44: Find the smallest pair of pentagonal numbers whose sum and difference is pentagonal.
In Problem 42 we dealt with triangular problems, in Problem 44 of Project Euler we deal with pentago ...
- SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考
今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate).郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP成都研究院.当时,成都研究院的CRM团队 ...
- Bit error testing and training in double data rate (ddr) memory system
DDR PHY interface bit error testing and training is provided for Double Data Rate memory systems. An ...
随机推荐
- 高性能和可扩展的React-Redux
注意:文章很长,只想了解逻辑而不深入的,可以直接跳到总结部分. 初识 首先,从它暴露对外的API开始 ReactReduxContext /* 提供了 React.createContext(null ...
- Python 中的 os 模块常见方法?
os.remove() 删除文件 os.rename() 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir() 改变目录 os.mkdir/makedirs 创建目录/多层目 ...
- 实现斐波那契数列之es5、es6
es5实现斐波拉契函数数列: <script type="text/javascript"> function fibonacci(n) { var one = 1; ...
- HTML文档流和脱离文档流
文档流:也就是我们通常看到的由左到右.由上而下的元素排列形式,在网页中每个元素都是默认按照这个顺序进行排序和显示的. 脱离文档流:元素脱离文档流之后,将不再在文档流中占据空间,而是处于浮动状态(可以理 ...
- Solr的学习使用之(十)数据库(Oracle、SqlServer)原有的全文索引功能和Solr对比?
本人有个问题一直不解,既然solr的全文索引功能这么强大,而且效果也不错,那为什么那些数据库厂商比如Oracle.SqlServer,不把solr的功能集成进去呢,或者说把全文索引的功能做好点,做到和 ...
- Django 路由层与视图层
1.路由层 1.1无名分组 1.2 有名分组 1.3 反向解析 1.4 路由分发 1.5 名称空间 2.伪静态网页 3.虚拟环境 4.视图层 1.1 JsonResponse 1.2 FBV与CBV ...
- 机器学习-K-means聚类及算法实现(基于R语言)
K-means聚类 将n个观测点,按一定标准(数据点的相似度),划归到k个聚类(用户划分.产品类别划分等)中. 重要概念:质心 K-means聚类要求的变量是数值变量,方便计算距离. 算法实现 R语言 ...
- [HEOI2015]兔子与樱花(贪心)
[HEOI2015]兔子与樱花 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由\(n\)个树枝分叉点组成,编号从\ ...
- oracle 11g 执行先决条件检查失败的解决方法
在安装oracle 11g时,出现执行先决条件失败的情况如下: 你可以忽略所有强制安装,一般不会影响功能,但如果你想知道为什么会产生这种错误, 并且当出现以上情况时又该如何解决呢?如下列出了原因和解决 ...
- 【leetcode】1048. Longest String Chain
题目如下: Given a list of words, each word consists of English lowercase letters. Let's say word1 is a p ...