软件单元测试用例设计ppt课件.ppt_第1页
软件单元测试用例设计ppt课件.ppt_第2页
软件单元测试用例设计ppt课件.ppt_第3页
软件单元测试用例设计ppt课件.ppt_第4页
软件单元测试用例设计ppt课件.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

软件单元测试用例设计 1 课程内容 2 属白盒的范畴 主要有语句覆盖 判断覆盖 条件覆盖 判断 条件覆盖 路径覆盖 属黑盒的范畴 用来指出测试用例是否已经覆盖了程序应该提供的功能 主要用来衡量系统中哪些函数被使用到 哪些函数没有被使用到 覆盖率 3 编写原则 1 测试用例的设计根据是软件的 详细设计说明书 2 单元测试用例用来证明一个独立的单元是否实现了单元设计说明书中的要求3 单元测试不仅仅要进行正向测试 同时还应该作逆向测试 单元测试用例编写原则 4 语句覆盖法 含义 运行被测程序 使程序中的每个可执行语句至少被执行一次 语句覆盖率 至少被执行一次的语句数量 可执行的语句数量 5 A 2B 0 CASE1X 3 A 2B 1 CASE2X 3 CASE1能达到语句覆盖 CASE2不能达到语句覆盖 语句覆盖法设计测试用例 6 A 2B 0 CASE1 路径aceX 3 A 1B 0 CASE2 路径abdX 1 A 3B 0 CASE1 路径acdX 3 A 2B 1 CASE2 路径abeX 1 分支覆盖法设计测试用例 7 条件覆盖法设计测试用例 1 8 条件覆盖法设计测试用例 2 9 覆盖了条件的测试用例不一定覆盖了分支 条件覆盖法设计测试用例 3 10 设计足够的测试用例 使得判断中每个条件的所有可能至少出现一次 并且每个判断本身的判定结果也至少出现一次 分支条件法设计测试用例 1 11 以上四个测试用例固然覆盖了条件组合 同时也覆盖了4个分支 但仅覆盖了3条路径 却漏掉了路径acd 分支条件法设计测试用例 2 12 设计足够多测试用例 要求覆盖程序中所有可能的路径 路径覆盖法设计测试用例 1 13 路径能否全面覆盖在软件测试中是个重要问题 如果程序中的每一条路径都得到考验 才能说程序受到了全面检验 测试中做到完全的路径覆盖是无法实现的 为解决这一难题只得把覆盖的路径数压缩到一定限度内 即使对于路径数很有限的程序已经作到了路径覆盖 仍然不能保证被测程序的正确性 路径覆盖法设计测试用例 2 14 测试中做到完全的路径覆盖是无法实现的 为解决这一难题只得把覆盖的路径数压缩到一定限度内 右图包含的不同执行路径数达5的20次方条 假定对每一条路径进行测试需要1毫秒 一年工作365 24小时 要想把所有路径测试完 需3170年 路径覆盖的困难 15 基本路径覆盖法是在程序控制流图的基础上 通过分析控制结构的环路复杂性 导出基本可执行路径集合 设计测试用例的方法 设计出的测试用例要保证在测试中 程序的每一个可执行语句至少要执行一次 该方法把覆盖的路径数压缩到一定限度内 程序中的循环体最多只执行一次 基本路径覆盖法 16 符号 为控制流图的一个结点 表示一个或多个无分支的源程序语句 箭头为边 表示控制流的方向 程序控制流图 17 1 在选择或多分支结构中 分支的汇聚处应有一个汇聚结点 2 边和结点圈定的区域叫做区域 当对区域计数时 图形外的区域也应记为一个区域 3 如果判断中的条件表达式是由一个或多个逻辑运算符 OR AND NAND NOR 连接的复合条件表达式 则需要改为一系列只有单条件的嵌套的判断 程序控制流图 18 基本路径覆盖法 19 基本路径覆盖法 20 1 程序的环路复杂性 程序基本路径集中的独立路径数量 这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界 2 独立路径 至少包含有一条在其它独立路径中从未有过的边的路径 程序环路复杂性 21 1 流图中区域的数量对应于环型的复杂性 2 给定流图G的圈复杂度V G 定义为V G E N 2 E是流图中边的数量 N是流图中结点的数量 3 给定流图G的圈复杂度V G 定义为V G P 1 P是流图G中判定结点的数量 程序环路复杂性 22 例如 在图示的控制流图中 一组独立的路径是 path1 1 11path2 1 2 3 4 5 10 1 11path3 1 2 3 6 8 9 10 1 11path4 1 2 3 6 7 9 10 1 11 路径path1 path2 path3 path4组成了控制流图的一个基本路径集 基本路径覆盖法 23 1 从详细设计导出流图2 确定流图的环路复杂度3 确定独立路径的基本集4 导出测试用例 确保基本路径集中的每一条路径的执行5 据判断结点给出的条件 选择适当的数据以保证某一条路径可以被测试到 用逻辑覆盖方法 基本路径覆盖法 24 循环分为4种不同类型 1 简单循环2 连锁循环3 嵌套循环4 非结构循环 循环路径测试 25 四种循环路径 26 1 零次循环 从循环入口到出口2 一次循环 检查循环初始值3 m次循环 检查更多次循环 反映执行典型的循环的执行次数5 最大次数循环 比最大次数多一次 少一次的循环6 对于增量和减量不是1的循环 要特别注意 简单循环的路径选择 27 对最内层循环做简单循环的全部测试 所有其它层的循环次数置为最小值 逐步外推 对其外面一层循环进行测试 测试时保持所有外层循环的循环次数取最小值 所有其它嵌套内层循环的循环次数取 典型 值 反复进行 直到所有各层循环测试完毕 对全部各层循环同时取最小循环次数 或者同时取最大循环次数 嵌套循环的路径选择 28 如果各个循环互相独立 则可以用与简单循环相同的方法进行测试 但如果几个循环不是互相独立的 则需要使用测试嵌套循环的办法来处理 连锁循环路径选择 29 这一类循环应该使用结构化程序设计方法重新设计 并重新设计测试用例 非结构循环的路径选择 30 有效等价类是程序规格说明有意义 合理的输入数据 无效等价类是程序规格说明无意义 不合理的输入数据 某个输入域的集合 在这个集合中每个输入条件都是等效的 如果其中一个的输入不能导致问题发生 那么集合中其它输入条件进行测试也不可能发现错误 等价类划分方法 31 使用依据 等价类中的一个条件作为测试数据进行测试不能发现程序中的缺陷 那么使用等价类中的其它条件作为测试数据进行测试 也不能发现错误 等价类使用依据 32 划分原则 1 如果输入条件规定了取值范围或值的格式 则可以确定一个有效等价类和两个无效等价类2 输入条件规定了输入值的集合 或是规定了必须如何的条件 则可以确定一个有效等价类和一个无效等价类3 如果我们确知 已经划分的等价类中各个元素在程序中的处理方式不同的 则应该将此等价类进一步划分 等价类划分原则 33 等价类表 34 测试用例 1 为每个输入划分等价类 得到等价类表 为每个等价类规定一个唯一编号2 设计一个测试用例 使其尽可能多的覆盖所有尚未覆盖的有效等价类 3 重复这一步骤 使得有效等价类均被测试用例所覆盖4 设计一个测试用例 使其只覆盖一个无效等价类 5 重复这一步骤使得所有无效等价类均被覆盖 等价类方法设计测试用例 35 边值分析方法的理论基础 是假定大多数的错误是发生在各种输入条件的边界上 如果在边界附件的取值不会导致程序出错 那么其它的取值导致程序错误的可能性也很小 边界值分析使用条件 条件 1 输入条件明确了一个值的取值范围 或是规定了值的个数2 输入条件明确了一个有序集合 边界值分析方法 36 边界上的点 如果域的边界是封闭的 上点就在域范围内 如果域的边界是开放的 上点就在域范围外 就是离上点最近的一个点 如果域的边界是封闭的 离点就在域范围外 如果域的边界是开放的 离点就在域范围内 顾名思义 就是在域范围内的任意一个点 边界值点定义 37 边界值分析图解 38 分析输入参数的类型 等价类划分 可选 确定边界 从测试规格中分析得到输入参数类型 对于输入等价类划分方法进行等价类的划分 运用域测试分析方法确定域范围的边界 上点 离点与内点 相关性分析 可选 形成测试项 如果存在多个输入域 则需要运用因果图 判定表方法对这些输入域边界值的组合情况进行进一步分析 选择这些上点 离点与内点或者这些点的组合形成测试项 边界值分析步骤 39 概念 指标 因子 因子的状态 而影响试验因子的 叫做因子的状态 所有影响试验指标的条件 通常把判断试验结果优劣的标准叫做试验的指标 正交试验设计法 是从大量的试验点中挑选出适量的 有代表性的点 应用依据迦罗瓦理论导出的 正交表 合理的安排试验的一种科学的试验设计方法 正交试验法 40 提取功能说明 构造因子 状态表 正交试验法步骤 1 41 加权筛选 生成因素分析表 计算各因子和状态的权值 删去一部分权值较小 即重要性较小的因子或状态 使最后生成的测试用例集缩减到允许范围 加权筛选 生成因素分析表 1 如果各个因子的状态数是不统一的 几乎不可能出现均匀的情况 必须首先用逻辑命令来组合各因子的状态 作出布尔图2 根据布尔图得到相应阶数的正交表3 依照因果图上根节点到叶子节点的顺序逐步替换正交表上的

温馨提示

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

评论

0/150

提交评论