love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

          導(dǎo)航

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          公告

          留言簿(15)

          隨筆分類(493)

          隨筆檔案(498)

          相冊

          閱讀排行榜

          常用鏈接

          統(tǒng)計

          積分與排名

          friends

          link

          最新評論

          XP中的TDD是什么?測試驅(qū)動開發(fā)?測試驅(qū)動設(shè)計?

          XP中的TDD是什么?測試驅(qū)動開發(fā)?測試驅(qū)動設(shè)計?

          http://c2.com/cgi/wiki?TestDrivenDevelopment
          ?
          ?

          Test-Driven Development

          http://www.xprogramming.com/xpmag/whatisxp.htm#test

          Extreme Programming is obsessed with feedback, and in software development, good feedback requires good testing. Top XP teams practice "test-driven development", working in very short cycles of adding a test, then making it work. Almost effortlessly, teams produce code with nearly 100 percent test coverage, which is a great step forward in most shops. (If your programmers are already doing even more sophisticated testing, more power to you. Keep it up, it can only help!)

          It isn't enough to write tests: you have to run them. Here, too, Extreme Programming is extreme. These "programmer tests", or "unit tests" are all collected together, and every time any programmer releases any code to the repository (and pairs typically release twice a day or more), every single one of the programmer tests must run correctly. One hundred percent, all the time! This means that programmers get immediate feedback on how they're doing. Additionally, these tests provide invaluable support as the software design is improved.

          在上面的圖中,列出的的是XP的12個團隊實踐。Test-Driven Development是其中之一。
          Kent Beck 的著作TDD(Test Driven Development) 中詳細(xì)講述了測試驅(qū)動開發(fā)。
          在XP中測試是一種設(shè)計,不是簡單的為了測試你的功能是否實現(xiàn)。測試先行一個目的
          是可以在代碼編寫之前,保證測試已經(jīng)寫好;其實這些測試的另一個目的就是設(shè)計接口,
          保證接口在以后的修改過程中能夠滿足測試(設(shè)計)。當(dāng)你有意或無意修改接口的時候,你必須同時
          修改測試 要改動接口的時候,也應(yīng)該是先修改測試,再修改代碼。而不是修改代碼等著報錯再修改
          測試(設(shè)計) 。(測試必須100%通過才能進行下一個功能),這樣測試也是在提醒你,接口已經(jīng)改變。
          實際上,設(shè)計已經(jīng)改變。當(dāng)你修改單元測試的時候,可能就會遭到抱怨。為什么?你修改了設(shè)計
          ,別人的代碼是依賴你修改前的測試(設(shè)計),那么新的測試(設(shè)計)中的變動可能要影響到
          別人已有的代碼。
          ?
          當(dāng)你使用TDD的時候一定要說明是測試驅(qū)動開發(fā)還是測試驅(qū)動設(shè)計。這兩者是有區(qū)別的。測試驅(qū)動
          開發(fā),是通過測試定義所要開發(fā)的功能的接口,然后實現(xiàn)功能的開發(fā)過程。對于測試驅(qū)動設(shè)計,在XP中似乎
          已經(jīng)消失了,而是被測試驅(qū)動開發(fā)所取代。另外在XP中有用于描述設(shè)計的,SimpleDesign ,Design Improvement.
          在XP中測試是一種設(shè)計,設(shè)計之后才有開發(fā),這也就是為什么要測試先行了。
          在XP中測試是一種文檔,用于描述設(shè)計。

          posted on 2007-01-17 13:40 liaojiyong 閱讀(928) 評論(0)  編輯  收藏 所屬分類: Mixture

          主站蜘蛛池模板: 沙坪坝区| 融水| 合肥市| 古蔺县| 邹平县| 盐池县| 沈丘县| 聂荣县| 寻甸| 新闻| 林甸县| 大同市| 东丽区| 峨山| 年辖:市辖区| 南丰县| 太谷县| 白朗县| 枣庄市| 阳泉市| 亚东县| 安徽省| 黄大仙区| 九龙县| 休宁县| 金昌市| 黑山县| 浪卡子县| 建湖县| 张家口市| 疏勒县| 顺平县| 日照市| 德钦县| 乌鲁木齐市| 屏南县| 永胜县| 平塘县| 永寿县| 昆明市| 贵州省|