单元测试是软件测试的第一步,其详细描述如下:

  第一,单元测试的主要任务。

  单元测试针对每个程序的模块,主要测试5个方面的问题:模块接口、局部数据结构、边界条件、独立的路径和错误处理;如下图所示:

  (1)模块接口

  这是对模块接口进行的测试,检查进出程序单元的数据流是否正确;模块接口测试必须在任何其它测试之前进行。

  模块接口测试至少需要如下的测试项目:

  1)调用所测模块时的输入参数与模块形式参数在个数、属性和顺序上是否匹配

  2)所测模块调用子模块时,它输入给子模块的参数与子模块中的形式参数在个数、属性和顺序上是否匹配

  3)是否修改了只作输入用的形式参数

  4)调用标准函数的参数在个数、属性和顺序上是否正确

  5)全局变量的定义在各模块中是否一致

  (2)局部数据结构

  在模块工作过程中,必须测试模块内部的数据能否保持完整性,包括内部数据的内容、形式及相互关系不发生错误。

  对于局部数据结构,应该在单元测试中注意发现以下几类错误:

  1)不正确的或不一致的类型说明

  2)错误的初始化或默认值

  3)错误的变量名,如拼写错误或书写错误

  4)下溢、上溢或者地址错误

  (3)路径测试

  在单元测试中,主要的测试是针对路径的测试;测试用例必须能够发现由于计算错误、不正确的判定或不正常的控制流而产生的错误。

  常见的错误有:误解的或不正确的算术优先级,混合模式的运算,错误的初始化,精确度不够精确和表达式的不正确符号表示。

  针对判定和条件覆盖,测试用例还要能够发现如下错误:不同数据类型的比较,不正确的逻辑操作或优先级,应当相等的地方由于精确度的错误而不能相等,不正确的判定或不正确的变量,不正确的或不存在的循环终止,当遇到分支循环时不能退出和不适当地修改循环变量。