一直觉得Unit Test没什么必要,自己写过的代码本身做调试的,但是看了一篇文章改变了我的想法,所以记录下来:
  1.调试只会关注程序的某个方面,通常是优路径,UT至少要关注正/负2个方面,还要保证一定的覆盖率
  2.调试,尤其是J2EE应用的调试很耗时,每次修改要重启服务器,没有UT效率高
  3.调试不可重现,在代码变更后,软件质量无法保证
  UT一定要做到自动化
  只有用代码编写的UT,才能重现,才能节约未来手工测试时间
  只有用代码编写的UT,才能做到自动化,才能在软件开发的任何时候都能快速简单的大批量执行,保证能准确的定位错误
  保证不会因修改而引入新的错误
  自动化的UT,才能保证回归测试的有效执行
  UT节约的是未来的时间
  节约了未来修改/维护低质量代码的时间
  如果使用Test-driven思想 :自身变成设计的一部分,你不会再感到是浪费时间,编写UT的过程是你设计的过程
  UT快速定位错误所在,节约调试时间