第3章软件测试流程.ppt_第1页
第3章软件测试流程.ppt_第2页
第3章软件测试流程.ppt_第3页
第3章软件测试流程.ppt_第4页
第3章软件测试流程.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第三章软件测试流程 软件测试技术 内容简介 测试是贯穿软件整个生命周期的一个系统的过程 包括单元测试 集成测试 确认测试 系统测试 验收测试等阶段 为确保测试工作的正常实施 一般在每个测试阶段中都要有测试计划 测试设计 测试执行和测试评估等基本步骤 本章重点讲述测试流程中的单元测试 集成测试 确认测试 系统测试 验收测试等测试阶段的工作内容 实施手段及步骤 让读者弄清楚测试工作的基本过程 掌握在不同的阶段应该如何开展测试工作 本章要点 桩模块和驱动模块集成测试策略回归测试性能测试内容Web系统测试验收测试 3 1软件测试的过程 3 1 1软件测试基本过程1 测试计划2 测试设计阶段3 测试执行阶段4 测试评估阶段 3 1 2与软件开发过程并行的测试流程 1 软件项目计划阶段2 软件需求分析阶段3 软件设计阶段4 编码与单元测试阶段5 集成测试6 确认测试7 系统测试8 运行维护阶段 3 2单元测试 3 2 1单元测试概述单元测试是针对软件设计的最小单位 程序模块 进行正确性检验的测试工作 一般做法是由开发人员编写一小段测试代码 根据被测目标代码的应用场景 设计拥有合理覆盖度的输入条件 调用执行目标代码 然后判断输出结果是否与预期一致 被测试目标代码一般应具体到类的方法层面上 单元测试的目的在于发现目标代码中可能存在的错误 单元测试是程序员的一项基本职责 程序员必须对自己所编写的代码保持认真负责的态度 这也是程序员的基本职业素质之一 3 2 2单元测试步骤 1 单元测试实施步骤1 制定测试计划和测试方案 包括测试工具的选择 确定测试内容 初步制定测试策略 确定测试资源 安排测试进度 选择测试工具 2 根据计划和方案及相关输入文档编写测试用例 相关输入文档包括 软件需求规格说明书 软件详细设计说明书 软件编码与单元测试工作任务书 等 3 搭建测试环境 测试环境主要包括 软件 硬件和网络三方面 4 执行测试 运行测试用例 记录被测单元执行过程 发现 定位和排除错误 5 记录和跟踪问题 对测试结果进行分析 归类 确认测试是否完备 6 编写测试报告和总结报告 3 2 2单元测试步骤 2 单元测试实施遵循的原则精心制定测试计划严格评审测试计划严格执行测试计划系统分析测试结果并提交报告 3 2 3单元测试环境 驱动模块 模拟被测模块的上一级模块 相当于被测模块的主程序 它接收测试数据 把这些数据传送给被测模块 最后输出实测结果 桩模块 用以代替被测模块调用的子模块 桩模块可以做少量的数据操作 不需要把子模块所有功能都带进来 但不允许什么事情也不做 3 2 4单元测试主要任务 单元测试的对象是软件设计的最小单位 模块或函数 单元测试的依据是详细设计说明书 测试者要根据详细设计说明书和源程序清单 了解模块的I O条件和模块的逻辑结构等 要求对所有的局部和全局的数据结构 外部接口和程序代码的关键部分进行桌面检查和代码审查 单元测试的主要内容有以下5个方面 3 3集成测试 3 3 1集成测试概述集成测试 也叫组装测试 联合测试 是单元测试的逻辑扩展 集成测试是在单元测试的基础上进行 将所有的软件单元按照概要设计规格说明的要求组装成模块 子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动 也就是说 在集成测试之前 单元测试应该已经完成 集成测试的对象是已经完成单元测试的软件单元 集成测试所持的主要依据是 软件概要设计规格说明 集成测试主要使用黑盒测试方法测试集成单元的功能 并且对以前的集成进行回归测试 3 3 2集成测试过程 1 集成测试计划的编制在制定测试计划时 应考虑如下因素 系统集成方式 集成过程中连接各个模块的顺序 模块代码编制和测试进度是否与集成测试的顺序一致测试过程中是否需要专门的硬件设备 2 集成测试过程集成测试的一般步骤如下 制定集成测试计划 设计集成测试 实施集成测试 执行集成测试 评估集成测试结果 3 集成测试的完成标准判定集成测试过程是否完成 可从以下几个方面检查 1 成功地执行了测试计划中规定的所有集成测试 2 修正了所发现的错误 3 测试结果通过了专门小组的评审 3 3 3集成测试策略 1 一次性集成方式一次性集成的策略是 首先分别对每个模块进行单元测试 然后一次性地将所有模块集成在一起 并对它们进行测试 发现并清除在模块连接过程中出现的问题 得到最终要求的软件系统 2 自顶向下的集成方式自顶向下的集成方式的测试步骤如下 1 以主模块为被测模块 主模块的直接下属模块则用桩模块代替 2 采用深度优先或广度优先策略 用实际模块替换相应的桩模块 每次仅替换一个或少量几个桩模块 视模块接口的复杂程度而定 他们的直接下属模块则又用桩模块代替 与已测试的模块或子系统集成为新的子系统 3 对新形成的子系统进行测试 发现和排除模块集成过程中引起的错误 并做回归测试 4 若所有模块都已集成到系统中 则结束集成 否则转步骤2 3 自底向上的集成方式自底向上的集成方式 Down TopIntegration 根据软件的模块结构图 按控制层次从低到高的顺序对模块进行集成 也就是从最底层模块向上逐步集成 在集成的同时进行测试 直至组装成符合要求的最终软件系统 测试步骤如下 1 为最底层模块开发驱动模块 对最底层模块进行并行测试 2 用实际模块替换驱动模块 与其已被测试过的直属子模块集成为一个子系统 3 为新形成的子系统开发驱动模块 若新形成的子系统对应为主控模块 则不必开发驱动模块 对该子系统进行测试 4 若该子系统已对应为主控模块 即最高层模块 则结束集成 否则转步骤2 3 3 4回归测试 回归测试需要时间 经费和人力来计划 实施和管理 为了在给定的预算和进度下 尽可能有效率和有效力地进行回归测试 需要对测试用例库进行维护并依据一定的策略选择相应的回归测试包 测试用例的维护 1 删除过时的测试用例 2 改进不受控制的测试用例 3 删除冗余的测试用例 4 增添新的测试用例常用的选择回归测试的方式包括 再测试全部用例 基于风险选择测试 基于操作剖面选择测试 再测试修改的部分等 回归测试可遵循下述基本过程进行 1 识别出软件中被修改的部分 2 从原基线测试用例库T中 排除所有不再适用的测试用例 确定那些对新的软件版本依然有效的测试用例 其结果是建立一个新的基线测试用例库T0 3 依据一定的策略从T0中选择测试用例测试被修改的软件 4 如果必要 生成新的测试用例集T1 用于测试T0无法充分测试的软件部分 5 用T1执行修改后的软件 回归测试是重复性较多的活动 容易使测试者感到疲劳和厌倦 降低测试效率 在实际工作中可以采用一些策略减轻这些问题 在实际工作中 可以将回归测试与兼容性测试结合起来进行 3 4确认测试 确认测试 ValidationTesting 的任务是验证软件的功能 性能及其他特性是否达到需求规格说明书的要求 若达到这一要求 则认为开发的软件是合格的 确认测试也被称为合格性测试 在测试规格说明书 TestSpecification 中 对需求规格说明中的要求做进一步的细化 用于指导确认测试的进行 确认测试一般不由软件开发人员执行 而应由软件企业中独立的测试部门或第三方测试机构来完成 确认测试一般包括有效性测试和软件配置复查 3 4 1有效性测试 有效性测试是在模拟的环境下 运用黑盒测试的方法 验证被测软件是否满足需求规格说明书列出的需求 3 4 2配置审查 确认测试过程的重要环节就是配置审查工作 其目的在于确保已开发软件的所有文件资料均已编写齐全 并得到分类编目 足以支持运行以后的软件维护工作 用户手册 用于指导用户如何安装 使用软件和获得服务与援助的相关资料 有时也包括软件使用的案例 操作手册 软件中进行各项使用操作的具体步骤和程序方法 设计资料 设计说明书 源程序以及测试资料 测试说明书 测试报告 等 3 5系统测试 3 5 1系统测试概念统测试是将已经通过确认测试的软件作为整个计算机系统的一部分 与系统中的硬件 外设 网络等其他元素结合在一起 在实际运行环境或模拟系统运行环境下 测试其与系统中其他元素能否实现正确连接 以满足用户的所有需求 3 5 2系统测试的主要类型 功能测试 FunctionalTesting 性能测试 PerformanceTesting 负载测试 LoadTesting 强度测试 StressTesting 容量测试 VolumeTesting 安全性测试 SecurityTesting 配置测试 ConfigurationTesting 故障恢复测试 RecoveryTesting 安装测试 InstallationTesting 文档测试 DocumentationTesting 用户界面测试 GUITesting 3 5 3Web系统的测试方法 基于Web的系统测试与传统的软件测试不同 它不但需要检查和验证是否按照设计的要求运行 而且还要测试系统在不同用户的浏览器端的显示是否合适 重要的是 还要从最终用户的角度进行安全性和可用性测试 一般软件的发布周期以月或以年计算 而Web应用的发布周期以天计算甚至以小时计算 Web测试人员必须处理更短的发布周期 测试人员和测试管理人员面临着从测试传统的C S结构和框架环境到测试快速改变的Web应用系统的转变 1 功能测试链接测试 表单测试 Cookies测试 设计语言测试 数据库测试2 性能测试连接速度测试 负载测试 压力测试3 可用性测试导航测试 图形测试 内容测试 整体界面测试4 客户端兼容性测试平台测试 浏览器测试5 安全性测试 3 6验收测试 3 6 1验收测试概念验收测试 Acceptancetesting 是软件正式交付使用之前的最后一个阶段 相关的用户和测试人员根据测试计划和结果对系统进行测试 确定产品是否能够满足合同或用户所规定需求 3 6 2验收测试策略 1 正式验收2 非正式验收测试3 Beta测试 3 6 3验收测试过程 1 软件需求分析 2 编制 验收测试计划 和 项目验收准则 3 测试设计和测试用例设计 4 测试环境搭建 5 测试实施 6 测试结果分析 7 测试报告 3 7小结 本章对测

温馨提示

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

评论

0/150

提交评论