2-黑盒测试方法


黑盒测试黑盒测试 边界值测试 边值分析 ¾ 在软件设计和程序编写中,常常对于规格说明中的输入域边界或输 出域边界不够注意,以致形成一些差错。出域边界不够注意,以致形成 些差错。 ¾ 实践证明,在设计测试用例时,对边界附近的处理必须给予足够的 重视,为检验边界附件的处理专门设计测试用例,常常取得良好的 测试效果测试效果 边界值分析是一种补充等价划边界值分析是 种补充等价划 分的测试用例设计技术。BVA不 仅注重于输入条件,而且也从仅注重于输入条件,而且也从 输出域导出测试用例。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 边界值分析遵循的原则 ① 如果输入条件规定了取值范围,或是规定了值的个数,应以该范围 的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小个的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小个 数以及稍小于最小、稍大于最大个数作为测试用例。 例如 如果程序的规格说明中规定 “重量在 公斤至 公斤范围例如:如果程序的规格说明中规定:“重量在10公斤至50公斤范围 内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10 及50,还应取10.01,49.99,9.99及50.01等。如果另一规格说明 规定:“某输入文件可包含1至255个记录,……”,则测试用例可 取1和255,还应取0及256。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 边界值分析遵循的原则 ② 针对规格说明的每个输出条件使用前面的第①条原则。 例如:某程序的规格说明要求计算出“每月保险金扣除额为0至 1165.25元”,其测试用例可取0.00及1165.2,还可取-0.01及 等1165.26等。 如果另一程序属于情报检索系统,要求每次“最多显示1条情报摘 要”,这是我们应考虑测试是用例包括1和4,还应包括0和5等。要 ,这是我们应考虑测试是用例包括1和4,还应包括0和5等。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 边界值分析遵循的原则 ③ 如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序 文件、表格等),就应注意选取有序集的第一个和最后一个元素作文件、表格等),就应注意选取有序集的第 个和最后 个元素作 为测试用例。 ④ 分析规格说明,找去其他的可能边界条件。 使用特殊值作为边界值使用特殊值作为边界值 测试用例的补充,会更有效 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 ‹ 某一为学生考试试卷评分和成绩统计的程序,其规格说明指出了对 程序的要求:程序的要求: a) 标题 这一组只有一个记录,其内容为输出报告的名字。 b) 试卷各题标准答案记录 每个记录均在第80个字符处标以数字“2”。该组的第一个记录的第 1至第3个字符为题目编号(取值为“1--999”) 第10至第59个字1至第3个字符为题目编号(取值为 1--999 )。第10至第59个字 符给出第1至第50题的答案(每个合法字符表示一个答案)。 该组的第2,第3个记录相应为第51至第100,第101至第150的答案。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 c) 每个学生的答卷描述 该组中每个记录的第80个字符均为数字 每个学生的答卷在若干个该组中每个记录的第80个字符均为数字。每个学生的答卷在若干个 记录中给出。如:甲的首记录第1至第9字符给出学生姓名及学号, 第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数 超过50 则第2 第3记录分别给出他的第51至第100 第101至第超过50,则第2,第3记录分别给出他的第51至第100,第101至第 150……题的答案。然后是学生乙的答案记录。 若学生最多为200人,输入数据的形式如图所示 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 • 学生考卷评分和成绩统计程序输入数据的形式: 标题 1 80 1~50标准答案 51~100标准答案 题目编号 2 2 3 9 10 59 60 8079 51 100标准答案 1~50题甲学生答案学生甲姓名及学号 3 50 51 100 101 8079 1~50题甲学生答案 51~100题甲学生答案 学生甲姓名及学号 3 3 9 10 59 60 50 51 100 101 8079 8079 1~50题乙学生答案学生乙姓名及学号 3 50 51 100 101 8079 80799 10 59 60 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 80799 10 59 60 例子 ¾ 该程序应给出4个输出报告,即: ① 按学生学号排序,每个学生的成绩(答对的百分比)和等级报告。 ② 按学生得分排序,每个学生的成绩。 ③ 平均分数 最高与最低分之差③ 平均分数,最高与最低分之差。 ④ 按题号排序 每题学生答对的百分比④ 按题号排序,每题学生答对的百分比。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 • 按输入条件编写测试用例: 输入条件 输入文件 测试用例 空输入文件输入文件 空输入文件 标题 无标题记录 只有1个字符的标题 具有80个字符的标题 出了1个题 出题个数 出了1个题 出了50个题 出了51个题 出了100个题 出了99个题出了99个题 没有题 题目是非数值量 学生人数 学生人数为0 学生人数为学生人数 学生人数为1 学生人数为200 学生人数为201 学生答卷(1) 某学生只有1个答案记录,但有两个标准答案记录 学生答卷(1) 该学生是文件中第1个学生 该学生是文件中最后一个学生 学生答卷(2) 某学生有2个答案记录,但只有1个标准记录 该学生是文件中第1个学生 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 该学生是文件中第1个学生 该学生是文件中最后一个学生 例子 • 按输出条件编写测试用例: 输出条件 测试用例 所有学生得分相同 学生得分 所有学生得分相同 所有学生得分均不相同 一些学生(非全部)得分相同(用以计算等级) 1个学生得0分 1个学生得100分 输出报告 1个学生编号最小(检查排序) 1个学生编号最大 学生数恰好使报告打印满1页(检查打印) 1个学生得100分 (1)、(2) 学生数使报告1页打印不够,恰好多1人 平均值取最大值(所有学生得满分) 平均值为0(所有学生都得0) 标准偏差取最大值(1学生得0分 1学生得100分)输出报告 (3) 标准偏差取最大值(1学生得0分,1学生得100分) 标准偏差相同(所有学生得分相同) 输出报告 所有学生都答对第1题 所有学生都答错第1题输出报告 (4) 所有学生都答错第1题 所有学生都答对最后1题 所有学生都答错最后1题 题数恰好使报告打印在1页上 题数使报告打印1页不够 恰好多出1道题 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 题数使报告打印1页不够,恰好多出1道题 边界值分析的局限性 • 如果被测程序是多个独立变量的函数,这些变量受物理量的限制, 则很适合边界值分析法。则很适合边界值分析法。 • 但如果程序中的函数之间有较强的依赖关系,则边界值分析法设计 测试用例显然不够充分。 也就 说边 值分析 试用例 过引用物 量的边 独立变量极• 也就是说边界值分析测试用例是通过引用物理量的边界独立变量极 值导出,不考虑函数的性质,也不考虑变量的语义含义。 • 也可以把边界值分析测试用例看作是初步的,因为这些测试用例的也可以把边界值分析测试用例看作是初步的,因为这些测试用例的 获得基本没有利用理解和想象。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 特殊值测试 • 特殊值也是运用得很广泛的一种功能测试。 • 当测试人员试用领域知识 使用类似程序的经验开发测试用例时就• 当测试人员试用领域知识、使用类似程序的经验开发测试用例时就 会出现特殊值,我们也把这种测试叫做“特别测试”。不使用测试 方针,只使用“最佳工程判断”,特殊值测试特别依赖于测试人员 的能力的能力。 • 尽管特殊值测试是高度主观性的,但是所产生的测试用例集合,常 常比用我们已经研究过的其他方法生成的测试集合,更能有效地发 现缺陷,这也说明了软件测试的工艺性质。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 黑盒测试黑盒测试 等价类测试 概述 • 等价划分设计方法是把所有可能的输入数据,即程序的输入域划分 为若干部分(子集),然后从每一个子集中选取少数有代表性的数为若干部分(子集),然后从每 个子集中选取少数有代表性的数 据作为测试用例。 • 等价类是指某个输入域的子集合,其中各个输入数据对于揭露程序 中的错误都是等效的中的错误都是等效的 整个集合这个事实提供了一种 形式的完备性,而互不相交可 保证一种新式的无冗余性。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类划分原则 • 可以把全部输入数据合理化分为若干等价类,在每一个等价类中取 一个数据作为测试的输入条件,就可以用少量代表性的测试数据取个数据作为测试的输入条件,就可以用少量代表性的测试数据取 得较好的测试结果。 等价类划分分为 种 的情 有效等价类 效等价类等价类划分分为两种不同的情况:有效等价类和无效等价类。 ¾ 有效等价类¾ 有效等价类 • 由那些对于程序的规格说明是合理的和有意义的输入数据构成的集 合,利用它可以检验程序是否实现了预期的功能和性能; ¾ 无效等价类 • 有那些对于程序的规格说明是不合理的和无意义的输入数据构成的 集合,利用它可以检验程序对于无效数据的处理集合,利用它可以检验程序对于无效数据的处理 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 有效等价类和无效等价类 ¾ 有效等价类 • 由那些对于程序的规格说明是合理的和有意义的输入数据构成的集• 由那些对于程序的规格说明是合理的和有意义的输入数据构成的集 合; • 利用它可以检验程序是否实现了预期的功能和性能; ¾ 无效等价类 • 有那些对于程序的规格说明是不合理的和无意义的输入数据构成的 集合;集合; • 利用它可以检验程序对于无效数据的处理 在设计用例时,在设计用例时, 要同时考虑这两种情况 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类划分规则 1)如果输入条件规定了取值范围或值得个数,确定一个有效等价类和 两个无效等价类。两个无效等价类。 • 输入条件:…项数可以从1到999… • ---有效等价类为: “1<=项数<=999” • ---无效等价类为: “项数<1”及“项数>999” 值的个数 “学生选课允许2门至4门”• 值的个数:“学生选课允许2门至4门” • ---有效等价类:选课2门至4门 • ---无效等价类:只选1门或未选课,选课超过4门无效等价类:只选 门或未选课,选课超过 门 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类划分规则 2)输入条件规定了输入值的集合,或是规定了“必须如何”的条件, 则可确定一个有效等价类和一个无效等价类。则可确定 个有效等价类和 个无效等价类。 例: • “必须如何” “标识符以字母开头” • --有效等价类 以字母开头的字符串 • --无效等价类 以非字母开头的字符串 3)如果确知,已划分的等价类中各元素在程序中的处理方式是不同的, 则应将此等价类进一步划小。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 确定测试用例 等价划分法确定测试用例的步骤: • 1)为每个等价类分配唯一的编号 • 2)设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等 价类,重复这一步骤,直到所有的有效等价类都被覆盖为止 • 3)设计一个测试用例,使其尽可能少得覆盖一个尚未被覆盖的无 效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类法举例 保险费率计算 人人保险公司承担人寿保险已有多年历史,该 公司保费计算方式为投保额*保险率,保险率 又 依 点 数 不 同 而 有 别 10 点 以 上 费 率 为 06%又 依 点 数 不 同 而 有 别 , 10 点 以 上 费 率 为 0.6 % , 10 点以下费率为0.1 % : Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类法举例 输入数据说明。 20~39岁 6点 40~59岁 4点 年龄 60岁以上20岁以下 2点60岁上20岁下 2点 MALE 5点 性别 FEMALE 3点 已婚 3点 婚姻 未婚 5点 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 扶养人 数 一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍 五 入 取 整 数 ) 等价类法举例 分 析 输 数 据 型 式一、分 析 输 入 数 据 型 式 。 年 龄 或 两 位 数 字年 龄 :一或 两 位 数 字 。 性 别:以英文「Male 」、Female 」 「 」 「 」 表 示、「 M 」 、 「 F 」 表 示 。 婚 姻:「已婚」、「未婚」。 扶 养 人 数 空 白 或 位 数 字扶 养 人 数 : 空 白 或 一 位 数 字 。 保险费率:10 点以上,10 点以下。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类法举例 二、划分输入数据。 数字范 围 1~99围 20~39岁1.年龄 40~59岁等价类 60岁以上20岁以下 类型 英文字之集合 类型:英文字 集合:「Male」、「M」 2.性别 等价类 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 集合:「Female」、「F」 已婚已婚 3.婚姻 等价类 未婚 选择项 扶养人数 以有 也没有选择项 扶养人数可以有,也可没有 范围 1~9 空白 1~6 人 4.扶养人数 等价类 6 人以上 10 点以上 10 点以下5.保险费率 等价类 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类法举例 三、设计输入数据。 有效等价类 无效等价类 无效等价类 1.年龄 20 ~ 39 任 选 一 个 2.年龄 40 ~ 59 任 选 一 个 3 年龄 60 岁 以 上 、 20 岁 以 小 於 1 选 个 大 於 99 ,3.年龄 60 岁 以 上 、 20 岁 以 下 任 选 一 个 小 於 1 , 选 一 个 大 於 99 , 选 一 个 4 性别 英 文 Male, M, F, 非 英 文 字 如 「 男 」4.性别 Female 任 选 一 个 非 英 文 字 如 「 男 」 5 性别 英 文 Male, M 任 选 一 非 Male, M, Female, F 之 任 意 字 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 5.性别 个 元 , 如 「 Child 」 有效等价类 无效等价类 无效等价类有效等价类 无效等价类 无效等价类 6.性别 英 文 Female, F 任 选 一 个 非 Male, M, Female, F 之 任 意 字 符 , 如 「 Child 」个 符 7.婚姻 「 已 婚 」 非 「 已 婚 」 或 「 未 婚 」 之 任 意 字 符 , 如 「 离 婚 」 8.婚姻 「 未 婚 」 非 「 已 婚 」 或 「 未 婚 」 之 任 意 字 符 , 如 「 离 婚 」 9.扶养人 空 白9.扶养人 数 空 白 10.扶养 人数 1 ~ 6 小 於 1 , 选 一 个人数 11.扶养 人数 7 ~ 9 大 於 9 , 选 一 个 12.保险 费率 10 点 以 上 (0.6 %) 13 保险 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 13.保险 费率 10 点 以 下 (0.6 %) 等价类法举例 四、 根据以上分析设计测试用例(部分): 用 例 编 年 龄 性别 婚姻 扶养 人数 保险 费率 备注编 号 龄 人数 费率 有 效 年 龄 20 ~ 39 岁 1. 27 Female 未婚 空白 0.6% 年 龄 : 20 ~ 39 岁 性 别 : 集 合 「 Female, F 」 婚 姻 : 集 合 「 未 婚 」 扶 养 人 数 : 空 白扶 养 人 数 : 空 白 保 险 费 率 : 0.6 % 有 效 年 龄 : 40 ~ 59 岁 2. 50 Male 已婚 2 0.6% 年 龄 : 40 59 岁 性 别 : 集 合 「 Male, M 」 婚 姻 : 集 合 「 已 婚 」 扶 养 人 数 : 1 ~ 6人 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 用用 例 编 号 年 龄 性别 婚姻 扶养 人数 保险 费率 备注 3. 70 F 未婚 7 0.1% 有 效 年 龄 : 60 岁 以 上 或 20 岁 以 下 性 别 : 集 合 「 Female, F 」 婚 姻 集 合 「 未 婚 」婚 姻 : 集 合 「 未 婚 」 扶 养 人 数 : 6 人 以 上 4. 0 M 已婚 4 无法 推算 年 龄 类 无 效 , 因 此 无 法 推 算 保 险 费 率推算 率 5. 100 Female 未婚 5 无法 推算 年 龄 类 无 效 , 因 此 无 法 推 算 保 险 费 率 6 1 男 已婚 6 无法 性 别 类 无 效 , 因 此 无 法 推 算 保 险 费6. 1 男 已婚 6 无法 推算 性 别 类 无 效 因 此 无 法 推 算 保 险 费 率 7. 99 Child 未婚 1 无法 推算 性 别 类 无 效 , 因 此 无 法 推 算 保 险 费 率 8. 30 Male 离婚 3 无法 推算 婚 姻 类 无 效 , 因 此 无 法 推 算 保 险 费 率. 9 75 Female 未婚 0 无法 推算 扶 养 人 数 类 无 效 , 因 此 无 法 推 算 保 险 费 率 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 9. 75 Female 未婚 0 推算 险 费 率 10. 17 Male 已婚 10 无法 推算 扶 养 人 数 类 无 效 , 因 此 无 法 推 算 保 险 费 率 思考问题 • 三角形的例子: ¾ 输入三个整数作为三边的边长构成三角形; ¾ 当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计 算; ¾ 注意输入和输出条件。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 黑盒测试黑盒测试 等价类测试(二) 等价类 ¾ 等价类测试的关键,就是选择确定类的等价关系。 ¾ 我们常常通过预测可能的实现,并考虑在实现中必须提供的功能操 作来做出这种选择。 ¾ 然后,我们将这些测试与传统形式的等价类测试进行比较 我们将用系列例子说明这一点, 但首先必须区分弱和强等价类测试 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 等价类 为了便于理解,我们还是将讨论与一个两变量x1和x2函数F联系起来。 如果F实现为一个程序,则输入变量x1和x2将拥有以下边界以及边界如果F实现为 个程序,则输入变量x1和x2将拥有以下边界以及边界 内的区间: 区间为a<= x1 <=d,区间为:[a,b),[b,c),[c,d] e<= x2 <=g,区间为:[e,f),[f,g] ¾ 其中,方括号和圆括号分别表示闭区间和开区间的端点。 x1和x2的 无效值是: x1 d,以及x2 g。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 弱一般等价类测试 弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的弱 般等价类测试通过使用 个测试用例中的每个等价类(区间)的 一个变量实现(注意单边缺陷假设的作用)。对于前面给出的例子, 可以得到如图所示的弱一般等价类测试用例。 x2x2 g 这三个测试用 例使用每个等 价类中的一个 f 价类中的 个 值 e abc x1d 弱 般等价类测试用例 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 弱一般等价类测试用例 强一般等价类测试 • 强一般等价类测试基于多缺陷假设,因此需要等价类笛卡尔积的每 个元素对应的测试用例。个元素对应的测试用例。 • 笛卡尔积可保证两种意义上的“完备性”:一是覆盖所有的等价类, 二是有可能的输入组合中的一个。 g x2 g f “好的”等价类f 好的 等价类 测试的关键是 等价关系的选 择! x1 e 择! Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. abc 1d 强一般等价类测试用例 强一般等价类测试 • 在大多数情况下,等价类测试定义输入定义域的类 • 也可以根据被测程序函数的输出定义域定义等价关系• 也可以根据被测程序函数的输出定义域定义等价关系 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 弱健壮等价类测试 • 怎么能既弱又健壮呢? • ---健壮 是因为这种测试考虑了无效值;• ---健壮,是因为这种测试考虑了无效值; • ---弱,是因为有单缺陷假设。 g x2 g f e x1 e b d Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 弱健壮等价类测试用例 a b c d 强健壮等价类测试 • 健壮,所以这种测试要考虑无效值; • 强 所以这种测试要具有多缺陷假设• 强,所以这种测试要具有多缺陷假设 x2 g x2 从所有等价类笛 f 从所有等价类笛 卡尔积的每个元 素中获得的测试 用例 e x1 弱健壮等价类测试用例 abcd Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 弱健壮等价类测试用例 三角形问题的等价类测试用例 • 三角形问题有四种可能出现的输出:非三角形、不等边三角形、等 腰三角形和等边三角形。腰三角形和等边三角形。 • 可以使用这些输出标识如下所示的输出(值域)等价类: • R1={:有三条边a,b,c的等边三角形} R2={ 有三条边a b c的等腰三角形}• R2={:有三条边a,b,c的等腰三角形} • R3={:有三条边a,b,c的不等边三角形} • R4={:有三条边a,b,c不构成三角形}{a,b,c :有三条边a,b,c不构成三角形} Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 三角形问题的等价类测试用例 • 四个弱一般等价类测试用例是: 测试用例 abc 预期输出 WN1 5 5 5 等边三角形 WN2 4 5 5 等腰三角形WN2 4 5 5 WN3 5 3 4 不等边三角形 WN4 19 5 5 不够成三角形WN4 19 5 5 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 三角形问题的等价类测试用例 • 由于变量a,b,c没有有效区间,则强一般等价类测试用例与弱一 般等价类测试用例相同。般等价类测试用例相同。 • 考虑a,b,c的无效值产生的以下额外弱健壮等价类测试用例: 测试用例 abc 预期输出 取值不在所允许的取值值域内WR1 -1 5 5 a取值不在所允许的取值值域内 WR2 5 5-1 b取值不在所允许的取值值域内 WR3 5 5 -1 WR4 201 5 5 c取值不在所允许的取值值域内 a取值不在所允许的取值值域内 取值不在所允许的取值值域内WR5 5 201 5 WR6 5 5 201 b取值不在所允许的取值值域内 c取值不在所允许的取值值域内 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 三角形问题的等价类测试用例 • 以下是额外强健壮等价类测试用例(部分): 测试用例 abc 预期输出 SR1 -1 5 5 a取值不在所允许的取值值域内 SR2 5 5-1 b取值不在所允许的取值值域内 SR3 5 5 -1 SR4 -1 -1 5 c取值不在所允许的取值值域内 a,b取值不在所允许的取值值域内 SR5 5 -1 -1 SR6 -1 5 -1 a,c取值不在所允许的取值值域内 a,c取值不在所允许的取值值域内 SR7 -1 -1 -1 a,b,c取值不在所允许的取值值域内 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 三角形问题的等价类测试用例 • 如果在输入定义域上定义等价类,则可以得到更丰富的测试用例集 合:合: • D1={:a=b=c} • D2={:a=b,a≠c} • D3={:a=c,a ≠ b} • D4={:b=c,a ≠ b} D5={ a ≠ b b ≠ c a ≠c}• D5={:a ≠ b,b ≠ c,a ≠c} • D6={:a≥b+c} • D7={:b ≥ a+c} 也可以将“小于或等{a,b,c :b ac} • D8={:c ≥ a+b} • D6‘ ={:a=b+c} 也可以将“小于或等 于”分解为两种不同 的情况,对于D7和D8 也可以这样拆分• D6“={:a>b+c} 也可以这样拆分。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 黑盒测试黑盒测试 因果图、判定表测试 因果图 ¾ 因果图方法(Cause-Effect graphics):一种黑盒测试方法。 ¾ 方法的依据: 需求规格说明中的因果关系。 ‹ 能够帮助我们按照一定步骤,高效率地选择测试用例,同时还指出, 程序规格说明描述中存在着的问题程序规格说明描述中存在着的问题 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 因果图介绍 c1 e1 e1=1 e1=0 c1=1 c1=0恒等 e1 0c1 0 c e e1=0c1=1 非 c1 e1 e1=1c1=0非 c1 e1 c3=1 e1=1c1=1 c2=1或 c2 c3 V 或或 否则 e1=0 3 c1 e =11 1且e1 e1=1c1=1 c2=1与 c2 ∧ 且 否则 e1=0 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 条件的约束 • 输入条件约束 a b E E约束(异):a,b中至多有一个可能为1, 即a和b不能同时为1。 b a F F约束(或):a b和c中至少有一个必须为1b c F F约束(或):a,b和c中至少有 个必须为1, 即a,b和c不能同时为0。b a G G约束(唯一):a,b中必须有一个且仅有一个为1。 b 约束 唯 中必须有 个 仅有 个为 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 条件的约束 • 输入条件的约束 a R R约束(要求):a是1时,b必须是1, 能 时 b R 即不可能a是1时b是0。 输出条件的约束 a M M约束(强制):若a是1时,则结果b强制为0。 b M 约束(强制):若 是 时,则结果 强制为 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 步骤 ① 分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常 是输入条件或是输入条件的等价类。而结果是输出条件。是输入条件或是输入条件的等价类。而结果是输出条件。 ② 分析程序规格说明的描述中语义的内容,并将其表示成连接各个原 因与各个结果的“因果图”因与各个结果的“因果图” ③ 由于语法或环境的限制 有些原因和结果的组合情况是不可能出现③ 由于语法或环境的限制,有些原因和结果的组合情况是不可能出现 的。为表明这些特定的情况,在因果图上使用若干个特殊的符号标 明约束条件。 ④ 把因果图转换成判定表。 ⑤ 把判定表中每一列表示的情况写成测试用例。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 ‹ 软件规格说明书: ‹ “第一列字符必须是A或B,第二列字符必须是一个数字,在此情况 下进行文件的修改。 但如果第一列字符不正确,则给出信息L,如 果第 列字符不是数字 则给出信息果第二列字符不是数字,则给出信息M.” Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 原因和结果: 原因: 1----第一列字符是A; 2----第一列字符是B; 3----第二列字符是一数字;3 第二列字符是 数字; 结果: 21----修改文件;21----修改文件; 22----给出信息L; 23 给出信息M23----给出信息M; Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 因果图和具有约束的因果图: 1 22 1 22 1 11 2 21 1 11 2 21E∧∧ ∨ ∨ 2 3 23 2 3 23 ¾11为中间节点; ¾考虑到原因1和原因2不可能同时为1 因此在因果图上施加E约束 因果图实例 具有E约束的因果图 ¾考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 • 根据因果图建立如下的判定表: 12 3 4 5678 1 1110 0 0 0 1 1001 1 0 0 101 01 0 1 0 1 2 3 条件 原因 1 11 1 0 011 22 21 动 作 结 果000 0 1 1 101 0 0 0 //// //// //// //// // // 23 测试 用例 作 果 010 1 0 1 A3 A8 AM A? B5 B4 BN B! C2 X6 DY P: // // // //// // ////用例 A8 A? B4 B! X6 P://// //// 表中8种情况的左右两列情况中,原因①和原因②同时为1,这是不可 能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测 试用例,这是我们所需要的数据。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 讨论 ¾ 在较为复杂的问题中,这个方法常常是十分有效的,它能有力地帮 助我们确定测试用例。助我们确定测试用例。 ¾ 如果哪个开发项目在设计阶段就采用了判定表,也就不必再画因果 图 而是可以直接利用判定表设计测试用例了图,而是可以直接利用判定表设计测试用例了。 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 判定表驱动测试 ¾ 在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的 取值;取值; ¾ 在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的 操作操作; ¾ 处理这类问题的一个非常有力的分析和表达工具是判定表¾ 处理这类问题的 个非常有力的分析和表达工具是判定表 (Decision Table) Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 例子 • 一张关于科技书阅读指南的判定驱动表: • 3个问题8种情况• 3个问题8种情况 1 2 3 4 5 6 7 8 问题你觉得疲倦吗? 你对内容感兴趣吗? 1 2 3 4 5 6 7 8 YYYY YY YY NNNN N NNN 建 书中内容使你糊涂吗? 请回到本章开头重读 继续读下去 YY Y YNNNN X X X X 建 议 继续读下去 跳到下一章去读 停止阅读 请休息 X X X X XX 停止阅读,请休息 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 判定表的组成 规则 条件 桩 条件项 条件桩(Condition stub) 桩 动作桩(Action stub) 条件项(Condition Entity) 动作桩 动作项 条件项 y 动作项(Action Entity) Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 规则及规则和并 • 任何一个条件组合的特定取值及其相应要执行的操作成为规则,在判任何 个条件组合的特定取值及其相应要执行的操作成为规则,在判 定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中泪 出多少组条件取值,也就有多少条规则,即条件项和动作项由多少列。 • 化简 就是规则和并• 化简 就是规则和并 • 有两条活多条规则具有相同的动作,并且其条件项之间存在着极为相 似的关系。 Y Y Y Y Y Y NN Y N N -- -- N N N -- N X X X X X X Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. 两条规则和并成一条 两条规则进一步和并 规则和并的例子 • 规则和并后: 问 你觉得疲倦吗? 1 23 4 --YN问 题 你对内容感兴趣吗? 书中内容使你糊涂吗? 请回到本章开头重读 Y Y Y - N N -N X建议请回到本章开头重读 继续读下去 跳到下一章去读 X X X 停止阅读,请休息 X 化简后的“读书指南”判定表化简后的 读书指南 判定表 Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved. Q&A•Q&A Confidential ©2007 iSoftStone Holdings Ltd. All Rights Reserved.
还剩59页未读

继续阅读

pdf贡献者

daphne310

贡献于2016-01-28

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf