单元测试是高收益难实施的过程改进。之所以难实施,一个重要原因是理论与应用严重脱节,例如白盒覆盖,一般理论会介绍六七种覆盖率统计公式,并以极简单的代码为例,介绍实现这些覆盖的方法,但要将这些方法应用到普通的三四十行代码的程序中,根本就不现实。越复杂的程序越需要充分测试,只能应用于简单代码的测试技术有什么意义呢?
理想的单元测试理论体系应该符合以下标准:
实用,即能应用于实际项目,能测试复杂的代码,并经过实际应用的检验;
效果,即发现代码错误的效果要好,并要有可衡量的数字指标;
效率,即花费的时间要少。
这里提出一套基本符合上述要求的单元测试技术与方法,这套理论以实现"零时间彻底测试"的目标,"零时间"即不增加专门的单元测试时间;"彻底测试"即保证测试的完整性,并可用数字指标来衡量。
"实用"是这套理论的第一特征,即便于在复杂的项目中实施,当然,要依靠基于这套理论的工具来实现。单元测试工具通常是语言相关的,目前,基于这套理论的C/C++单元测试工具已经历了应用检验。
理论具有共性,这套理论本身与具体语言无关,具有广泛的参考价值,同时也具有开放性,欢迎广大用户、理论界、测试工具开发厂商、教学培训机构等共同参与,丰富和发展实用高效的单元测试理论。
理想的单元测试理论体系应该符合以下标准:
实用,即能应用于实际项目,能测试复杂的代码,并经过实际应用的检验;
效果,即发现代码错误的效果要好,并要有可衡量的数字指标;
效率,即花费的时间要少。
这里提出一套基本符合上述要求的单元测试技术与方法,这套理论以实现"零时间彻底测试"的目标,"零时间"即不增加专门的单元测试时间;"彻底测试"即保证测试的完整性,并可用数字指标来衡量。
"实用"是这套理论的第一特征,即便于在复杂的项目中实施,当然,要依靠基于这套理论的工具来实现。单元测试工具通常是语言相关的,目前,基于这套理论的C/C++单元测试工具已经历了应用检验。
理论具有共性,这套理论本身与具体语言无关,具有广泛的参考价值,同时也具有开放性,欢迎广大用户、理论界、测试工具开发厂商、教学培训机构等共同参与,丰富和发展实用高效的单元测试理论。