




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章黑盒测试方法 2 主要内容 3 3 1黑盒测试法概述 又称为功能测试或数据驱动测试 把程序看成一个黑盒子 完全不考虑程序的内部结构和处理程序 只是在程序的接口进行测试 以检查程序功能是否正常 程序是否能适当接收输入数据产生正确的输出数据 检查程序功能是否按照需求规格说明书的规定正常使用 测试每个功能是否有遗漏 检测性能等特性要求是否满足要求 检测模块接口是否存在问题 检测程序初始化和终止方面的错误 4 5 3 2边界值测试 任何程序都可以看成是一个函数程序的输入构成函数的定义域程序的输出构成函数的值域基本原理错误更可能出现在输入变量的极值附近例如 程序把 误写成了 基本思想是测试时输入变量取最小值 min 略高于最小值 min 正常值 nom 略低于最大值 max 最大值 max 6 边界值分析设计测试用例的获得通过使所有变量取正常值 只使一个变量按边界值基本思想循环取值 例如 两变量函数的边界值分析测试用例为 Xnom Ymin Xnom Ymin Xnom Ynom Xnom Ymax Xnom Ymax Xmin Ynom Xmin Ynom Xmax Ynom Xmax Ynom 对于一个n变量函数 测试用例数为4n 1个 7 假设a X b c Y d 区间 a b 和 c d 是X Y的值域 程序F的输入定义域图所示 即带阴影矩形中的任何点都是程序F的有效输入 8 基于输入项X Y边界测试用例的设计如下图 9 练习1 有二元函数f x y 其中x 1 12 y 1 31 则采用边界值分析法设计的测试用例是 10 健壮性测试是边界值分析的一种简单扩展 用于观察例外处理情况基本思想是测试时输入变量取最小值 min 略高于最小值 min 正常值 nom 略低于最大值 max 最大值 max 略超过最大值 max 略低于最小值 min 对于一个有n个变量的程序 健壮性边界值会产生6n 1个测试用例 11 基于输入项X Y边界健壮性测试用例的设计如下图 12 最坏情况测试考虑多个变量取极值的情况最坏情况测试用例的获得所有变量均可取最小值 min 略高于最小值 min 正常值 nom 略低于最大值 max 最大值 max 这五个元素中的任何一个 测试用例为五个集合的笛卡儿乘积N变量的最坏情况测试会产生5 n个测试用例健壮最坏情况测试N变量的健壮最坏情况测试会产生7 n个测试用例 13 案例分析 三角形问题 案例 三角形问题三角形问题接受三个整数a b c作为输入 代表三角形的三条边 a b c必须满足以下条件 C1 1 a 200C2 1 b 200C3 1 c 200C4 a b cC5 b a cC6 c a b程序的输出是由这三条边确定的三角形类型等边三角形等腰三角形不等边三角形非三角形 14 三角形问题的测试用例 边界值分析 15 三角形问题的最坏情况测试用例 三个变量 a b c产生5 3 125个测试用例存在大量冗余 16 练习2 找零钱最佳组合 假设商店货品价格 R 皆不大于100元 且为整数 若顾客付款在100元内 P 求找给顾客之最少货币个 张 数 货币面值50元 N50 10元 N10 5元 N5 1元 N1 四种 试根据边界值法设计测试用例 步骤分析输入边界的情形分析输出情形分析边界 17 找零钱最佳组合 一 分析输入的情形R 1000100R P 100P R 18 找零钱最佳组合 二 分析输出情形考虑输出 找零个数这里是有效数据 关于 找给顾客最少货币个 张 数 的有效取值 N50 1N50 04 N10 1N10 0N5 1N5 04 N1 1N1 0 19 找零钱最佳组合 三 分析规格中每一决策点的情形考虑输出 找零数额 RR表示找零数额 1 无效输入 不找零 R 100 R100 0 R 100P R输出为相应错误提示信息 2 有效输入 找零 0 R 100 R P 100 20 找零钱最佳组合 此时考虑的输出 0 RR 55 RR 1010 RR 5050 RR 100四 用边界值分析法 取RR的有代表性的值 则RR分别取 0 1 4 5 9 10 49 50 99 21 找零钱最佳组合 五 为满足以上之各种情形 测试用例设计如下 1 货品价格 101无效货品价格2 货品价格 0无效货品价格3 货品价格 1无效货品价格4 货品价格 100 付款金额 101无效付款5 货品价格 100 付款金额 99无效付款6 货品价格 100 付款金额 100不找零7 货品价格 99 付款金额 100N1 18 货品价格 96 付款金额 100N1 49 货品价格 95 付款金额 100N5 1 22 找零钱最佳组合 10 货品价格 91 付款金额 100N5 1 N1 411 货品价格 90 付款金额 100N10 112 货品价格 51 付款金额 100N10 4 N5 1 N1 413 货品价格 50 付款金额 100N50 114 货品价格 1 付款金额 100N50 1 N10 4 N5 1 N1 4 23 3 3等价类测试 动机希望进行完备的测试希望避免冗余 不可能穷举等价类的划分根据等价关系对输入或输出数据的集合进行划分将集合划分为互不相交的子集 无冗余性 这些子集的并是整个集合 完备性 测试思想通过每个等价类中的一个元素标识测试用例例如 在三角形问题中 测试用例 5 5 5 6 6 6 100 100 100 都可以测试等边三角形 但可以认为在程序中这三个测试用例具有 相同的处理 因此这些用例是冗余的 24 弱一般等价类测试考虑单缺陷假设不考虑无效数据 测试用例使用每个等价类中的一个值设两变量x1和x2函数有以下边界和等价区间 a x1 d 区间为 a b b c c d e x2 g 区间为 e f f g 25 强一般等价类测试考虑多缺陷假设测试用例集合为等价类笛卡儿积设两变量x1和x2函数有以下边界和等价区间 a x1 d 区间为 a b b c c d e x2 g 区间为 e f f g 26 弱健壮等价类测试考虑单缺陷假设 无效值用例标识对于有效输入 使用每个有效类的一个值对于无效输入 使用一个无效值 并保持其余的值都有效的 27 强健壮等价类测试考虑多缺陷假设 无效值用例标识从所有等价类 包括若干无效等价类 笛卡儿乘积中选取 28 案例分析 三角形问题的等价类测试用例 使用输出确定等价类R1 等边三角形 R2 等腰三角形 R3 不等边三角形 R4 不构成三角形 弱一般等价类测试用例 强一般等价类 29 弱健壮等价类测试用例 考虑a b c的无效值 30 强健壮等价类测试用例 以下为额外测试用例三维立方的一个角 31 案例分析 NextDate函数的等价类测试用例 确定等价类 方法一 M1 月份 112 D2 日期 日期31 Y2 年 年2012 32 弱一般等价类测试三个独立变量的有效等价类都只有一个 因此弱一般等价类测试与强一般等价类测试相同 33 弱健壮等价类测试 34 强健壮等价类测试以下是强健壮等价类测试用例三维立方的一个角 2019 12 31 35 36 3 4基于决策表的测试 定义也称判定表 是分析和表达多逻辑条件下执行不同操作的情况的工具决策表的用途能够将复杂的问题按照各种可能的情况全部列举出来 简明并避免遗漏 设计出完整的测试用例集合 37 决策表举例 读书指南决策表 38 决策表的组成 条件桩 列出了问题得所有条件 通常认为列出的条件的次序无关紧要 动作桩 列出了问题规定可能采取的操作 这些操作的排列顺序没有约束 条件项 列出针对它左列条件的取值 在所有可能情况下的真假值 动作项 列出在条件项的各种取值情况下应该采取的动作 规则 任何一个条件组合的特定取值及其相应要执行的操作称为规则 39 规则合并 化简 将具有相同动作 并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则 40 决策表的建立步骤 41 决策表的类型 有限条目决策表所有条件都是二叉条件 真 假 决策表 扩展条目决策表条件可以有多个值 42 案例分析 三角形问题 43 44 45 46 47 案例分析 NextDate函数 方法一 NextDate是一个有三个变量 月份 日期和年 的函数 函数返回输入日期后面的那个日期 变量月份 日期和年都为整数 且满足以下条件 C1 1 月份 12C2 1 日期 31C3 1912 年 2050 48 为什么 49 等价类M1 月份 每月有30天 M2 月份 每月有31天 M3 月份 此月是2月 D1 日期 1 日期 28 D2 日期 日期 29 D3 日期 日期 30 D4 日期 日期 31 Y1 年 年是闰年 Y2 年 年是平年 办法会有的 条件桩C1 月份在M1中C2 月份在M2中C3 月份在M3中C4 日期在D1中C5 日期在D2中C6 日期在D3中C7 日期在D4中C8 年是闰年C9 年是平年 2 9 512太大 规则数 50 等价类M1 月份 每月有30天 M2 月份 每月有31天 M3 月份 此月是2月 D1 日期 1 日期 28 D2 日期 日期 29 D3 日期 日期 30 D4 日期 日期 31 Y1 年 年是闰年 Y2 年 年是平年 条件桩C1 月份在 M1 M2 M3 中之一C2 日期在 D1 D2 D3 D4 中之一C3 年在 Y1 Y2 中之一 新办法 51 有多少条规则 条件桩C1 月份在 M1 M2 M3 中之一C2 日期在 D1 D2 D3 D4 中之一C3 年在 Y1 Y2 中之一 52 案例分析 NextDate函数的测试用例 确定行动桩 A1 不可能A2 日期增1A3 日期复位 置1 A4 月份增1A5 月份复位 置1 A6 年增1 53 NextDate函数的扩展条目决策表 注意规则8 10 54 案例分析 NextDate函数 方法二 利用等价类M1 月份 每月有30天 M2 月份 每月有31天 12月除外 M3 月份 此月是12月 M4 月份 此月是2月 D1 日期 1 日期 27 D2 日期 日期 28 D3 日期 日期 29 D4 日期 日期 30 D5 日期 日期 31 Y1 年 年是闰年 Y2 年 年是平年 条件C1 月份在 M1 M2 M3 M4 中之一C2 日期在 D1 D2 D3 D4 D5 中之一C3 年在 Y1 Y2 中之一 问题 可得到 条规则 55 新的NextDate函数的扩展条目决策表 56 新的NextDate函数的扩展条目决策表续 结合不关心条目 可得到有22条规则的决策表 57 同步练习 请写出NextDate函数的前9个测试用例 58 案例分析 NextDate函数的测试用例 59 3 5错误推测法 依靠经验和直觉猜测程序中可能存在的各种错误 从而有针对性地编写检查这些故障的测试用例 60 功能性测试方法总结 精细程度 方法评价 工作量 61 精细程度 62 设计测试用例的工作量 精细程度 边界值 等价类 决策表 低 高 各种测试方法的测试用例设计工作量 工作量 63 总结 边界值分析基于定义域 不识别数据或逻辑关系很容易自动化实现设计工作量小生成的测试用例数比较多测试用例执行时间长等价类技术考虑数据依赖关系标识等价类时需要更多的判断和技巧等价类标识出以后的处理也是机械的设计工作量和测试用例数属中等决策表技术又要考虑数据的逻辑依赖关系所得测试用例可以是完备的测试数量在一定意义上讲是最少的需要通过多次迭代设计工作量很大 64 习题 在等价类测试中 下列对等级类的划分不正确的是 A 根据等价关系对输入或输出数据的集合进行划分B 将集合划分为互不相交的子集C 划分子集的并是整个集合D 集合可以划分为相交的子集健壮等价类测试与等价类测试的主要区别是什么 65 习题 若有一个计算类型的程序 它的输入量只有一个X 其范围是 1 0 1 0 现从输入的角度考虑一组测试用例 1 001 1 0 1 0 1 001
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年港股医药行业以创新药为主线关注出海机会
- 2025年农村一二三产业融合发展的农村物流体系建设报告
- 【高中语文】高考背诵补充篇目+《报任安书》课件
- 2025年冰雪运动主题公园项目运营管理优化与创新研究报告
- 2025年废旧电子产品回收与无害化处理产业链研究报告
- 2025年康复医疗器械市场需求动态与产品创新策略研究报告
- 中药配方颗粒质量标准与市场创新驱动发展研究报告
- 2025年美妆个性化定制服务行业人才培养与职业发展规划报告
- 2025年农村饮用水安全工程资金申请评估报告
- 劳动争议调节仲裁案例
- 小学三年级下册数学(青岛54制)全册知识点总结
- 江苏省苏州市昆山市2023-2024学年六年级下学期期末英语试卷
- 高等职业学校铁道机车车辆制造与维护专业岗位实习标准
- 重庆市巡游出租汽车驾驶员区域科目参考试题库(含答案)
- 车给别人开的协议书
- 2024至2030年中国医疗信息化行业趋势研究及投资前景分析报告
- 苏教版四年级科学下册复习方法
- 南昌市产业投资集团有限公司人才招聘笔试真题2023
- 2024年湖南省初中学业水平模拟考试英语试题(定心卷)
- 2022年西藏中考地理真题
- 剧毒易制爆化学品防盗、防抢、防破坏及技术防范系统发生故障等状态下的应急处置预案
评论
0/150
提交评论