基本介绍
在一种传统的结构化编程语言中,比如 C,要进行测试的单元一
般是函数或子过程。在像 C++这样的面向对象的语言中,要进行测试
[2]的基本单元是类。对 Ada 语言来说,开发人员可以选择是在独立
的过程和函数,还是在 Ada 包的级别上进行单元测试。单元测试的原
则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型
地划分为一个菜单或显示界面。
经常与单元测试联系起来的另外一些开发活动包括代码走读
(Codereview),静态分析(Staticanalysis)和动态分析(Dynamicanalysis)。
静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数
据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运
行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信
息。
详细步骤
单元测试(模块测试)是开发者编写的一小段代码,用于检验被
测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元
测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
例如,你可能把一个很大的值放入一个有序 list 中去,然后确认该值
出现在 list 的尾部。或者,你可能会从字符串中删除匹配某种模式的
字符,然后确认字符串确实不再包含这些字符了。 单元测试是由程
序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员
有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。