单元测试工具 常见的单元测试工具有:
代码静态分析工具: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):用来代替被测基本单元调用的其他基本单元。
单元测试策略 :自顶向下的单元测试策略
自底向上的单元测试策略
孤立单元测试策略
自顶向下的单元测试策略 方法:先对最顶层的基本单元进行测试,把所有调用的单元做成桩模块。然后再对第二层的基本调用的单元做成桩模块。使用上面已测试的单元做驱动模块。依此类推直到测试完所有基本单元。
优点:在集成测试前提供早期的集成途径。不需要开发驱动模行上和详细设计的顺序一致。
缺点:随着测试的进行,测试过程越来越复杂,开发和维护成本增加。 .
总结:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。
自底向上的单元测试策略 方法:先对最底层的基本单元进行测试,模拟调用该单元的单元做驱动模块。然后再对上面一层进行测试,用下面已被测试过的单元做桩模块。依此类推,直到测试完所有单元。
优点:在集成测试前提供系统早期的集成途径。不需要开发桩模块。
缺点:随着测试的进行,测试过程越来越复杂。
总结:比较合理的单元测试策略,测试周期较长。
孤立单元测试策略 方法:不考虑每个单元与其它单元之间的关系,为每个单元设计桩模块或驱动模块。每个模块进行独立的单元测试。
优点:简单、容易操作,可达到高的结构覆盖率。
缺点:不提供一种系统早期的集成途径。
总结:最好的单元测试策略。