测试先行的12个好处

发表于:2015-6-25 13:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:TECHUG    来源:51Testing软件测试网采编

  J.Timothy King写了一篇很不错的文章:“先写单元测试的12个好处”(Twelve Benefits of Writing Unit Tests First)。个人认为后半部分的文章有点多余。
  然而,如果你还是不愿改掉你之前先写代码的老毛病,至今还认为个人习惯比先设计好的软件还重要,那我也只能叹息了。
  J.Timothy King的文章写的有点弄巧成拙了,虽然单元测试的主张是重要,但是他的普遍接受已经是过去几年里软件开发市场上的进步了!
  软件上的难题你是怎样解决的?开始会先做什么?在解决难题的时候会常问自己要编写怎样的代码才行,首先的重点是我要用什么样的方法才能解决这个问题。
  每个人的思维里总是喜欢有一个假设,假设一些不会发生或是不存在的事情,我们已经有了判断的结果可还是要做上一些的事情,这种思维对于大部分人来也是难以改变的!
  J.Timothy King罗列了12个方法,帮大家接受“测试先行”的观念:
  1.测试可证明你的代码是可以解决问题的
  2.一面写单元测试,一面写实现代码,这样感觉更有兴趣
  3.单元测试也可以用于演示代码
  4.会让你在写代码之前做好计划
  5.它降低了Bug修复的成本
  6.可以得到一个底层模块的回归测试工具
  7.可以在不改变现有功能的基础上继续改进你的设计
  8.可以用于展示开发的进度
  9.它真实的为程序员消除了工作上的很多障碍
  10.单元测试也可以让你更好的设计
  11.单元测试比代码审查的效果还要好
  12.它比直接写代码的效率更高
  以上几条如果你有几条是认同的,那么至少有一半是正确的吧!对于同业都来说也是一个很大的进步吧。关于单元测试的重要性,个人是没有别的不同意见。
  我一直觉得单元测试的倡导者在个人立场上有点急于求成了,总是希望从业者们会在短时间内改变开发软件的方式。特别是一些开发人员从来都没有用过,如果他们还没有打算把单元测试纳为每个开发项目的标准方法,个人觉得他们还不具备这个条件。
  过于推崇单元测试也有可以会适得其反!如果真的变成我所说的那样,就真的是可惜了,关于软件测试这个问题来说,个人是认为测总是比不测的好。其实他也就是一种正式的随机测试,Fowler有段话说得非常好:
  译者注:在软件测试中,除了根据测试样例和测试说明书进行测试之外,还需要进行随机测试,主要是根据测试者的经验对软件进行功能和性能方面的抽查。
  译者注:Martin Fowler是世界级软件开发大师,在面向对象分析设计、UML、模式、XP和  重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的  多部著作,如《分析模式》、《UML精粹》、《企业应用架构模式》、《重构:改善既有代  码的设计》等,都已经成为脍炙人口的经典。
  总的来说还是望大家能够从新认识单元测试的价值和重要性。希望能改掉之前编写代码的老毛病,若能改变一些,可能在以后的工作中会有突飞猛进的效果,当然,也不能够急于求成,首先还是要先学会慢慢适应!
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 105092730
    2015-6-25 16:58:16

    抢个沙发!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号