单元测试工具 常见的单元测试工具有:

代码静态分析工具:Logiscope,McCabe QA,CodeTest等;

代码检查工具:PC--LINT,CodeChk,Logiscope等;

测试脚本工具:TCL、Python、Perl等;

覆盖率检测工具:Logiscope,PureCoverage,TrueCoverage,McCabe Test,CodeTest等;

内存检测工具:Purify,BoundsCheck,CodeTest等;

专为单元测试设计的工具:RTRT,Cantata,AdaTest等.?

单元测试对象 一般对应详细设计中所描述的基本单元。

如结构化编程语言,如CC,单元测试对象是函,或者子过程。

如面向对象语言,如C++C++,单元测试对象是类或者类的方法。 单元测试环境一 基本单元本身不是一个独立的程序,所以必须为每个基本单元开发驱动模块或桩模块。

驱动模块(Driver):被测基本单元的主程序,它接收测试数据,并把数据传送给被测单元,最后输出实测结果。

桩模块(Stub):用来代替被测基本单元调用的其他基本单元。

单元测试策略 :自顶向下的单元测试策略

自底向上的单元测试策略

孤立单元测试策略

自顶向下的单元测试策略 方法:先对最顶层的基本单元进行测试,把所有调用的单元做成桩模块。然后再对第二层的基本调用的单元做成桩模块。使用上面已测试的单元做驱动模块。依此类推直到测试完所有基本单元。

优点:在集成测试前提供早期的集成途径。不需要开发驱动模行上和详细设计的顺序一致。

缺点:随着测试的进行,测试过程越来越复杂,开发和维护成本增加。 .

总结:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。

自底向上的单元测试策略 方法:先对最底层的基本单元进行测试,模拟调用该单元的单元做驱动模块。然后再对上面一层进行测试,用下面已被测试过的单元做桩模块。依此类推,直到测试完所有单元。

优点:在集成测试前提供系统早期的集成途径。不需要开发桩模块。

缺点:随着测试的进行,测试过程越来越复杂。

总结:比较合理的单元测试策略,测试周期较长。

孤立单元测试策略 方法:不考虑每个单元与其它单元之间的关系,为每个单元设计桩模块或驱动模块。每个模块进行独立的单元测试。

优点:简单、容易操作,可达到高的结构覆盖率。

缺点:不提供一种系统早期的集成途径。

总结:最好的单元测试策略。