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

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

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

  2、混合类型运算;

  3、变量初值错;

  4、精度不够;

  5、表达式符号错。

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

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

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

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

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

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

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

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

  一个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测试应着重检查下列问题:

  1、输出的出错信息难以理解;

  2、记录的错误与实际遇到的错误不相符;

  3、在程序自定义的出错处理段运行之前,系统已介入;

  4、异常处理不当;

  5、错误陈述中未能提供足够的定位出错信息。

  边界条件测试是单元测试中后,也是重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。

  2.单元测试用例及用例设计

  了解了单元测试的任务,下面介绍测试用例,测试用例也是单元测试的核心,决定你的单元测试是否成功。测试用例的核心是输入数据。预期输出是依据输入数据和程序功能来确定的,也是说,对于某一程序,输入数据确定了,预期输出也可以确定了,至于生成/销毁被测试对象和运行测试的语句,是所有测试用例都大同小异的。

  单元测试测试用例一般采用逻辑覆盖法和基本路径法进行设计。