天天看点

单元测试

单元测试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的结构化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。
进行单元测试,主要是为了在开发的过程中发现错误,发现错误越早,成本就越低,同样值得考虑的是,在单元测试中发现问题也比较容易,修正问题更容易,将软件开发的过程中,发现越晚,修复成本越高;检查代码是否符合设计和规范,这有利于将来代码的维护
目标:单元模块被正确编码 信息能否正确地流入和流出单元 在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式,内容及相互关系不发生错误,全局变量在单元中的处理和影响 为限制数据加工而设置的边界处,能否正确工作 单元的运行能否做到满足特定的逻辑覆盖

1).检查每一条独立执行路径的测试,并保证每条语句被至少执行一次:

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

2).检查局部数据结构完整性:

必须测试其内部的数据能否保持完整性,包括内部数据的内容、形式及相互关系不发生错误

3).检查模块接口是否正确:

检查进出程序单元的数据流是否正确。对模块接口数据流的测试必须在任何其他测试之前进行,因为如果不能确保数据正确的输入和输出的话,所有的测试都是没有意义的

4).检查临界数据处理的正确性:

目的是检测在数据边界处模块能否正常工作,边界测试是单元测试的一个关键任务

5).预设的各种出错处理是否正确有效:

良好的设计应该预先估计到投入运行后可能发生的错误,并给出相应的处理措施,使得用户不至于束手无策

6).内存分析(内存泄漏也会导致系统崩溃)

三步曲

继续阅读