单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组系统联合调试的过程。
单元测试一般包括五个方面的测试:
一、模块接口测试
模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。模块接口测试也是集成测试的重点,这里进行的测试主要是为后面打好基础。
测试接口正确与否应该考虑下列因素:
1、输入的实际参数与形式参数的个数是否相同;
2、输入的实际参数与形式参数的属性是否匹配;
3、输入的实际参数与形式参数的量纲是否一致;
4、调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
5、调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
6、调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
7、调用预定义函数时所用参数的个数、属性和次序是否正确;
8、是否存在与当前入口点无关的参数引用;
9、是否修改了只读型参数;
10、对全程变量的定义各模块是否一致;
11、是否把某些约束作为参数传递。
如果模块功能包括外部输入输出,还应该考虑下列因素:
1、文件属性是否正确;
2、OPEN/CLOSE语句是否正确;
3、格式说明与输入输出语句是否匹配;
4、缓冲区大小与记录长度是否匹配;
5、文件使用前是否已经打开;
6、是否处理了文件尾;
7、是否处理了输入/输出错误;
8、输出信息中是否有文字性错误。
二、局部数据结构测试
检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,局部功能是整个功能运行的基础。重点是一些函数是否正确执行,内部是否运行正确。
局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:
1、不合适或不相容的类型说明;
2、变量无初值;
3、变量初始化或省缺值有错;
4、不正确的变量名(拼错或不正确地截断);
5、出现上溢、下溢和地址异常。