ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:60.76KB ,
资源ID:10727089      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10727089.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成对组合覆盖与PICT的应用.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

成对组合覆盖与PICT的应用.docx

1、成对组合覆盖与PICT的应用 成对组合覆盖与PICT的应用一、成对组合覆盖简介成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果说明覆盖率高达90%以上。可见成对组合覆盖是一种非常有效的测试用例设计方法。成对组合覆盖要求任意两个因素输入条件的所有水平组合至少要被覆盖1次。组合覆盖的算法已经被很多工具实现,测试人员可以直接利用这些工具,例如:TConfig、微软的PICT等。下面介绍一下使用PICT设计测试用例的过程。二、PICT的应用(一)PICT概述成对组合覆盖测试 工具 PIC

2、T 能帮助你有效地设计软件系统测试用例和测试配置 。使用 PIC T生成的测试用例比手工生成的更有效 。 在保证测试覆盖率的前提下 , 尽量缩小参数值组合的。PS:其实pict不单单是成对组合2阶,其实可以实现多阶组合覆盖,只是默认为2阶(二)使用PICT组合测试用例参数PICT 以命令行方式运行。在运行之前,需要准备一份详细描述了测试参数的模型文件。例如 , 如果你想给分区和卷建立一组测试用例集 , 在这里需要用到以下几个参数 : -类型: Primary , Logical , Single , Span , Stripe , Mirror , RAID-5尺寸: 10 , 100 , 5

3、00 , 1000 , 5000 , 10000 , 40000格式方法:快,慢文件系统: FAT , FAT32 , NTFS簇大小: 512 , 1024 , 2048 , 4096 , 8192 , 16384 , 32768 , 65536压缩:开,关-这些参数可能的取值组合超过 4700 个。在合理的时间范围内测试完他们那将是非常困难的一件事情 。 研究说明 , 把所有可能的值成对进行组合能做到很好的测试覆盖且测试用例的数量由此也会变得可控 。 例如 , Primary , FAT 是一对和 10 , 慢 是另外一对 , 单个测试用例可以覆盖到多个部分。使用上面的参数运行 PICT

4、将产生 60 个测试用例。Eg:modelfile1.txt(三)运行PICTPICT 是一个命令行工具,它接受一个纯文本文件作为输入,然后输出测试用例集。-用法: PICT 模型文件路径 选项 选项:/o:N - 组合次数默认 :2 /d:C - 值之间的分隔符 默认 :, /a:C - 别名间的分隔符默认 :| /n:C - 负值前缀默认: /e:file - 种子文件/r:N - 随机生成 ,N 表示产生随机的种子/c - 模型计算区分大小写/s - 显示模型统计数据-PICT 安装程序将会把 PICT 安装到指定的路径 , 然后你可以从指定的目录中运行它 。 要想查看上面例子的 PIC

5、T 输出,可使用任何像 Windows 记事本 的文本编辑器创建模型文件,然后运行下面的命令:(四)模型文件1、模型区域一个模型文件至少包含 1 个区域,最多包含 3 个区域:-参数定义 子模型定义 约束定义 -模型文件中的区域应始终按照上面所列的先后顺序被显示 , 且不能重叠 。 首先是参数定义部分 , 然后是子模型定义和约束定义部分 。 它们之间不需要任何特殊的分隔符 。 空行可以出现在任何地方。可以用 “ ” 开启一行注释。1)、简单模型为了产生一个非常基本的模型文件 , 你需要列出参数名称 , 每行一个参数和它可能的取值之间用分号分隔::,.例如:# 这是一个测试 创建 / 删除磁盘卷

6、 功能的简单模型文件Size: 10, 100, 500, 1000, 5000, 10000, 40000File system: FAT, FAT32, NTFSCluster size: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536逗号是默认的分隔符,可使用 “ /d: ” 选项指定一个不同的分隔符。模型文件中的符号都需要用英文输入法半角下输入Eg:modelfile2.txt 2)、成对和高阶生成默认情况下 , PICT 生成一组成对组合且覆盖所有情况的测试用例集 。 可以使用选项 “ /o:N ”设置比 2 更大的排列次数。例如,如

7、果指定 “ /o:3 ” ,由此生成的测试用例将涵盖所有三个一组的值 , 产生比成对测试更多的测试用例 , 这样测试的覆盖范围就更大 。 对于一个简单的模型文件, PICT 选项 “ /o:N ” 的最大取值应小于等于模型文件中参数的总量。如果 N 取值等于参数总量 , 那参数取值将会涵盖所有可能的组合 。 同样 , 指定 “ /o:1 ” 将产生涵盖所有值一次的测试组合。Eg:modelfile2.txt 执行2阶即成对组合时,有56个用例。执行3阶时即全部覆盖,因为只有3个参数,有168个用例执行1阶时,只有8个用例因为其中一个参数的最多可能值为83)、子模型子模型允许你将一些参数绑定到组

8、中 , 以得到自定义的组合顺序 。 在某些参数组合需要被更充分测试时,这种方式会很有用。子模型以下面的格式定义: , , , . 例如,子模型对涉及硬件和软件参数结合在一起的测试用例时是十分有用的。没有子模型 ,每个测试用例将产生一个新的 、 唯一的硬件配置 。 将硬件参数放置到一个子模型中可以产生更少的硬件配置,从而尽可能地降低测试成本。使用创建子模型的命令可带来不少灵活性 。-PLATFORM: x86, ia64, amd64CPUS: Single, Dual, QuadRAM: 128MB, 1GB, 4GB, 64GBHDD: SCSI, IDEOS: NT4, Win2K, Wi

9、nXP, Win2K3IE: 4.0, 5.0, 5.5, 6.0APP: SQLServer, Exchange, Offi PLATFORM, CPUS, RAM, HDD 3 OS, IE 2以下图描述了上面的模型是怎么产生的:Eg:modelfile4.txt(60个用例) modelfile5.txt(20个用例)注意:1 你可以定义尽可能多的子模型,一个参数可属于多个子模型。模型层次结构可以只是一个层次。2 子模型 order 的取值不能超过它所含参数的数量。在上面的例子中,第一个子模型的 order 可以取 1 到 4 之间的值。3 如果你没有给子模型指定 order 值, PI

10、CT 会使用默认的 order 值或使用选项 “ /o ”的值。2、模型选项1)、约束:条件约束、无条件约束约束允许你指定域的限制 。 在前面的分区例子中 , 一对 FAT,5000 将至少出现在一个测试用例中。但是, FAT 文件系统不能创建大于 4096 MB 的卷。注意,你不能简单地从测试集中删除这样的测试用例 , 因为这个讨厌的用例可能覆盖一些没有出现在其它用例中但有效的测试情况。为了防止丧失有效的测试情况,你可以在生成的过程中排除不可接受的组合。 在PICT 中指定一个约束,像下面这样:-Type: Primary, Logical, Single, Span, Stripe, Mi

11、rror, 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, offIF File system = FAT THEN Size = 4096;IF File system = FAT32 THEN Size = 32000;为了更能看出效果,如下例子:Eg:modelfile6.

12、txt1.条件约束 参数及其取值是谓词逻辑的原子部分。它们之间的关系可使用这些符号表示 :=,=,=, 和 LIKE 。 LIKE 是一个通用匹配的操作 (* 表示任意多个字符, ? 表示任意一个字符 。约束分为两种:有条件的 if-then-else 和无条件的。Size 10000Compression = OFFFile system like FAT*-操作符 IN 允许指定一组满足明确关系的值:-IF Cluster size in 512, 1024, 2048 THEN Compression = Off;IF File system in FAT, FAT32 THEN Com

13、pression = Off;如下面后台的一个检索条件:选择不同的专卖店则有其对应的不同广告标题值则可用上面的in来明确一组关系值在 IF 、 THEN 、 ELSE 的语句中可以加入逻辑操作符 NOT 、 AND 和 OR 。可使用圆括号改变它们的运算优先顺序:-IF File system NTFS OR ( File system = NTFS AND Cluster size 4096 )THEN Compression = Off;IF NOT ( File system = NTFS OR ( File system = NTFS AND NOT Cluster size = 40

14、96 )THEN Compression = Off;参数可以被组合到另一个参数中:-# Machine 1OS_1: Win2000, WinXPSKU_1: Professional, Server, Datacenter, WinPoweredLANG_1: EN, DE# Machine 2OS_2: Win2000, WinXPSKU_2: Professional, Server, DatecenterLANG_2: EN, DEIF LANG_1 = LANG_2THEN OS_1 OS_2 AND SKU_1 SKU_2;2.无条件约束不变 一个不变的声明在一个域中总是有效的限

15、制:# 至少有一对参数不相等才是有意义的测试用例使用 OR 运算符OS_1 OS_2 or SKU_1 SKU_2 or LANG_1 LANG_2;-# 每对参数必须不相等使用 AND 运算符OS_1 OS_2 and SKU_1 SKU_2 and LANG_1 LANG_2;Eg:modelfile7.txt2)、参数类型PICT 使用参数类型的概念。有两种类型的参数: numeric 和 string 。只有所有的值都 是numeric 时才会被认为是 numeric 参数 。 如果一个值有多个名字 , 那么只有第一个会被计算 。只有在评估约束性时类型才是重要的。你只能把 numeri

16、c 参数与数字作比较, string 参数与字符串作比较。例如:-Size: 1, 2, 3, 4, 5Value: a, b, c, dIF Size 3 THEN Value b;-默认情况下 , 比较字符串时大小写不敏感 。 你可以指定 “ /c ” 选项以使字符串比较时大小写敏感。 Numeric 值作为数字进行比较。Eg:Modelfile8.txt3)、负面测试除了测试被称为 “ 正面测试 ” 有效组合外 , 你通常需要测试允许范围之外的值 , 以确保程序适当地处理了错误 。 每个 “ 负面测试 ” 测试用例应该只有一个无效的值 , 因为大多数程序当它们发现第一个错误后就不会再做进

17、一步处理 。 为此 , 就可能发生负面测试中被称之为输入掩盖的问题。一个无效的输入阻止了其他无效输入被测试。eg:检测登陆功能的模型文件Modelfile9.txt注意: 在比较期间 , PICT 不会把前缀作为值的一部分 。 在约束中 , 也不会使用带前缀的值 ,前缀不会影响值的类型 。 前缀会出现在输出结果中。4)、权重使用权重 , 您可以强制 PICT 优先接受指定的值 。 权重可以是任何正整数 。 如果你没有显式地指定一个权重,那么 PICT 默认会使用 1 。-# 让我们把焦点放在使用 NTFS 格式化主分区上Type: Primary (10), Logical, Single,

18、Span, Stripe, Mirror, RAID-5SIZE: 10, 100, 500, 1000, 5000File system: FAT, FAT32, NTFS (10)Eg:modelfile10.txt重要说明: 权重值没有绝对的意义。例如,当一个参数定义如下时:File system: FAT, FAT32, NTFS (10)这并不意味着 NTFS 在输出结果中会是 FAT 或 FAT32 的 10 倍 。 此外 , 你还不能认定你所指定的权重一直会起作用,因为 PICT 还必须要处理两个相互矛盾的要求:1 在最少的测试用例中覆盖所有参数组合2 根据参数的权重进行取值上述

19、 规则 1 的优先级永远比 规则 2 高,只有在选择值时不需要依赖 规则 1 ,权重才有可能起作用。更确切地说,在创建测试用例的过程中, PICT 会评估所有可能的候选值,然后尽量选择在大多数参数值组合中没有使用过的值 。 有时候多个候选值可能同样重要 。 在这种情况下, PICT 会使用权重去做最终的选择。你可以使用权重尝试将时机偏向一些值,但是 PICT 会决定是否遵守这一要求,到什么程度,使用几个因素,不仅只是权重。Eg:modelfile11.txt5)大小写敏感性 默认情况下 , PICT 执行所有比较和检查时不区分大小写 。 例如 , 有 OS 、 os 两个参数 , PI会认为它

20、们重名 参数名必须是唯一的 。 PICT 默认也会解除大小写限制 : IF OS = Win2 THEN . 将会匹配 Win2K 和 win2k 两个值参数值可以不是唯一的 。可以使用选项 “ /c使模型计算时完全区分大小写。、大小写敏感性(五)警告信息约束或 条件 定义出错的警告应当引起注意 。 PICT 在生成过程中发现有语法错误时不会停止它仍然能生成一些有意义的结果 。 然而 , 如果你看到这些警告后 , 最好还是重新检查一下模型文件中的参数和约束。全部或没有值满足关系 当你定义了一个错误的关系时 , 这种警告能给你及早的提示 。 所有的关系 、 条件或约束都必须让结果集是有意义的。如

21、果没有值满足关系或所有的值都满足关系,则肯定哪儿出错了如果看到此警告,得重新检查一下你的值关系并理清他们。Eg:modelfile12.txt限制性约束,输出将不包含以下值 有时一组约束条件交织在一起导致一些值总是违反一个或多个约束条件 。 循环依赖便是这样的一个例子:-if A = a1 then B = b1;if B = b1 then C = c1;if C = c1 then A = a2;在这个例子中 , 选择 a1 意味着选择 b1 , 这使得该工具选择了 c1 , 反过来又意味着选择 a2,所以,如果你选择了 a1 ,那么你也选择了 a2 。所有这些限制单独计算是完全有效的。这就是因为他们相互作用导致的歧义 。 PICT 将会通过不使用值 a1 来防止这种情况 。 a1 将不会出现在输出结果中,并且 PICT 将显示约束限制警告。Eg:modelfile13.txt

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1