Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

为什么要写单元测试?

  写单元测试可以避免 Bug,这种说法其实非常粗浅。写单元测试并不是为了避免 Bug,就算没有写单元测试我们也应该手动测试来避免 Bug。人肉测试应该是比单元测试更仔细的,所以某种意义上可以避免更多 Bug。其实写单元测试是为了偷懒,为了不做无聊的人肉测试。
  很多人不愿意写单元测试,理由是「功能开发都快来不及了,哪有时间写测试」。确实有时候对于一个非常简单的测试,每次修改后人肉测就 OK 了,引入一个测试框架部署起来确实比较耗时。如果只有自己一个人在开发,而且会对每次修改做一次人肉测试,那确实没必要费力气去写单元测试。但是我看到更多的情况是人们对自己的代码过于自信了,修改后完全不测试就直接上线了,结果搞出各种 Bug。并不是说写单元测试就能避免这些 Bug,而是个更本质的问题。即便不用写单元测试,开发人员好歹也做好自测吧?如果一个要上线的项目连自测都不足,那就不是写不写单元测试的问题了,而是开发人员的职业素养问题。
  基于开发人员必须测试后再推代码这个前提,对于较复杂的项目,写单元测试显然要比人肉测试轻松吧?所以我才说写单元测试不是为了避免 Bug,而是为了避免人肉测试。
  另外,单元测试并不是覆盖率越高越好,适当就好。之前有遇到过一个项目的测试量超出代码好几倍的,后来每次一个很简单的需求变更都需要对一大堆测试用例做调整,严重影响开发进度。其实单元测试的覆盖率写到多少并没有什么规范,不同类型项目的最佳覆盖率也不一样。我个人推荐的准则是把平时人肉测试的流程用代码写出来,并且每次遇到 Bug,修完后补一个测试。
网名:
54.198.108.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^