组合测试用例工具讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组合测试用例工具介绍

绿光

根据我自己使用的情况,给大家介绍两款组合用例测试工具,pict和allpairs。Pict和allpairs都是基于组合分析的测试用例用具,在测试某些功能时,我们会面对庞大测试用例组合情况,通过pict和allpairs工具可以减少我们的测试用例数,并且可以保持较高的测试覆盖率。

1.PICT

微软开发的工具PICT(Pairwise Independent Combinatorial Testing tool)类似AETG的方法选择候选测试用例,它是基于Pairswise算法程序的工具,可以有效地按照组合原理进行测试用例设计。

1.1 PICT参数文件格式

PICT模型文件,文件中至少包含参数定义。子模型定义及约束定义可选。如下所示:[parameter definitions]

参数定义格式:,……

[sub-model definitions]

子模型定义格式:{ ,… } @ N

[constraint definitions]

规则约束:IF THEN 条件语句,此外在条件语句中支持:=、<>、>、>=、<、<=、LIKE、NOT、AND、OR……还可支持同类参数的互相比较。

下面我以川航后台的权限管理为例,简单讲解一下他们的利用。权限模块的例子选取有一定局限性,大家能明白这样子的工具方法就行,在以后的测试中,遇到适合情况能够方便使用。

如图:权限管理页面的页面元素和取值情况。页面共有25个模块功能,每个模块功能有0,1,2三种取值。如果我们要做到权限测试用例的全覆盖。那么我们需要设计3^25 = 847 288 609 443个用例去覆盖组合情况。然而实际中我们根本不可能做到全覆盖,时间和成本都不允许。

大家面对如此庞大的用例的时候,首先想到的可能是正交实验法,但是使用过正交法的朋友可能知道,我们面对因子数不同,各个因子水平数不同的时候,在选取正确的正交表时也是比较麻烦的。

1.1 参数文件

下面介绍PICT的使用,根据PICT的参数文件格式。我们可以生成如下的参数文件qx.txt。这里为了方便我把无权,浏览,管理用了相应的0,1,2进行的替换。

我们通过pict进行执行,生成结果如图。

我们例子的参数比较多,页面看起来比较凌乱,我们可以把测试用例保存到指定txt和xls的文件中进行查看。

执行这些命令之后会在C盘下面生成一个qxyl.txt的文本文件或者qxyl.xls的Excel文件。

通过PICT工具的筛选,我们的测试用例现在减少为25个。

1.2 子模型

PICT默认是两两组合方式,我们自己可以利用子模型的定义,实现指定多个参数的组合。如我们要组合退票一审,退票二审,退票退款三个参数,实现三因素的组合。需要在qy.txt 文本文件后面加上{退票一审,退票二审,退票退款}@3子模型语句。以我们例子为例,这样在qxyl2.xls文件中实际组合生成中生成了87条测试用例。

我们也可以强调全部参数的三因素组合测试用例集,这个时候,只需要在执行命令的参数文件名之后加上/0:3即可。

1.3 规则约束

PICT不光可以组合测试用例,它还可以根据约束条件制约我们的测试用例集。如我需要设置一种情况,退票一审,退票二审权限是一致的情况,即退票一审为0时,退票二审也为0,退票一审为1时,退票二审也为1,退票一审为2时,退票二审也为2。

这时我们需要在我们的qx.txt文本中输入规则约束:

IF [退票一审] = 0 THEN [退票二审] = 0;

IF [退票一审] = 1 THEN [退票二审] = 1;

IF [退票一审] = 2 THEN [退票二审] = 2;

这个时候生成的qxyl4.xls中所有的用例中,都会是退票一审和退票二审权限一致的用例。基于规则,在实际中如果我们业务逻辑复杂,编写的判断条件很多的时候需要我们仔细去综合判断。

这里补充一个,在PICT中,参数"/r:N"可以为测试用例生成引入随机种子(N是作为随机种子的整数),生成不同的测试用例。例如以当前日期为种子,生成测试用例集。可以使得我们的测试用例集的具体内容随日期变化,在保证两两因素覆盖的前提下,扩大了对被测试应用的状态覆盖。

注:%date的格式可能会随Windows系统设置而变化,该语句只适用于特定某些Windows 系统,本机使用windows xp sp3

以上我只是基础的借着这个例子讲解了下PICT的使用,关于PICT的其它别名、继承等功能,大家可以安装了之后查看其帮助手册,有时间大家可以去了解一下。下面我在介绍下allpairs 工具。

2.ALLPAIRS工具

Allpairs工具和pict一样也是组合测试用例工具,它们不同在于有些算法有一些不一致,allpairs它的参数文件是制表位区分的。我们可以通过excel文件来生成,然后复制内容拷贝到文本文件中就可以了。这里同样以上面的例子为例。

我们准备一个参数文件。如图:

复制内容并将其拷贝到文本文件中,将其另存为allqx.txt,生成的参数文件如下:

这个时候,同PICT一样,我们只需要利用allpairs命令执行该参数文件即可。

在生成的allqxyl.xls文档中,allpairs在生成测试用例的同时,文件下方还多显示了一些项。

其中appearance列就明确说明了两两组合值出现的次数,并在case列显示出对应的用例编号。

通过工具组合出来的测试用例毕竟是有限的,在某些情况下并不适用。它也许会漏掉一些很重要的测试用例,我们在有限时间的情况下的时候可以手动的加上一些额外测试用例作为补充。针对这种方式的测试用例设计它最适合的场景是兼容性和配置测试,这类测试通过我们的组合测试可以检测到更多的错误,因为在实际中,可能大部分的缺陷都是有某些配置项或者兼容项组合导致。

对于其它类型的测试,这些测试用例的生成之后可以用于探索性测试,随机测试中。根据随机性我们运行时每次都生成新的组合测试用例集,我们可以利用这些测试用例去探测我们的问题区域和范围,标记出一些发现了缺陷的用例。然后把这些测试用例记录总结下来,形成我们以后进行迭代和回归测试时很好的测试用例集。

本机运行环境说明,pict和allpairs都是在dos命令下进行。我下载的pict是安装文件,安装之后它写入了环境变量。所以对执行的路径没有要求。Allpairs是压缩包,直接解压缩在C盘,其中pairs.exe在c:\allpairsall目录下,所以必须在c:\allpairsall下运行allpairs命令。

下面给大家一个软件下载的地址连接:具体软件生成测试用例的算法大家有时间可以去了解一下。

PICT: /en-us/testing/bb980925.aspx

ALLPAIRS: /tools.shtml

相关文档
最新文档