作者:Gakki
单元测试的测试内容包括有:模块接口测试,局部数据结构,模块内路径测试,边界条件和错误处理。
-
测试接口正确与否应该考虑下列因素:
- 输入的实际参数与形式参数的个数是否相同
- 输入的实际参数与形式参数的属性是否匹配
- 输入的实际参数与形式参数的量纲是否一致
- 调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
- 调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
- 调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
- 调用预定义函数时所用参数的个数、属性和次序是否正确;
- 是否存在与当前入口点无关的参数引用;
- 是否修改了只读型参数;
- 对全程变量的定义各模块是否一致;
- 是否把某些约束作为参数传递。
-
如果模块功能包括外部输入输出,还应该考虑下列因素:
- 文件属性是否正确;
- OPEN/CLOSE语句是否正确;
- 格式说明与输入输出语句是否匹配;
- 缓冲区大小与记录长度是否匹配;
- 文件使用前是否已经打开;
- 是否处理了文件尾;
- 是否处理了输入/输出错误;
- 输出信息中是否有文字性错误。
- 局部数据结构测试;
- 边界条件测试;
- 模块中所有独立执行通路测试;
-
局部数据结构测试:检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,局部功能是整个功能运行的基础。重点是一些函数是否正确执行,内部是否运行正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:
- 不合适或不相容的类型说明;
- 变量无初值;
- 变量初始化或省缺值有错;
- 不正确的变量名(拼错或不正确地截断);
- 出现上溢、下溢和地址异常。
-
边界条件测试:边界条件测试是单元测试中最重要的一项任务。众所周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点,边界测试执行的较好,可以大大提高程序健壮性。
-
模块中所有独立路径测试:在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。测试目的主要是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。具体做法就是程序员逐条调试语句。常见的错误包括:
- 误解或用错了算符优先级;
- 混合类型运算;
- 变量初值错;
- 精度不够;
- 表达式符号错。
-
比较判断与控制流常常紧密相关,测试时注意下列错误:
- 不同数据类型的对象之间进行比较;
- 错误地使用逻辑运算符或优先级;
- 因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;
- 比较运算或变量出错;
- 循环终止条件或不可能出现;
- 迭代发散时不能退出;
- 错误地修改了循环变量
例题
- 以下()不属于单元测试中模块接口测试的测试内容。
A. 是否修改了只做输入的形式参数。
B. 全局变量的定义在各模块是否一致。
C. 是否使用了尚未初始化的变量。
D. 输出给标准函数的参数个数是否正确。
答案:C。
网友评论