如果模块内包括外部输入输出,还应该考虑下列因素:

  1)文件属性是否正确;

  2)OPEN/CLOSE语句是否正确;

  3)格式说明与输入输出语句是否匹配;

  4)缓冲区大小与记录长度是否匹配;

  5)文件使用前是否已经打开;

  6)是否处理了文件尾;

  7)是否处理了输入/输出错误;

  8)输出信息中是否有文字性错误;

  检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:

  1)不合适或不相容的类型说明;

  2)变量无初值;

  3)变量初始化或省缺值有错;

  4)不正确的变量名(拼错或不正确地截断);

  5)出现上溢、下溢和地址异常。

  除了局部数据结构外,如果可能,单元测试时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响。

  在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。此时基本路径测试和循环测试是常用且有效的测试技术。计算中常见的错误包括:

  1)误解或用错了算符优先级;

  2)混合类型运算;

  3)变量初值错;

  4)精度不够;

  5)表达式符号错。

  比较判断与控制流常常紧密相关,测试用例还应致力于发现下列错误:

  1)不同数据类型的对象之间进行比较;

  2)错误地使用逻辑运算符或优先级;

  3)因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;

  4)比较运算或变量出错;

  5)循环终止条件或不可能出现;

  6)迭代发散时不能退出;

  7)错误地修改了循环变量。