现在的位置: 首页 > 综合 > 正文

C/C++单元测试理论精要(三)

2014年04月05日 ⁄ 综合 ⁄ 共 1305字 ⁄ 字号 评论关闭

1.3 单元测试能产生哪些效益?

 

    单元测试的效益已经得到广泛的认同,现在的问题已经不是有没有必要做,值不值得做,而是如何多快好省地做好单元测试,所以,关于效益,这里只是简单的介绍一下。

 

效益一,保证代码质量

   

    只有单元测试才能完整检测代码单元的功能逻辑,使代码单元的质量得到保证,只有代码单元的质量得到保证,软件的整体质量才有可能得到保证。

 

效益二,排错成本最小

   

 

    单元测试通常是最早阶段的测试,早到什么程度?可以一边写代码一边测试。排错成本越到后面就越高,单元测试的排错成本可能只是系统测试的几分之一甚至几十分之一。

 

效益三,自动回归

   

 

    修改代码很可能引入新的错误,回归就是回复到原有的正确状态,也就是原有的功能没有受到破坏。单元测试目标最小,运行最快,最容易实现自动回归测试。

    如果没有单元测试,会怎么样呢?系统测试发现了错误后,修改代码,为了检测修改是否引入新的错误,又要进行下一轮的系统测试,这样就可能陷入循环。

    如果有了单元测试,代码修改后可以立即运行回归测试,检查是否引入新的错误。回归测试也使开发过程自动趋于敏捷,也就是可以适应需求的经常变更,也正因为这个原因,单元测试是敏捷开发的基础和核心。

 

效益四,促进开发

 

   

    如果边开发边测试,那么,单元测试的结果可以完整地描述程序的行为。程序的行为是什么呢?在什么输入下,会执行哪些代码,会产生什么输出,这就是程序行为。如果写代码时能随时察看程序行为,那么,就比较容易想明白思路对不对,接下来应该怎么写。已经写的有没有错误也随时可以发现,不但效率高得多,而且也没那么累。

    只要做了单元测试,反映程序行为的数据就一定会存在,只要使用工具将这些数据捕获并显示出来,就可以一边编程一边察看程序行为,这就是可视编程,可视是指程序行为可视。
    可视编程所付出的,是设定测试数据的时间,这个所花的时间不会很多,因为编程时本来就要考虑清楚程序会有哪些输入,如何处理,列出来就是了,得到的是编写效率的提高,并且基本上不需要调试。调试是最花时间的。可视编程使开发和测试同步完成,所用的时间一般比传统方式更短,代码单元功能越复杂,节约的时间越多。

 

说明
本系列文章根据《单元测试与VU2.6应用》视频讲座的理论部分整理而成,PPT及视频下载:
PPT下载:http://download.csdn.net/source/2246006
视频part1: http://download.csdn.net/source/2246273
视频part2: http://download.csdn.net/source/2246345
视频part3: http://download.csdn.net/source/2246364
本系列文章及视频讲座介绍的是单元测试理论的精要部分,详细内容请阅读《C/C++单元测试实用教程》(电子版将于2010年5月份发表,本播客将连载)。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dellfox/archive/2010/04/14/5484405.aspx

 

抱歉!评论已关闭.