单元测试工作指南.doc

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

单元测试工作指南 邓晟(smile_xunn) 2005-5-16 目录 1. 简介 2 1.1. 目的 2 1.2. 范围 3 1.3. 参考文件 3 1.4. 定义与缩写 3 2. 单元测试流程 3 2.1. 简介 3 2.2. 单元测试的工作体系 3 2.3. 单元测试工作内容及其流程 4 2.3.1. 单元测试工作内容 4 2.3.2. 单元测试工作流程 5 2.3.3. 单元测试环境 6 2.4. 单元测试需求的获取 6 2.5. 编码人员如何进行单元测试 6 2.6. 单元测试产生的工件清单 6 3. 单元测试技术 7 3.1. 白盒测试 7 3.1.1. 为什么要进行白盒测试 7 3.1.2. 怎样做独立路径测试 9 3.2. 黑盒测试 11 3.2.1. 如何设计等价类划分测试用例 11 3.2.2. 如何设计边界值分析测试用例 12 3.2.3. 如何根据因果图设计测试用例 12 1. 简介 目的 本文详细阐述了进行单元测试流程,指导项目开发人员如何开展软件单元测试。以便帮助开发人员有效的进行单元测试工作,从而提高单元测试的质量,以便对以后公司的单元测试评估活动进行更好的控制。 范围 本文适用采用RUP开发过程的软件项目的单元测试。 参考文件 Rational Unify Process 定义与缩写 RUP 统一开发过程 SIT 软件单元测试 SEPG 软件工程过程小组 SQA 软件质量保证 单元测试流程 简介 单元测试是对最小的可测试软件元素(单元)实施的测试,它所测试的内容包括单元的内部结 构(如逻辑和数据流)以及单元的功能和行为。使用白盒测试方法测试单元的内部结构,使用黑盒测试方法测试单元的功能和行为。 由于开发方式的不同,单元的划分存在一些差异,一般的单元划分方法如下: 1. 面向对象的软件开发:以Class(类)作为测试的最小单元。以方法的内部结构作为测试的重 点。 2. 结构化的软件开发: 以模块(函数、过程)作为测试的最小单元。 单元测试的工作体系 软件测试工作由产品评测部担任。需要项目组相关角色配合完成。 角色名称 职责描述 设计人员 制定和维护单元测试计划,设计单元测试用例及单元测试过程,生成测试评估报告。 设计测试需要的驱动程序和桩。 3、根据单元测试发现的缺陷提出变更申请。 编码人员 1、编写测试驱动程序和稳定桩。 2、执行单元测试。 配置管理员 1、负责对测试工件进行配置管理。 单元测试工作内容及其流程 单元测试工作内容 活动 输入 输出 参与角色和职责 制定单元测试计划 详细设计 实现代码(可选) 单元测试计划(该计划可以不是一个独立的计划,可包含在实施划 中) 设计员负责制定单元测试计划 设计单元测试 单元测试计划 详细设计 实现代码(可选) 1、单元测试用例 2、已设计好的单元测试驱动块 3、已设计好的单元测试桩模块。 设计员负责设计单元测试用例、设计驱动程序桩。 实施单元测试 1、单元测试用例 1、单元测试驱动模块 2、单元测试桩模块 编码员负责编写测试驱动程序和稳定桩。 执行单元测试 1、实现代码 2、单元测试计划 3、单元测试用例 4、被测试单元 5、单元测试驱动模块和桩模块 1、测试结果 2、测试问题报告 编码员执行测试并记录测试结果。 评估单元测试 单元测试计划测试结果 测试评估报告 设计员负责评估此次测试并生成测试评估报告。 单元测试工作流程 单元测试环境 单元测试需求的获取 单元测试需求所确定的是单元测试的内容,单元测试需求是需求根据概要设计、详细设计、 和软件单元获取。 编码人员如何进行单元测试 进行单元测试主要采用编码员之间交叉测试,因为通常编码人员比较容易发现其他人员编写代 码中的缺陷,所以必须采用交叉测试。 单元测试产生的工件清单 1、软件单元测试计划 2、单元测试用例 3、测试过程 4、测试脚本 5、测试日志 6、测试评估摘要 单元测试技术 单元测试技术从整体上分为白盒测试与黑盒测试,其中前者使用程序设计的控制结构导出测试用例,针对程序的内在结构(逻辑、数据流),后者目的是验证单元实现的功能,而不需要知道程序是如何实现它们的。黑盒测试关注的是单元的输入与输出,不是白盒测试的替代品,而是辅助白盒测试发现其他类型的错误。 白盒测试 为什么要进行白盒测试 如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而事实上一个bug 常常是由多个因素共同导致的,如下图所示: 假设此时开发工作已经结束,程序送交到测试组,没有人知道代码中有一个潜在的被0 除的错误测试组采用测试用例按照如下由蓝色和绿色标记的路径进行测试,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,没有被0 除的错误发生。 但是,当客户在接到该产品并使用的过

文档评论(0)

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

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

1亿VIP精品文档

相关文档