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

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

 

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EasyTDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值