hw软件测试(周)5.ppt_第1页
hw软件测试(周)5.ppt_第2页
hw软件测试(周)5.ppt_第3页
hw软件测试(周)5.ppt_第4页
hw软件测试(周)5.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unit5黑盒测试 概述 5 1概述 黑盒测试的目的功能不对或遗漏界面错误数据结构或外部数据库访问错误性能错误初始化和终止错误 功能不正确或遗漏 界面错误 数据库访问错误 性能错误 黑盒测试的方法 5 2边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法 无数的测试实践表明 大量的故障往往发生在输入定义域或输出值域的边界上 而不是在其内部 因此 针对各种边界情况设计测试用例 通常会取得很好的测试效果 为什么使用边界值分析法 测试两位数加法计算器 遇见了什么问题 怎样用边界值分析法设计测试用例 1 首先确定边界情况 2 选取正好等于 刚刚大于或刚刚小于边界的值作为测试数据 对16 bit的整数而言32767和 32768是边界屏幕上光标在最左上 最右下位置报表的第一行和最后一行数组元素的第一个和最后一个循环的第0次 第1次和倒数第2次 最后一次 举例 常见的边界值 通常情况下 软件测试所包含的边界检验有几种类型 数字 字符 位置 速度 方位 尺寸 空间等相应地 以上类型的边界值应该在 最大 最小 首位 末位 上 下 最快 最慢 最高 最低 最短 最长 空 满等情况下 举例 利用边界值作为测试数据 边界值分析法测试实例 实例三角形问题的边界值分析测试用例在三角形问题描述中 除了要求边长是整数外 没有给出其它的限制条件 在此 我们将三角形每边边长的取值范围设为 1 100 边界值分析法选择测试用例的原则 如果输入条件规定了值的范围则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据 2 如果输入条件规定了值的个数则用最大个数 最小个数和比最大个数多1个 比最小个数少1个的数作为测试数据 边界值分析法选择测试用例的原则 续 3 如果程序的规格说明给出的输入域或输出域是有序集合 如有序表 顺序文件等 则应选取集合中的第一个和最后一个元素作为测试用例 4 如果程序中使用了一个内部数据结构则应当选择这个内部数据结构的边界上的值作为测试用例 5 分析程序规格说明 找出其它可能的边界条件 5 3等价类划分法 设计这样的测试用例 来实现一个对所有实数进行开平方运算 y sqrt x 的程序的测试 思考方向 由于开平方运算只对非负实数有效 这时需要将所有的实数 输入域x 进行划分 可以分成 正实数 0和负实数 假设我们选定 1 4444代表正实数 2 345代表负实数 则为该程序设计的测试用例的输入为 1 4444 0和 2 345 动机希望进行完备的测试希望避免冗余 等价类划分法是把所有可能的输入数据 即程序的输入域划分为若干部分 子集 然后从每一个子集中选取少数具有代表性的数据作为测试用例 所谓等价类是指某个输入域的子集合 在该子集合中 各个输入数据对于揭露程序中的错误都是等效的 它们具有等价特性 即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据 这样 对于表征该类的数据输入将能代表整个子集合的输入 因此 可以合理的假定 测试某等价类的代表值就是等效于对这一类其它值的测试 等价类的划分根据等价关系对输入或输出数据的集合进行划分将集合划分为互不相交的子集 无冗余性 这些子集的并是整个集合 完备性 测试思想通过每个等价类中的一个元素标识测试用例例如 在三角形问题中 测试用例 5 5 5 6 6 6 100 100 100 都可以测试等边三角形 但可以认为在程序中这三个测试用例具有 相同的处理 因此这些用例是冗余的 采用等价类划分法设计测试用例通常分两步进行 1 确定等价类 列出等价类表 2 确定测试用例 等价类表 划分等价类可分为两种情况 1 有效等价类 是指对软件规格说明而言 是有意义的 合理的输入数据所组成的集合 利用有效等价类 能够检验程序是否实现了规格说明中预先规定的功能和性能 2 无效等价类 是指对软件规格说明而言 是无意义的 不合理的输入数据所构成的集合 利用无效等价类 可以鉴别程序异常处理的情况 检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方 划分等价类的原则 1 按照区间划分在输入条件规定了取值范围或值的个数的情况下 可以确定一个有效等价类和两个无效等价类 2 按照数值划分在规定了一组输入数据 假设包括n个输入值 并且程序要对每一个输入值分别进行处理的情况下 可确定n个有效等价类 每个值确定一个有效等价类 和一个无效等价类 所有不允许的输入值的集合 3 按照数值集合划分在输入条件规定了输入值的集合或规定了 必须如何 的条件下 可以确定一个有效等价类和一个无效等价类 该集合有效值之外 4 按照限制条件或规则划分在规定了输入数据必须遵守的规则或限制条件的情况下 可确定一个有效等价类 符合规则 和若干个无效等价类 从不同角度违反规则 无效等价类1 用户名少于4个字符 多于18个字符的 无效等价类2 用户名包括 等特殊字符的 无效等价类3 用户名不以数字或者字母开头的 无效等价类4 用户名包括空格的 无效等价类5 用户名为空的 5 细分等价类在确知已划分的等价类中各元素在程序中的处理方式不同的情况下 则应再将该等价类进一步划分为更小的等价类 并建立等价类表 在设计测试用例时 应同时考虑有效等价类和无效等价类测试用例的设计 根据已列出的等价类表可确定测试用例 具体过程如下 1 首先为等价类表中的每一个等价类分别规定一个唯一的编号 2 设计一个新的测试用例 使它能够尽量覆盖尚未覆盖的有效等价类 重复这个步骤 直到所有的有效等价类均被测试用例所覆盖 3 设计一个新的测试用例 使它仅覆盖一个尚未覆盖的无效等价类 重复这一步骤 直到所有的无效等价类均被测试用例所覆盖 怎样设计测试用例 等价类测试实例 实例1 在某网站申请免费信箱时 要求用户必须输入用户名 密码及确认密码 对每一项输入条件的要求如下 用户名 4 16位 使用英文字母 数字 首字符必须为字母或数字 密码 6 16位 只能使用英文字母 数字以及 并且区分大小写 分析如下 分析程序的规格说明 列出等价类表 包括有效等价类和无效等价类 根据上述等价类表 设计测试用例如表所示 练习 某城市电话号码由三部分组成 分别是 地区码 空白或三位数字 前缀 非 0 或 1 开头的三位数字 后缀 4位数字 假定被测程序能接受一切符合上述规定的电话号码 拒绝所有不符合规定的电话号码 要求 用等价类划分法设计测试用例 3 4 12 567 89101112 131415 5 4决策表法 定义也称判定表 是分析和表达多逻辑条件下执行不同操作的情况的工具决策表的用途能够将复杂的问题按照各种可能的情况全部列举出来 简明并避免遗漏 设计出完整的测试用例集合 决策表举例 读书指南决策表 决策表的组成 条件桩 列出了问题的所有条件 通常认为列出的条件的次序无关紧要 动作桩 列出了问题规定可能采取的操作 这些操作的排列顺序没有约束 条件项 列出针对它左列条件的取值 在所有可能情况下的真假值 动作项 列出在条件项的各种取值情况下应该采取的动作 规则 任何一个条件组合的特定取值及其相应要执行的操作称为规则 规则合并 化简 将具有相同动作 并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则 决策表的建立步骤 决策表的类型 有限条目决策表所有条件都是二叉条件 真 假 决策表 扩展条目决策表条件可以有多个值 案例分析 三角形问题 合并后的三角形问题决策表 案例分析 NextDate函数 方法一 NextDate是一个有三个变量 月份 日期和年 的函数 函数返回输入日期后面的那个日期 变量月份 日期和年都为整数 且满足以下条件 C1 1 月份 12C2 1 日期 31C3 1912 年 2050 为什么 等价类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太大 规则数 等价类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 中之一 新办法 有多少条规则 条件桩C1 月份在 M1 M2 M3 中之一C2 日期在 D1 D2 D3 D4 中之一C3 年在 Y1 Y2 中之一 案例分析 NextDate函数的测试用例 确定行动桩 A1 不可能A2 日期增1A3 日期复位 置1 A4 月份增1A5 月份复位 置1 A6 年增1 NextDate函数的扩展条目决策表 注意规则8 10 案例分析 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 中之一 问题 可得到 条规则 新的NextDate函数的扩展条目决策表 新的NextDate函数的扩展条目决策表续 结合不关心条目 可得到有22条规则的决策表 同步练习 请写出NextDate函数的前9个测试用例 练习 试为三角形问题中的直角三角形开发一个决策表和相应的测试用例 2 6 64 规则数 看一下 你写的对吗 5 5因果图法 因果图法产生的背景 等价类划分法和边界值分析方法都是着重考虑输入条件 但没有考虑输入条件的各种组合 输入条件之间的相互制约关系 这样虽然各种输入条件可能出错的情况已经测试到了 但多个输入条件组合起来可能出错的情况却被忽视了 如果在测试时必须考虑输入条件的各种组合 则可能的组合数目将是天文数字 因此必须考虑采用一种适合于描述多种条件的组合 相应产生多个动作的形式来进行测试用例的设计 这就需要利用因果图 逻辑模型 因果图法是基于这样的一种思想 一些程序的功能可以用判定表 或称决策表 的形式来表示 并根据输入条件的组合情况规定相应的操作 因果图法的定义 是一种利用图解法分析输入的各种组合情况 从而设计测试用例的方法 它适合于检查程序输入条件的各种组合情况 采用因果图法设计测试用例的步骤 1 根据程序规格说明书描述 分析并确定因 输入条件 和果 输出结果或程序状态的改变 画出因果图 2 将得到的因果图转换为判定表 3 为判定表中每一列所表示的情况设计一个测试用例 使用因果图法的优点 1 考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系 2 能够帮助测试人员按照一定的步骤 高效率的开发测试用例 3 因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法 可以指出规格说明存在的不完整性和二义性 因果图中用来表示4种因果关系的基本符号 因果图中的4种基本关系在因果图的基本符号中 图中的左结点ci表示输入状态 或称原因 右结点ei表示输出状态 或称结果 ci与ei取值0或1 0表示某状态不出现 1则表示某状态出现 恒等 若c1是1 则e1也为1 否则e1为0 非 若c1是1 则e1为0 否则e1为1 或 若c1或c2或c3是1 则e1为1 否则e1为0 与 若c1和c2都是1 则e1为1 否则e1为0 因果图中的约束在实际问题中输入状态相互之间 输出状态相互之间可能存在某些依赖关系 称为 约束 对于输入条件的约束有E I O R四种约束 对于输出条件的约束只有M约束 E约束 异 a和b中最多有一个可能为1 即a和b不能同时为1 I约束 或 a b c中至少有一个必须为1 即a b c不能同时为0 O约束 唯一 a和b必须有一个且仅有一个为1 R约束 要求 a是1时 b必须是1 即a为1时 b不能为0 M约束 强制 若结果a为1 则结果b强制为0 因果图中用来表示约束关系的约束符号 因果图法最终生成的是决策表 利用因果图生成测试用例的基本步骤如下 1 分析软件规格说明中哪些是原因 即输入条件或输入条件的等价类 哪些是结果 即输出条件 并给每个原因和结果赋予一个标识符 2 分析软件规格说明中的语义 找出原因与结果之间 原因与原因之间对应的关系 根据这些关系画出因果图 3 由于语法或环境的限制 有些原因与原因之间 原因与结果之间的组合情况不可能出现 为表明这些特殊情况 在因果图上用一些记号表明约束或限制条件 4 把因果图转换为决策表 5 根据决策表中的每一列设计测试用例 实例用因果图法测试以下程序 程序的规格说明要求 输入的第一个字符必须是 或 第二个字符必须是一个数字 此情况下进行文件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论