单元测试主要内容及各部分应考虑到的因素
上一篇 /
下一篇 2012-06-07 09:25:14
单元测试一般包括五个方面的测试:
一、模块接口测试(也是集成的重点)
测试接口正确与否应该考虑下列因素:
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、出现上溢、下溢和地址异常。
三、边界条件测试
最重要的一项任务,针对边界值及其左、右设计测试用例
边界测试执行的较好,可以大大提高程序健壮性
四、模块中所有独立路径测试
应对每一条独立执行路径进行测试,基本任务是保证模块中每条语句至少执行一次
测试目的主要是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误
具体做法就是程序员逐条调试语句
常见的错误包括:
1、误解或用错了算符优先级;
2、混合类型运算;
3、变量初值错;
4、精度不够;
5、表达式符号错。
比较判断与控制流常常紧密相关,测试时注意下列错误:
1、不同数据类型的对象之间进行比较;
2、错误地使用逻辑运算符或优先级;
3、因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;
4、比较运算或变量出错;
5、循环终止条件或不可能出现;
6、迭代发散时不能退出;
7、错误地修改了循环变量。
五、模块的各条错误处理通路测试
程序在遇到异常情况时不应该退出,好的程序应能预见各种出错条件,并预设各种出错处理通路
如果用户不按照正常操作,程序就退出或者停止工作,实际上也是一种缺陷
因此单元测试要测试各种错误处理路径
一般这种测试着重检查下列问题:
1、输出的出错信息难以理解;
2、记录的错误与实际遇到的错误不相符;
3、在程序自定义的出错处理段运行之前,系统已介入;
4、异常处理不当;
5、错误陈述中未能提供足够的定位出错信息。
收藏
举报
TAG: