第六章_单元测试过程

上传人:012****78 文档编号:132721441 上传时间:2020-05-19 格式:PPT 页数:49 大小:916KB
返回 下载 相关 举报
第六章_单元测试过程_第1页
第1页 / 共49页
第六章_单元测试过程_第2页
第2页 / 共49页
第六章_单元测试过程_第3页
第3页 / 共49页
第六章_单元测试过程_第4页
第4页 / 共49页
第六章_单元测试过程_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《第六章_单元测试过程》由会员分享,可在线阅读,更多相关《第六章_单元测试过程(49页珍藏版)》请在金锄头文库上搜索。

1、1 第六章单元测试过程 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 2 本章大纲 讨论与单元测试相关的内容 包括单元测试过程单元测试计划单元测试用例设计单元测试执行单元测试报告 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 3 定义对构成软件的基本单位 即单元 进行测试的过程目的在于验证被测单元的功能是否正确 是否可以依照设计正常工作什么是单元在组件设计时定义的可以独立测试的个体单元可能是 一个过程 函数 一个菜单 一个类 一个网页或者一组过程 一组菜单 一组类 一组网页应

2、遵循的标准 可以与其它的部分相对独立开来 什么是单元测试 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 4 单元测试过程 单元测试过程 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 5 单元测试计划主要任务是依据测试策略和相关文档 例如 软件需求分析说明书 软件设计说明书 项目计划 等确定单元测试目的 识别单元测试需求 安排测试进度 规划测试资源 制订测试开始和结束准则 说明回归测试方法和缺陷跟踪过程并使用合适的模版将这些内容编写以到 软件单元测试计划 文档中采用基于第5章提

3、供的测试计划模版定义自己的单元测试计划 单元测试活动 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 6 单元测试用例设计主要任务是根据各项测试需求确定单元测试方案 包括测试所依据的标准和文档测试使用的方法例如白盒 黑盒或其它缺陷属性的说明结论的约定等 如果需要编写测试代码或测试工具还需准备测试代码与工具的设计描述 单元测试活动 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 7 单元测试实现依据规范开发单元测试用例并确保满足测试需求 测试用例可以是手工测试用例 也可以是自动化测

4、试脚本单元测试执行主要任务是搭建测试环境 运行测试用例以发现被测单元中的缺陷 当发现缺陷后提交缺陷问题报告单并在缺陷修复后对缺陷的修正进行验证单元测试报告对测试过程进行总结 提供相关测试数据说明和缺陷说明 评价被测对象并给出改进意见 输出 软件单元测试报告 单元测试活动 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 8 其它单元测试中还有一些辅助性但也非常重要的活动进行需求跟踪以验证分配到该软件单元的需求是否已完全实现跟踪和解决单元测试缺陷更新用户文档阶段评审单元过程资产基线编写任务总结报告等 单元测试活动 2006级本科 软件测试与

5、质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 9 单元测试活动 角色和职责单元测试通常由单元的开发者承担 开发人员需要在单元测试阶段负责完成单元测试计划 方案和报告 在单元测试过程中还可能涉及到的主要角色包括系统分析设计人员 保证需求的变更并进行软件单元可测性分析 确定单元测试的对象 范围和方法软件测试工程师 负责参与单元测试类文档的评审 对单元测试计划 设计和执行质量进行监控 根据实际情况 可选择参与由开发人员负责的代码评审 单元测试等活动配置管理人员 对代码及单元测试文档进行配置管理质量保证人员 单元测试过程进行审计 2006级本科 软件测试与质量保证 2

6、008年9月 2009年01月SEIofECNU孙海英版权所有 6 10 单元测试计划 单元测试计划指明了单元测试的过程 明确此次单元测试的目的内容目的测试方法测试范围测试交付件测试过程准则工作任务分布测试进度测试资源测试用例结构及其用例测试结论约定 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 11 单元测试计划 测试方法根据项目要求和被测单元特征 指明在本次单元测试中所采用的发现缺陷的技术 例如常规的白盒测试 黑盒测试 自动化测试或者复用类似的测试等测试范围测试范围明确此次确单元测试 做什么 和 不做什么 依据项目安排测试哪些单元

7、 每个单元需要测试哪些内容 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 12 单元测试计划 测试范围按照常规观点 围绕单元的设计功能 单元测试常需要包括单元的接口测试 局部数据结构测试 边界条件测试 所有独立执行通路测试和各条错误处理测试等几大方面 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 13 单元测试计划 测试范围单元接口测试是单元测试的基础 主要检查进出单元的数据是否正确 实际的输入与定义的输入是否一致 包括个数 类型 顺序 对于非内部 局部变量是否合理使用使用其

8、它模块时 是否检查可用性和处理结果使用外部资源时 是否检查可用性及时释放资源 包括内存 文件和端口等 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 14 单元测试计划 测试范围局部数据结构测试 检查局部数据结构能否保持完整性 变量从来没有被使用 包括可能别的地方使用了错误的变量名变量没有初始化错误的类型转换数组越界非法指针变量或函数名称拼写错误 包括使用了外部变量或函数 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 15 单元测试计划 测试范围单元独立执行路径测试 主要检查由

9、于计算错误 判断错误 控制流错误导致的代码缺陷死代码错误的计算优先级精度错误 包括比较运算错误 赋值错误表达式的不正确符号循环变量的使用错误 包括错误赋值 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 16 单元测试计划 测试范围单元内部错误处理测试 主要检查内部错误处理设施是否有效是否检查错误出现 包括资源使用前后 其他模块使用前后出现错误是否进行处理 包括抛出错误 通知用户 进行记录错误处理是否有效 包括在系统干预前处理 报告和记录的错误都应真实详细 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofE

10、CNU孙海英版权所有 6 17 单元测试计划 测试范围边界条件测试 主要临界数据是否正确处理普通合法数据是否正确处理普通非法数据是否正确处理边界内最接近边界的合法数据是否正确处理边界内最接近边界的非法数据是否正确处理 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 18 单元测试计划 测试范围 其它单元的运行时特征内存分配动态绑定运行时类型信息被测单元性能可维护性 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 19 单元测试计划 测试交付件 XXXX单元测试计划 XXXX单元测

11、试计划评审报告 XXXX单元测试用例 XXXX单元测试用例评审报告 XXXX单元测试脚本 XXXX单元测试脚本评审报告 XXXX单元测试报告 XXXX单元测试报告评审报告 缺陷问题单 若干 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 20 单元测试计划 测试过程准则定义了单元测试在什么条件下开始 结束 挂起以及恢复满足什么条件可以开始单元测试即单元测试的入口准则满足什么条件单元测试可以结束即单元测试的停止准则出现哪些情况单元测试可以挂起即单元测试的受阻准则满足了哪些条件便可以恢复被挂起的单元测试即单元测试的恢复准则 2006级本科

12、软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 21 单元测试计划 工作任务分解 WBS 明确此次单元测试任务的分解情况及各个单项之间的关系测试进度依据估计的单元测试工作量 基于任务分解情况和可用资源情况 制定每项任务开始和结束的时间点测试资源为了进行此次单元测试所需的人力资源包括角色及其职责 环境资源 工具等相关资源测试结论约定描述了为了达成共识 针对某些项而制定的统一标准 例如测试用例优先级 缺陷严重级别定义 缺陷优先级等 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 22 设计思想综合运

13、用多种测试用例设计方法 包括白盒和黑盒 从正向 反向对被测单元进行较为彻底的测试以说明单元功能达到预期设计的目的首先需要设计一些测试用例说明单元基本可用接着需要从正向 反向并结合单元的特点对单元的设计功能进行彻底的测试在这个结果的基础上 如果设计的测试用例没有达到单元测试的覆盖要求 还需要为此补充相关测试用例最后 需要设计测试用例关注被测单元的数据持久性 通讯问题 多线程特性 内存使用情况 性能 表现层等方面是否达到设计要求 单元测试用例设计 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 23 搭建单元测试环境执行单元测试的软硬件环境

14、待测单元单元测试用例因为单元是整个系统的一部分 它不能单独运行 为了执行单元测试用例需要开发如下的测试代码驱动 模拟调用函数的一段代码 它可以替代调用被测单元的模块桩 模拟被测单元所调用函数的一段代码 它可以替代被被测单元调用的模块 单元测试执行 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 24 方法单元测试可以完全手工执行 也可以借助工具执行或者使用两者的结合单元测试中的缺陷跟踪缺陷一定要记录一般采用简化流程 执行单元测试 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 2

15、5 常用单元测试工具静态测试工具静态分析工具动态测试工具JUnitFramework 执行单元测试 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 26 RationalPurify RationalPurify可以检测 NET和Java应用程序中方法和对象级别上的内存管理问题VisualC C 应用程序的运行时错误和内存泄漏问题运行Purify与Purecovery一样 有三种运行Purify的方法通过Purify自带的用户界面在IDE如MicrosoftVisualStudio6 VisualStudio NETandIBMWebS

16、phereStudio中运行通过命令行 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 27 检测C C 程序内存泄漏 方法为了检测C C 程序运行时错误 只需要通过Purify运行被测程序就会获得所需的信息下面以Purify自带的示例 Hello c 为例 演示如何利用Purify检测C程序中的内存泄漏等运行时问题 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 28 检测C C 程序内存泄漏 第一步 指定被测程序 purifyinstalldir PurifyPlus PurifySamples hello c 点击Run 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 29 检测C C 程序内存泄漏 第2步 等待Purify完成对被测程序的插桩动作 点击被测程序 确定 按钮 2006级本科 软件测试与质量保证 2008年9月 2009年01月SEIofECNU孙海英版权所有 6 30 检测C C 程序内存泄漏

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号