动态测试技术_第1页
动态测试技术_第2页
动态测试技术_第3页
动态测试技术_第4页
动态测试技术_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

动态测试技术 软件测试方法和技术 由安博测试空间技术中心 软件测试方法和技术 董瑞志http 10 28 177 8 nature dongEmail hello u MSN nature dong 联系电话内容提要 白盒测试黑盒测试灰盒测试 白盒测试 白盒测试又称结构测试 透明盒测试 逻辑驱动测试或基于代码的测试 白盒测试 白盒测试是一种测试用例设计方法盒子指的是被测试的软件白盒指的是盒子是可视的 你清楚盒子内部的东西以及里面是如何运作的 白盒测试示意图 白盒测试的测试用例 保证一个模块中的所有独立路径至少被使用一次 对所有逻辑值均需测试true和false 在上下边界及可操作范围内运行所有循环 检查内部数据结构以确保其有效性 为什么要进行白盒测试 逻辑错误和不正确假设与一条程序路径被运行的可能性成反比 我们经常相信某逻辑路径不可能被执行 而事实上 它可能在正常的情况下被执行 笔误是随机的 白盒测试的目的 白盒测试通过检查软件内部的逻辑结构 对软件中的逻辑路径进行覆盖测试 在程序不同地方设立检查点 检查程序的状态 以确定实际运行状态与预期状态是否一致 白盒测试特点 依据软件设计说明书进行测试 对程序内部细节的严密检验 针对特定条件设计测试用例 对软件的逻辑路径进行覆盖测试 白盒测试的实施过程 1 测试计划阶段 2 测试设计阶段 依据程序设计说明书 按照一定规范化的方法进行软件结构划分和设计测试用例 3 测试执行阶段 4 测试总结阶段 白盒测试的常用技术 白盒测试技术一般可分为静态分析和动态分析两类技术静态分析是一种不通过执行程序而进行测试的技术 静态分析的关键功能是检查软件的表示和描述是否一致 没有冲突或者没有歧义 主要有以下3种不同的程序测试可能性 检查程序内部的完整性和一致性 考虑预定义规则 把程序和其相应的规格或文档进行比较 静态分析技术结构 静态分析手工检视走读自动静态验证语法分析器符号执行器 动态分析技术 当软件系统在模拟的或真实的环境中执行之前 之中和之后 对软件系统行为的分析是动态分析的主要特点 动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行 它显示了一个系统在检查状态下是正确还是不正确 在动态分析技术中 最重要的技术是路径和分支测试 路径测试与分支测试 在路径测试中 使程序能够执行尽可能多的逻辑路径 路径测试度量程序的最主要的质量特性是复杂度 分支测试需要程序中的每个分支至少被经过一次 分支测试中出现的问题可能会导致今后程序的缺陷 动态分析工具 动态分析类型工具的功能测试覆盖率分析测试白盒测试技术对代码的检测范围跟踪跟踪程序执行期间的所有路径 例如所有变量的值等调整度量程序执行过程中使用的资源模拟模拟系统的部分 例如 无法获得的代码或硬件断言检查测试在复杂逻辑结构中是否某个条件已经被给出 测试数据生成 在白盒测试中 测试数据的选择和生成是一门重要的学科 最基本的方法是随机测试 两个成熟的测试数据产生方法 它们是结构化测试和功能测试 结构化测试是根据程序的内部结构来指导测试数据的产生和选择 在功能测试中 一个程序被看成是一个函数 并且考虑其输入值和输出值 覆盖率 语句覆盖 判定覆盖 条件覆盖 判定条件覆盖 条件组合覆盖点覆盖边覆盖路径覆盖 黑盒测试技术 什么是黑盒测试 黑盒测试又称功能测试 数据驱动测试或基于规格说明书的测试 是一种从用户观点出发的测试 黑盒测试 测试人员把被测程序当作一个黑盒子 黑盒测试试图发现以下类型的错误 功能错误或遗漏 界面错误 数据结构或外部数据库访问错误 性能错误 初始化和终止错误 黑盒测试特点 不考虑程序内部结构和内部特性 测试人员只需知道该程序输入和输出之间的关系或功能 设计测试用例的依据是需求规格说明书或用户手册 尤其适合于一些第三方软件测试 由于无法得到源程序 无法用其它方法进行测试 黑盒测试的实施过程 1 测试计划阶段2 测试设计阶段依据程序需求规格说明书或用户手册 按照一定规范化的方法进行软件功能划分和设计测试用例 3 测试执行阶段按照设计的测试用例执行测试 自由测试 作为测试用例的补充 4 测试总结阶段 黑盒测试技术 黑盒测试是根据规格说明书设计测试用例 并不涉及程序内部构造的一种测试方法 黑盒测试有一套严格的测试用例生成的规定和系统的方法 为什么要进行黑盒测试 白盒测试在测试的早期采用 而黑盒测试主要用于测试的后期 黑盒测试需要回答以下问题 如何测试功能的有效性 何种类型的输入会产生好的测试用例 系统是否对特定的输入值尤其敏感 如何分隔数据类的边界 系统能够承受何种数据率和数据量 特定类型的数据组合会对系统产生何种影响 测试用例 运用黑盒测试方法 可以导出满足以下标准的测试用例集 所设计的测试用例能够减少 以达到合理测试所需的附加测试用例数 所设计的测试用例能够告知某些类型错误的存在或不存在 而不是仅仅与特定测试相关的错误 设计测试用例的几种基本方法 1 等价类划分2 边界值分析3 错误推测法4 因果图 黑盒测试的常用技术 由第三方来执行黑盒测试 最常见的测试有 功能性测试 容量测试 安全性测试 负载测试 恢复性测试 标杆测试 稳定性测试 可靠性测试没有用户参与的黑盒测试有用户介入的黑盒测试 白盒测试和黑盒测试的比较 白盒测试只考虑测试软件产品 它不保证完整的需求规格是否被满足 而黑盒测试只考虑测试需求规格 它不保证实现的所有部分是否被测试到 黑盒测试会发现遗漏的缺陷 指出规格的哪些部分没有被完成 而白盒测试会发现代理方面缺陷 指出哪些实现部分是错误的 白盒测试比黑盒测试成本要高得多 它需要在测试可被计划前产生源代码 并且在确定合适的数据和决定软件是否正确方面需要花费更多的工作量 一个白盒测试的失败会导致一次修改 这需要所有的黑盒测试被重复执行并且重新决定白盒测试路径 有了 黑盒 测试为什么还要 白盒 测试 黑盒测试只能观察软件的外部表现 即使软件的输入输出都是正确的 却并不能说明软件就是正确的 因为程序有可能用错误的运算方式得出正确的结果 例如 负负得正 错错得对 只有白盒测试才能发现真正的原因 白盒测试能发现程序里的隐患 象内存泄漏 误差累计问题 在这方面 黑盒测试存在严重的不足 白盒测试的优缺点 1 优点迫使测试人员去仔细思考软件的实现 可以检测代码中的每条分支和路径 揭示隐藏在代码中的错误 对代码的测试比较彻底 最优化 2 缺点昂贵 无法检测代码中遗漏的路径和数据敏感性错误 不验证规格的正确性 黑盒测试的优缺点 1 优点对于较大的代码单元来说 子系统甚至系统级 黑盒测试比白盒测试效率要高 测试人员不需要了解实现的细节 包括特定的编程语言 测试人员和编码人员是彼此独立的 从用户的视角进行测试 很容易被理解和接受 有助于暴露任何规格不一致或有歧义的问题 测试用例可以在规格完成之后马上进行 黑盒测试的优缺点 2 缺点只有一小部分可能的输入被测试到 要测试每个可能的输入流几乎是不可能的 没有清晰的和简明的规格 测试用例是很难设计的 如果测试人员不被告知开发人员已经执行过的用例 在测试数据上会存在不必要的重

温馨提示

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

评论

0/150

提交评论