软件测试——模块(单元)测试.ppt_第1页
软件测试——模块(单元)测试.ppt_第2页
软件测试——模块(单元)测试.ppt_第3页
软件测试——模块(单元)测试.ppt_第4页
软件测试——模块(单元)测试.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

模块 单元 测试 测试单个子程序或过程 单元测试 单元测试 模块测试 的元素对程序中较小构成元素 单个子程序或过程进行测试动机单元测试减轻了调试的难度 因为错误一旦发现 就知道它在哪个具体的模块中单元测试提供了同时测试多个模块的可能 将并行工程引入了软件测试 目的将模块的功能与定义模块的功能规格说明或接口规格说明进行比较 揭示出模块与其规格说明之间存在的矛盾 单元测试针对的问题 模块接口 检查进出单元的数据流是否正确局部数据结构 测试内部数据是否完整 例如 不正确的类型说明 错误的初始化等 路径测试 发现由于不正确的判定或不正常的控制流而产生的错误 例如 不正确的逻辑操作或优先级 不适当地修改循环变量 边界条件 测试边界处程序是否正确工作 出错处理 测试出错处理措施是否有效 例如 提供的错误信息不足 难以找到错误原因等 5 1测试用例的设计 需要的信息模块的规格说明 模块的输入和输出以及模块的功能模块的源代码测试用例的设计方法单元测试总体上是面向白盒测试的 静态 动态 后续测试针对较大的元素不易进行白盒测试后续测试着眼于发现其他类型的错误 不一定与程序逻辑结构有关使用一种或多种白盒测试方法分析模块的逻辑结构 然后使用黑盒测试方法对照模块的规格说明补充测试用例 5 2增量测试 测试单独的模块可能需要一个特殊的驱动模块和一个或多个桩模块驱动模块是为测试编写的一个小模块 用来将测试用例驱动或传输数据到被测模块 驱动模块还需要向测试人员显示被测模块的结果 桩模块充当被测模块调用的模块 模拟该模块的功能 接受被测模块的调用指令 例如测试模块B时需要一个驱动模块 和一个模拟模块E的桩模块 5 2增量测试 单元测试除了要考虑如何设计一个有效的测试用例集之外 还有一个重要问题 就是模块组装方式两类测试方法非增量测试 先独立地测试每个模块 然后再将所有这些模块组装成完整的程序测试 又称为崩溃 big bang 测试 增量测试 将被测模块组装到测试完成的模块集合中 然后再进行测试 注 在进行增量模块测试时 单元测试和集成是同步进行的 集成测试就是模块测试的隐含部分 往往并不作为一个独立的测试步骤 非增量测试和增量测试 5 3自顶向下测试与自底向上测试 自顶向下测试从程序的顶部或初始模块开始测试 选择后续模块进行增量测试的原则是 至少一个调用该模块的模块事先经过了测试 有多种可能的测试序列时 应该考虑先测试关键模块和I O模块为了测试上层模块 需要设计桩模块 桩模块通常要向被测模块提供测试数据 如读取外部数据文件自底向上测试从不调用其他模块的终端模块开始测试 选择下一个模块进行增量测试的原则是 该模块调用的所有的模块都已经事先经过了测试 为了测试低层模块 需要为它们设计驱动模块 即包含着有效的测试输入 调用被测模块且显示输出的模块 例子 图中共有12个模块A到L模块I包含IO的写操作模块J包含IO的读操作 自顶向下的增量测试 首先测试模块A 需要设计代表模块B C D的桩模块 如图接着用实际模块代替桩模块 如B 并添加B的桩模块 如图增量的序列有多种可能 例如 ABFJDICGEKHL 加入I后如图 自顶向下的增量测试中的桩模块 显示跟踪信息 显示传递信息 返回一个值 根据输入返回一个值 自底向上的增量测试 第一步是测试E J G K L和I中的部分或全部模块 既可以串行也可以并行进行 需要设计驱动模块 有的驱动模块可以供几个测试模块使用接着测试的模块序列有多种可能 如果接下来是测试较关键的模块F H 则用它们代替相应的驱动模块 并加入它们的驱动模块 如图 自底向上的增量测试中的驱动模块 调用从属模块 调用从属模块 并传递参数 调用从属模块 并要求得到参数 兼有B C的功能 自顶向下测试和自底向上测试的比较 5 4执行测试 审核测试用例当测试用例造成模块输出的实际结果与预期结果不匹配的情况时 存在两种可能 该模块存在错误 或者测试用例不正确 因此 执行测试前应审核测试用例集 使用自动化测试工具可以减少测试过程中的劳动 如流程分析工具等 执行测试时 应该查找程序的副作用 即模块是否执行了不该执行的操作 程序员不应测试自己编写的模块 最好交换测试 编写调用模块的程序员是测试被调模块的最佳人选 模块测试的目的不是证明模块能够正确地运行 而是证明模块中存在着错误 单元测试的通过准则 命名符合规则控制流程正确 变量存取无误差 所有软件单元达到质量度量指标 功能与设计说明一致 性能达到软件设计指标 覆盖测试达到规定的覆盖率 对发现的问题已进行修改并通过回归测试 单元测试与集成测试 每个模块完成单元测试后 需要按照结构图把它们连接起来 进行集成测试 集成测试往往不作为一个独立的测试步骤 尤其对增量式模块测试而言 它是其中的隐含部分 集成测试人员应包括具有两种背景的人员 熟知模块的内部细节 并能从足够高的层次上观察整个系统集成测试的内容单元间的接口测试全局数据结构测试边界和人为条件下的性能软件功能模块的功能测试

温馨提示

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

评论

0/150

提交评论