网站大量收购独家精品文档,联系QQ:2885784924

黑盒测试_等价类.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 常见等价类划分测试形式 针对缺陷相关性假设,可将等价类测试分为弱等价类测试(单缺陷假设)和强等价类测试(多缺陷假设)。 针对是否对无效数据进行测试,可以将等价类测试分为:一般等价类测试和健壮等价类测试。 一般等价类测试 不考虑无效数据值,测试用例覆盖每个等价类。 健壮等价类测试 主要的出发点是考虑了无效等价类。 对有效输入,测试用例覆盖等价类; 对无效输入,一个无效等价类有一个测试用例,其他值均取有效值(多输入情况下)。 函数F的功能扩展 有两个变量x1和x2的函数F。如果函数F实现为一个程序,则输入两个变量x1和x2边界: a≤ x1 ≤d 区间为[a,b),[b,c),[c,d] e≤ x2 ≤g 区间为[e,f),[f,g] a b e g c d f 等价类划分举例 * 输入条件 有效等价类 无效等价类 x1 1) a≤x1b 2) b ≤ x1c 3) c ≤ x1 ≤ d 6) x1a 7) x1d x2 4) e ≤ x2f 5) f ≤ x2g 8) x2e 9) x2g 确立等价类,建立等价类表,列出所有划分出的等价类。 a≤ x1 ≤d 区间为[a,b),[b,c),[c,d] e≤ x2 ≤g 区间为[e,f),[f,g] 弱一般等价类测试 弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的一个变量实现。 a b e g c d f 覆盖2,5 覆盖3,4 覆盖1,4 有效等价类 无效类 x1 1) a ≤ x1b 2) b ≤ x1c 3) c ≤ x1 ≤ d 6) x1a 7) x1d x2 4) e ≤ x2f 5) f ≤ x2g 8) x2e 9) x2g 测试用例的数量和含有最大子集数目的等价类中的数目相同 强一般等价类测试 强一般等价类测试是基于多缺陷假设的; 等价类笛卡儿积的每个元素对应的测试用例; a b e g c d f 测试用例数量:各变量等价类数量的乘积 笛卡尔积可以保证两种意义上的“完备性”: 一是覆盖所有的等价类,二是有可能的输入组合中的一个。 弱健壮等价类测试 1.对于有效输入,使用每个有效类的一个值。 2.对于无效输入,测试用例将拥有一个无效值,并保持其余的值都是有效的。 a b e g c d f 测试用例的数量:弱一般等价类测试用例数量+各变量无效等价类数量之和 健壮:考虑了无效值 健壮等价类测试有两个问题 第一,规格说明常常并没有定义无效测试用例所预期的输出内容。因此,测试人员要花费大量时间定义这些测试用例的输出。 第二,强类型语言没有必要考虑无效输入。 对于第二个问题,在实际的项目中,由于人的因素,即使编程语言本身再怎么完美,诸如Java、Python、C++这样的强类型语言,错误也无法避免)。另外,业务的具体要求,无效输入往往要考虑业务因素,所以任何时刻都必须考虑无效输入。 强健壮等价类测试 所有等价类笛卡儿积的每个元素中获得测试用例。 a b e g c d f 测试用例数量:各变量有效等价类和无效等价类数量和的乘积 举例(三角形问题) 输入:三个变量(a、b、c);a、b和c都在1到100之间。 输出:是否为三角形或各类三角形? 1、输入3个整数变量a、b、c 2、a、b和c均在1—100之间 3、a、b和c任意2个加起来大于第三条边 * 使用等价类划分法测试的实例 解法一:分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 如果不满足条件(5),则程序输出为 “ 非三角形 ” 。 如果三条边相等即满足条件(7),则程序输出为 “ 等边三角形 ” 。 如果只有两条边相等、即满足条件(6),则程序输出为 “ 等腰三角形 ” 。 如果三条边都不相等,则程序输出为 “ 一般三角形 ” 。 三角形问题的一种等价类划分:按照输入域划分等价类的例子。 D1 = {a,b,c: a = b = c } D2 = {a,b,c: a = b,a≠c } D3 = {a,b,c: a = c,a≠b } D4 = {a,b,c: c = b,a≠c } D5 = {a,b,c: b ≠ a ≠ c } D6 = {a,b,c:a>b+c } D7 = {a,b,c:b> a+c } D8 = {a,b,c:c> a+b } 测试用例

文档评论(0)

xiaohuer + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档