软件测试-第6章-单元测试.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试-第6章-单元测试.ppt

第六章 单元测试 单元测试的对象是软件设计中的最小单位—模块。 本章内容提要 单元测试的目标与内容 单元测试的环境 单元测试的策略 单元测试的过程 6.1 单元测试的目标与内容 单元测试的目标是检查每个模块是否正确地实现了设计说明中的功能、性能、接口和其他设计约束要求,确保每个单元都被正确地编码。 单元测试需要达到以下一些具体目标: ●信息能否正确地流入和流出单元; ●单元工作过程中,其内部数据能否保持完整性,包括内部数据的形式、内容及相互关系不发生错误,全局变量在单元中的处理和影响; ●控制数据处理的边界能否正确工作; ●单元的运行能否做到满足特定的逻辑覆盖; ●对于单元中发生的错误,其出错处理措施是否有效。 6.1 单元测试的目标与内容 单元测试的内容 单元测试的内容是对单元的功能、性能、接口、局部数据结构、独立路径、错误处理、边界条件和内存使用情况进行测试。 对软件单元接口的测试通常是先于其他内容的测试进行的。 6.1 单元测试的目标与内容 (1)接口测试 对接口的测试通常包括以下内容 ● 调用、被调用的实形参 ● 全局变量的使用 ● 输入/输出语句和文件的使用 ● 缓存区的使用 6.1 单元测试的目标与内容 (2)局部数据结构测试 测试单元内部数据内容、格式及相互关系以及它们的完整性。设计测试用例以检查以下错误: ● 数据类型说明不正确或不一致; ● 检测是否存在变量名拼写错误的情况; ● 是否存在未赋值的默认值; ● 是否存在指针越界访问; ● 是否存在上溢、下溢或地址访问错误; ● 检查全局数据对软件单元的影响。 6.1 单元测试的目标与内容 (3)独立路径测试 至少包括一条新的处理语句或一个新的条件的程序路径叫独立路径。在程序流图中,独立路径至少包含一条其他独立路径中没有的边。基本路径是通过对程序流图中的环路复杂度进行分析而导出的基本的、可执行的独立路径集合。应该设定适当的测试用例对软件单元中的独立路径进行测试,尤其是对独立路径中的基本路径进行测试。 6.1 单元测试的目标与内容 (4)边界条件测试 边界条件测试检查软件单元在边界处的工作是否正 常,主要检查以下情况。 ● 检查n重循环的第0次。第1次和第n次是否有错; ● 检查n维数组的第1个和第n个元素是否有错; ● 在运算或判断中的最大取值与最小取值是否有错; ● 数据流、控制流或判断条件中刚好小于、等于、大于比较值时是否有错。 6.1 单元测试的目标与内容 (5)错误处理测试 主要检查软件单元对执行过程中发生的错误是否进行了有效的处理。如果出现以下情况,说明错误处理存在缺陷。 ● 对执行中发生的意外情况没有进行处理或处理不当; ● 对错误条件的判定不当; ● 对错误发生的描述难以理解; ● 对联机条件处理不正确; ● 错误提示与实际错误不匹配; ● 对错误的处理意见对用户没有帮助; ● 对错误的描述信息不足以确定产生错误的位置或原因; ● 在对错误进行处理前,系统已经对错误进行了干预。 6.1 单元测试的目标与内容 (6)功能测试 功能测试要求对设计文档中罗列的软件单元的功能进行逐项测试。 (7)性能测试 按照设计文档的要求对软件单元的性能(如精度、时间、容量等)进行测试。 (8)内存使用测试 主要检查内存的使用情况,重点检查动态申请内存是否存在错误(包括指针使用越界,对空指针赋值,内存泄漏等)。 6.2 单元测试环境 6.2.1 驱动模块和桩模块的定义 驱动模块(driver)是一种用于模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测试模块,并调用被测试模块,打印执行结果。设计驱动模块的目的就是为了访问类库的属性和方法,检测类库的功能是否正确。 6.2 单元测试环境 桩模块(Stub)是模拟被测试模块所调用的模块,接受或传递被测模块的数据,将这些专供测试用的“假”模块称为被测试模块的桩模块。 桩模块本身不执行任何功能,仅在被调用时返回静态值来模拟被调用模块的行为。 6.2 单元测试环境 6.2.1 驱动模块和桩模块的定义 6.2 单元测试环境 6.2.2 驱动模块和桩模块的使用条件 驱动模块的使用条件如下。 (1)必须要驱动被测试模块执行; (2)能正确接收要传递给被测试模块的各项参数; (3)能够对接收到的参数的正确性

文档评论(0)

changjiali2019 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档