`
wcleye
  • 浏览: 10129 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

迟到的醒悟:为什么项目要有单元测试?

阅读更多

项目接近尾声,再也不用没日没夜的加班写代码了,而我终于也有时间谈谈这次项目的这次项目的收获了,在这里我不想再重复理论性的东东,写出我实际的项目开发经历 :

 

在之前项目开发中,项目开始前经理总会提醒我,编码时别忘了写单元测试,于是乎循规蹈矩,但我对它一直不以为意,认为它无意中增加了我的工作量.

 

这次我被临时调入了现在的项目组,介绍项目成员时,我乐了,为啥? 这个项目的负责人在这块没多少经验,项目的成员也是新进职员,看到他们的代码,更喜了,不用写测试了....

 

就这样加了项目组 ...

 

二个月后,项目模块基本按预先设想的完成了,该给客户看下基本界面和功能了.

下午开完会回到公司,看到那一页页的需求改动要求, .... ,这时改动过程中我发现问题来了,(以前写测试虽说不情愿,但也还是写了,遇到现在这种情况,基本上不费多大功夫,改完功能跑下测试) .而 这次我没写测试,但是想想这也难不到我,不就是多跑几次服务器吗,后来在我的 不懈努力下 (其中的过程就不说了,相信大家都经历过) ,终于改动的部分如期完成了.还没来得及高兴,需求又有变化了,看到这些变化,我真的头皮发麻,之前的改动是如何完成的,现在我还历历在目,小小的一个改动,一个细节的疏忽,引来了一遍又一遍的DEBUG,可最终找到的结果让人欲哭不能( 虽然本人水平有限,系统设计也有问题,但这不是主要原因).现在要在这次基础之上再次改动,我再也没了自信...

 

开始怀念以前做项目时编写的测试,要是有它,就不会像现在这样郁闷了吧,至少不用花如此多的时间来查看那些由于疏忽而造成的这些问题.. ...

 

你是否还和我一样呢,大家都来谈谈吧...

分享到:
评论
1 楼 wcleye 2008-12-04  
<div class='quote_title'>zxbyhcsdn 写道</div>
<div class='quote_div'>好的一个软件系统, <br/>就好比Pc电脑,是由各个部分组成的。 <br/>就好比CPU,显卡,内存,硬盘。 <br/>单元测试就好比出厂之前,保证这些东东是没有问题的, <br/>那么把他们组合在一起(当然要按照标准),才能保证PC电脑是功能正常的。</div>
<p> </p>
<p> 找到之前 klyuan 发布的一篇文章 : <a href='http://www.iteye.com/topic/97693'>http://www.iteye.com/topic/97693</a> ,文章写得很好,但是我想如果实际项目中没有遇到这种情况,再多原理,再多分析,还是一纸空谈,真正能懂能明白的又有几人..</p>
<p> </p>
<div class='quote_title'>klyuan 写道</div>
<div class='quote_div'>是的,这是我的系列文章的第一部份! <br/>进度和成本不是拒绝编写单元测试的理由!因为编写单元测试根本不会增加成本,也不会误延进度! </div>
<p> </p>
<p> </p>
<p>如果在我做项目前看到这篇文章,我的第一反映肯定会是:这与我有关系吗,似乎是项目经理的事... </p>
<p> </p>
<p><span style='color: #00ff00;'>我的理解是 : 单元测试就是为了在需求变化时,让你对改动后的编码持续自信,能自信的对别人说 : 绝对没问题. 所以单元测试也只有在需求改动或重构时才能真正显示其威力..</span></p>

相关推荐

    陈年的醒悟:凡客大手术 伤筋动骨为盈利.docx

    1. 业务重组:陈年对凡客进行了大幅度的业务结构调整,从两个事业部扩展到六个事业部,再细分为七个产品线,目的是优化管理结构,提高效率。 2. 经营指标:陈年引入了更理性的经营指标,包括毛利率、售罄率和库存...

    TOC系列第六部 醒悟.pdf

    书中的“醒悟”一词,揭示了TOC管理理念中的核心精神,即当组织或个人对某个难题有了突破性的认知和解决策略时,会有一种突如其来的“顿悟”感受。这种顿悟往往意味着找到了问题的关键解决方案,即TOC中的瓶颈。...

    人教版初一语文上册五单元测试卷精选.doc

    【知识点详解】 ...以上是对人教版初一语文上册第五单元测试卷部分内容涉及的知识点的详细解析,涵盖了成语理解、注音、标点符号运用、病句修改、句意理解、文学常识、语言艺术和古诗词默写等多个方面。

    五年级语文下册 第3单元 测试卷2 新人教版-新人教版小学五年级下册语文试题.doc

    总结:这份五年级语文下册第三单元的测试卷旨在全面检测学生的语文综合能力,包括基础的汉字拼音和书写,进阶的关联词应用和句型转换,以及对古文的理解和对历史人物的品评。同时,它也强调了礼貌用语的使用和阅读...

    电影网站,可以作为作业,Java web 项目

    10. **Junit or TestNG**: 测试框架,用于编写单元测试,确保代码质量。 11. **Git**: 版本控制系统,项目可能包含`.git`目录,记录项目的历史版本和协作信息。 在`gouyan-master`这个压缩包中,我们可以找到项目...

    醒悟初三话题作文.docx

    - **平衡自主与服从**: 学习过程中,既要有自主思考的能力,也要懂得适时服从长辈的经验和建议。 #### 三、独立思考与创新意识 - **案例分析**: 文章提到了一个关于中外学生知识竞赛的例子,中国学生过度依赖名人...

    高三醒悟纪事作文.doc

    9. 优势挖掘:姚远虽然前期学习不足,但听过和见过的知识为他打下了一定基础,这意味着他仍有提升空间,需要利用现有知识进行有效的复习。 10. 心理辅导的作用:姚远的母亲寻求心理老师的帮助,说明心理辅导在应对...

    初一周测试.docx

    标签为"资料",部分内容提及的"周测第七关-因式分析之醒悟IV"、"变卦莫测的法那么"、"解读全部思想"、"温故而知新"、"勇战期中测试"等似乎是教育或学习过程中的主题,这些内容并不直接对应IT行业的专业知识点。...

    瞬间的醒悟作文.doc

    【瞬间的醒悟】这篇作文揭示了青少年在成长过程中对自我认知、学业压力以及亲情需求的理解。文章以作者进入高中的经历为背景,探讨了理想与现实的冲突、期望与压力的关系,以及时间管理和个人成长的重要性。 首先,...

    醒悟吧-人类作文.doc

    这提醒我们要重视水资源保护,减少污染,确保可持续利用。 2. 环境破坏:文中提到的花儿枯萎、鸟儿离开,揭示了环境破坏的严重性。人类的行为,如乱丢垃圾、排放废物,不仅影响河流水质,还破坏生物栖息地,导致...

    醒悟人生经典话语.docx

    醒悟人生经典话语.docx

    DiscoveryinaThunderstorm雷雨中的醒悟.doc

    总的来说,"雷雨中的醒悟"提醒我们要在追求目标的过程中欣赏沿途的风景,接纳生活的不完美,并从中发现美与满足。通过改变视角,我们可以从困境中找到价值,让心灵得到滋养和成长。这是一种生活的智慧,也是面对挑战...

    字形检查测试题及答案.pptx

    - "执迷不悟":坚持错误而不醒悟。 - "水泄不通":形容非常拥挤或包围得非常严密。 - "至理名言":含有深刻道理的著名言论。 - "趾高气扬":态度傲慢。 - "贸然行事":轻率行动,不考虑后果。 - "入不敷出":...

    尼日利亚东南部的全民健康覆盖和健康生活:心理健康状况如何?

    建议:从政策制定者到消费者的所有利益相关者都应醒悟,认识到精神健康是健康必不可少的部分,并采取紧急和必要的措施,以确保促进精神健康,预防和治疗精神障碍以及适当的康复。那些在该地区患有精神疾病的人。

    2020四年级语文下册第八单元知识小结新人教版

    【2020四年级语文下册第八单元知识小结...本单元的学习旨在巩固学生的语文基础知识,提升语言表达能力,同时通过经典故事的研读,让学生体会人性的美好,理解爱、包容和分享的重要性,为他们的成长奠定坚实的文化基础。

    【中学教材全解】2014-2015学年八年级语文下册 第一单元综合检测题 北京课改版

    本单元测试涉及了字音、字形、词语搭配、句子排序、文学常识、扩展语句、阅读理解等多个知识点。 1. 字音部分:检测学生的汉字拼音读音,如“根深蒂固”的“蒂”、“孜孜不倦”的“孜”、“汲取”的“汲”、...

    人教版小学语文六年级上册第三单元习作善意的谎言课件.ppt

    6. **情感表达**:强调学生要理解并表达出“善意的谎言”背后的情感,如感激、愧疚或醒悟,这有助于提升故事的深度和感人程度。 7. **习作反馈**:学生完成习作后,建议与其他同学交流意见,互相学习,共同提高。 ...

    新人教统编版五四制四年级下册语文 第八单元知识小结.docx

    【新人教统编版五四制四年级下册语文 第八单元知识小结】 这个单元的知识点主要涵盖了语文的基础知识,包括字词盘点、佳句积累、考试热点以及“1+X”阅读推荐。以下是详细内容: 1. 字词盘点: - 难读的字:如...

    哲理作文-沉重的醒悟优秀作文.docx

    哲理作文-沉重的醒悟优秀作文.docx

Global site tag (gtag.js) - Google Analytics