• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

对测试驱动开发的感悟[2]

发布: 2010-1-19 10:42 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 48次 | 进入软件测试论坛讨论

领测软件测试网

  对测试驱动开发的感悟[2]   软件测试工具

  成熟

  经过了一段时间的迷茫和设计的不断返工,计划的不断延误。终于开始认清了真相,也真的理解了一句话,"质量是设计出来!",同时明白了"抽象"的必要性,并且还是会使用MOCK了!

  哎~,这些收获付出了很多的代价呀!项目的合伙人因为计划不断厌恶,想杀我心都有,每次去用户那里,用户总语气很怪强调"专家"这两个字(我朋友为了接项目,忽悠客户说我是很牛的专家...),我顶着这些压力,还在不停的重构,不停的写着测试代码。

  不过,单元测试的过程并没有很大的改善,主要还是一个复杂的方法里面的业务规则很多,而且代码也多,方法内部依赖的环境因素和依赖对象也很多,当出现这种情况的时候,去写它的测试代码简直是一个十分痛苦的事情,而且这种应付不了以后的变化。这种代码代码本来就多,当需要变化的时候,看代码就需要N久时间,更别说还有心情在去理会测试代码了!我对于这种问题并没有太多的解决办法,只是用时间去填补。

  其实经过了这些,我知道自己欠缺什么?!那就是设计,由于设计的不够抽象,对于复杂事物分解的不够简单...,接着跑出去书城,拿着刚发的工资买了N多的关于设计的书籍。把它们抱回家,当看着这些书的时候,看着正在进行的项目,和那一大堆比代码还复杂的测试代码,觉得值了!

  飞跃

  "单一职责"

  "依赖倒置"

  "开放封闭"

  "Liskov替换原则"

  "迪米特法则"

  这些设计的基本原则,大家是否是已经看过了太多次了,但是这些你真的每个都理解了吗?23种设计模式,每种模式都会了吗!会使用吗!你做设计的时候,是否会去思考我应该用何种模式呢?!......

  这是我花了N久时间才慢慢理解和学会的东西。时间大概过了半年多,我的小项目已经开始运行,看着它正常的运行和VS2005上测试项目中的一排"测试通过"的标志,无限的喜悦。我学会了设计,理解了测试驱动开发,并且写测试代码不在烦恼,而是如此的简单,"设计完后就马上去构思测试代码,如果觉得测试代码复杂,又回来修改设计,直到交互都简单为止",这成为我现在的一种习惯。学会这些的同时我又拿到了项目Money,真是爽呀!

  经历过这些,我的领会是:在做单元测试之前,你必须要学会设计。设计原则和设计模式是你需要要去掌握和理解的,要让自己在做设计的时候,不会去想"我是否应该用哪种模式",而已灵活运用,根据具体的情况去做,因为你要做到"无剑胜有胜"!

  只有简单的东西才容易写,容易测试。代码变的简单,单元测试同样会变的简单。所以其中最关键的就是你如何将复杂的东西简化。虽然谁都知道这个道理,但是要真正做到还是很不容易的。需要理解,需要实践,需要时间去积累...

  这是我做单元测试,并学会测试驱动开发的一个过程,现在虽然自己还是一只"小鸟",但是我可以让代码看上去简单,有了一大堆测试代码的保证,降低了变更的风险。

  工作还在继续,还向着新的目标前进......

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 感悟 开发 驱动


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网