文档详情

单元测试的实用技术解析.ppt

发布:2017-01-20约4.52千字共28页下载文档
文本预览下载声明
第6章 单元测试的实用技术 本章重点讨论以下内容: 单元测试的概述; 单元测试的主要任务; 单元测试的步骤; 单元测试常用的工具。 6.1 单元测试的概述 单元测试是一种验证行为。程序中的每一项功能都应测试。作为单元测试,需要考虑以下内容。 6.1.1 单元测试目的 (1)检查单元模块内部的错误,为软件的评审验收提供依据。 (2)单元测试是以程序设计说明书和之前所作的测试数据(正常的和错误的)为指导,测试模块内重要的路径,以检查出错误; (3)检验信息能否正确地流入和流出单元; (4)在单元测试工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。 (5)在为限制数据加工而设置的边界处,能否正确工作。 (6)单元的运行能否做到满足特定的逻辑覆盖。 (7)单元中发生了错误,其中的出错处理措施是否有效。 6.1.2 单元测试所需文档资料 单元测试所需文档资料有: ★系统需求说明书; ★系统功能说明书; ★系统测试说明书; ★测试大纲。 6.2 单元测试的主要任务 单元测试的主要任务有:程序语法检查、程序逻辑检查、模块接口测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试、代码书写规范检查。 6.2.1 程序语法检查 程序语法从两个方面进行检查:一是通过编译语言对程序进行检查;二是通过人工检查。 6.2.2 程序逻辑检查 序逻辑检查主要是检查程序的逻辑结构是否正确? 程序中所使用的循环语句的上下项以及循环次数是否有问题? 函数或子模块是否有自我调用问题? 6.2.3 模块接口测试 模块接口测试是单元测试的第一步,模块接口是·模块内与模块外联系的关键部位。当模块通过外部调用时,数据必须能够正确流入,当模块结束问题的处理返回调用模块时,数据必须能够正确流出,这样,模块才能完成它的功能。 6.2.4 局部数据结构测试 局部数据结构是为了保证临时存储在模块内的数据。模块错误的根源往往是局部数据结构,表现的形式主要有以下几点: (1)局部数据结构测试最常见的积累错误; (2)不适合或者不相容的类型说明; (3)变量无初值; (4)变量初始化或者缺省值有错; (5)不正确的变量名或不正确的截断; (6)出现上溢、下溢或地址异常。 6.2.5 路径测试 路径测试对模块中重要的执行路径进行测试,路径错误主要是由错误的计算,不正确的比较或者不正常的控制流导致。 6.2.6 边界条件测试 边界条件测试是单元测试中最重要的一项任务。边界条件测试是单元测试的一个部分。边界测试执行的好,可以大大提高程序的质量。边界测试要注意以下容易出现错误的因素: (1)程序内有一个n次循环,这个n次循环应该是1~n,而不是0~n; (2)由小于 小于等于 等于 大于 大于等于 不等于确定的比较值出错; (3)出线上溢、下溢和地址异常问题。 6.2.7 错误处理测试 比较完善的模块设计要求能预见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。这种出错处理也应当是模块功能的一部分。 6.2.8 代码书写规范检查。 代码书写规范应考虑下列因素: (1) 模块设计程序框架流程图; (2) 代码书写规范,对齐方式; (3) 代码的注释; (4) 参数类型,数据长度,指针,数组长度 大小; (5) 输入输出参数和结果。 6.3 单元测试的步骤 单元测试是对每个程序的单体调试。主要有以下几步: 程序语法检查; 程序逻辑检查。 6.4单元测试需要填写的表格 尽管单元测试是针对模块的测试,但往往会涉及到代码测试和功能测试。编码和测试人员应当对自己所要测试的内容填写一份表,供项目经理、测试经理和总工程师审核以及备查。 6.5单元测试提交的软件BUG清单 单元测试后需要提交软件BUG清单,软件BUG清单的表的格式如表6-4所示。 测试项测试用例号测试特性用例描述测试结论BUGID重审人员 表6-4 软件BUG清单 6.6 单元测试的测试用例 单元测试的测试用例是软件测试的重中之重。我们一般依据测试条件编写测试用例。用例的个数为2n -1个。为了说明怎样设计测试用例,我们用下面的一个例子说明之。其中,
显示全部
相似文档