HS T 35-2011 单元测试指南.pdf
《HS T 35-2011 单元测试指南.pdf》由会员分享,可在线阅读,更多相关《HS T 35-2011 单元测试指南.pdf(20页珍藏版)》请在麦多课文档分享上搜索。
1、ICS 35.040 L77 HS 中华人民共和国海关行业标准 HS/T 352011 单元测试指南 Unit testing guide 2011 - 08 - 12发布 2011 - 10 - 01实施 中华人民共和国海关总署 发布 HS/Z XXXXXX 1 目 次 前言 . 3 引言 . 4 1 范围 . 5 2 术语和定义 . 5 2.1 . 5 单元测试 unit testing . 5 2.2 . 5 白盒测试 white box testing . 5 2.3 . 5 黑盒测试 black box testing . 5 2.4 . 5 错误推测 error guessing
2、testing . 5 2.5 . 5 驱动 driver . 5 2.6 . 5 桩 stub . 5 3 单元测试的目标和任务 . 6 3.1 单元测试的目标 . 6 3.2 单元测试的任务 . 6 3.2.1 模块接口测试 . 6 3.2.2 模块局部数据结构测试 . 6 3.2.3 模块边界测试 . 6 3.2.4 模块通路测试 . 7 3.2.5 模块错误处理通路测试 . 7 3.3 单元测试的范围 . 7 3.4 单元测试与调试的区别 . 8 4 单元测试的方法 . 8 4.1 白盒测试 . 8 4.2 黑盒测试 . 8 4.3 错误推测法 . 8 5 单元测试的流程 . 8 5.
3、1 流程定义 . 8 5.2 单元测试的策划 . 9 5.2.1 内容 . 9 5.2.2 输入 . 9 HS/Z XXXXXX 2 5.2.3 输出 . 9 5.3 单元测试用例的设计 . 9 5.3.1 内容 . 10 5.3.2 输入 . 10 5.3.3 输出 . 10 5.4 单元测试用例的执行 . 10 5.4.1 内容 . 10 5.4.2 输入 . 10 5.4.3 输出 . 10 6 单元测试的常用工具 . 10 6.1 Visual Studio Team Test . 10 6.2 NUnit . 11 6.3 TestDriven.NET . 11 6.4 JUnit
4、. 11 附 录 A (资料性附录) 单元测试计划及报告 . 12 附 录 B (资料性附录) 单元测试工作分解 . 15 附 录 C (资料性附录) 单元测试用例管理 . 16 附 录 D (资料性附录) 单元测试缺陷管理 . 17 参考文献 . 19 HS/Z XXXXXX 3 前 言 本标准依据国标GB/T 1.1 -2009起草。 本标准由中华人民共和国海关总署科技发展司提出。 本标准由中华人民共和国海关总署政策法规司归口。 本标准起草单位:中华人民共和国海关总署科技发展司、全国海关信息中心(电子通关中心)。 本标准主要起草人:*、*。 本标准是第一次制定。 HS/Z XXXXXX 4
5、 引 言 软件项目开发中执行单元测试的目标是在软件开发过程中尽可能早的发现应用项目开发过程中存 在的缺陷,为更好的完成项目开发过程中的单元测试工作,提高海关科技应用项目的产品质量,特制定 适用于海关科技应用项目单元测试指南。 依据海关科技应用项目管理办法并结合海关科技应用项目的开展过程,制定本标准。 HS/Z XXXXXX 5 单元测试指南 1 范围 本标准给出了海关信息系统软件新开发或修改过的代码在单元测试工作中可使用的流程、方法、工 具。 2 术语和定义 下列术语和定义适用于本文件。 2.1 单元测试 unit testing 对软件程序最小单位模块开展的正确性检验的测试工作。 2.2 白
6、盒测试 white box testing 利用程序内部的逻辑结构及有关信息,设计测试用例,对程序所有逻辑路径进行测试。通过在不同 点检查程序状态,确定实际状态是否与预期的状态一致的测试方法。 2.3 黑盒测试 black box testing 已知程序所具有的功能,基于接口设计测试用例,通过在不同输入时,检查实际输出结果是否与预 期输出结果一致的测试方法。 2.4 错误推测 error guessing testing 根据测试人员的经验和直觉,推测程序最有可能出错的地方,有针对性的选择测试用例进行测试的 测试方法。 2.5 驱动 driver 对底层或子层模块进行测试所编写的调用这些模块
7、的程序。 2.6 桩 stub HS/Z XXXXXX 6 对顶层或上层模块进行测试时所编写的替代下层模块的程序。 3 单元测试的目标和任务 3.1 单元测试的目标 单元测试的目标是保证软件程序最小单位模块的正确编码。通过单元测试,发现被测试模块的实际 功能与预定义的功能之间的不符合情况,或者编码的错误。 3.2 单元测试的任务 3.2.1 模块接口测试 模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。 测试接口正确与否,应从以下方面展开测试: 输入的实际参数与预定义参数的个数是否相同、属性是否匹配、值域是否一致; 调用其他模块时所给实际参数与被调模块的
8、预定义参数的个数是否相同相同、属性是否匹配、 值域是否一致; 调用预定义函数时所用参数的个数、属性和次序是否正确; 输入的实际参数为空时,程序能够正确处理; 是否存在与当前入口点无关的参数引用; 对全程变量的定义各模块是否一致。 在模块内包括外部输入输出的情况下,还应从以下方面开展测试: 文件属性是否正确; OPEN/CLOSE语句是否正确; 格式说明与输入输出语句是否匹配; 缓冲区大小与记录长度是否匹配; 文件使用前是否已经打开; 是否处理了文件尾; 是否处理了输入/输出错误; 输出信息中是否有文字性错误。 3.2.2 模块局部数据结构测试 局部数据结构测试是为了保证临时存储在模块内的数据在
9、程序执行过程中完整和正确。局部数据结 构是错误的根源,应在设计测试用例时,确认是否有下面几类错误: 不合适或不相容的类型说明; 变量无初值; 变量初始化或缺省值有错; 不正确的变量名(拼错或不正确地截断); 出现上溢、下溢和地址异常。 除局部数据结构测试外,单元测试时还应查清全局数据对模块的影响。 3.2.3 模块边界测试 模块边界测试是单元测试中最重要的一项任务。软件经常在边界上失效,采用边界值分析技术,针 对边界值及其左、右设计测试用例,可能发现新的错误。常见的边界值包括: HS/Z XXXXXX 7 数据类型的边界,例如:对于16位整数而言,32767和-32768是其边界值;对于日期而
10、言, 1900-1-1和2999-12-31是其边界; 位置的边界,例如:屏幕光标、窗体位置的最左上、最右下是其边界值; 对象的边界,例如:报表的第一行和最后一张是其边界值;数组元素、记录集的第一行和最后 一张是其边界值; 程序逻辑的边界,例如:循环的第0次、第1次、最后1次是其边界值。 3.2.4 模块通路测试 在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行 一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。在模块 通路测试中,可能发现以下常见的错误: 误解或用错了算符优先级; 混合类型运算; 变量初值错; 精度不够;
11、 表达式符号错。 比较判断与控制流常常紧密相关,测试用例还应致力于发现下列错误: 不同数据类型的对象之间进行比较; 错误地使用逻辑运算符或优先级; 因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等; 比较运算或变量出错; 循环终止条件或不可能出现; 递归时不能退出; 错误地修改了循环变量。 3.2.5 模块错误处理通路测试 软件设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测 试应着重检查下列问题: 输出的出错信息难以理解; 记录的错误与实际遇到的错误不相符; 错误描述中未能提供足够的定位信息; 在程序自定义的出错处理段运行之前,系统已介入; 异
12、常处理不当。 3.3 单元测试的范围 对软件进行全面的单元测试需要较大的工作量,投入较长的时间,因此,项目组可根据具备的资源 情况,逐步扩大单元测试的范围。 第一步,对所有程序中的公开类以及公开类里面的公开方法进行单元测试。 第二步,对应用或程序初始化过程中运行的代码(例如:公共属性或构造函数)进行单元测试。 第三步,进行全面的单元测试。 在做第一步单元测试的时候,也应有选择性的、有重点的进行测试。 HS/Z XXXXXX 8 首先,应针对属于应用软件框架中的代码进行单元测试。具体包含操作数据库的组件、操作外部Web Service的组件、后台服务与前台程序之间的消息传递的组件。通过为这些主要
13、的可复用代码进行测试, 可加强程序底层操作的正确性和健壮性。 其次,应使用业务逻辑层对界面公开的方法进行单元测试。以达到业务逻辑正确和业务操作被归纳 到单元测试中的目的,从而保证在产品发布之后,出现问题时,可直接通过业务逻辑的单元测试来找到 缺陷。 剩下的代码大部分属于代码生成器生成的,而且大多数的操作都是类似的,因此我们可先针对某一 个业务逻辑对象做详细的单元测试。 通过这样的步骤,单元测试可有序的开展。 3.4 单元测试与调试的区别 单元测试与调试的对象及采用的方法虽然相似,但其目的却完全不同。单元测试是为了找出软件中 存在的缺陷,而调试是为了解决存在的缺陷。 4 单元测试的方法 4.1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HS 35-2011 单元测试指南 35 2011 单元测试 指南
