隨筆 - 3, 文章 - 152, 評論 - 17, 引用 - 0
          數(shù)據(jù)加載中……

          Test-Driven Development

           

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

          posted on 2005-07-25 12:22 閱讀(168) 評論(0)  編輯  收藏 所屬分類: Test-Driven Development

          主站蜘蛛池模板: 浏阳市| 伊春市| 肃北| 潍坊市| 黎平县| 泽普县| 罗甸县| 鲁山县| 安塞县| 岱山县| 从化市| 尼勒克县| 长宁县| 西贡区| 彩票| 新乡市| 沁阳市| 乐都县| 屯门区| 喀喇沁旗| 乌拉特中旗| 独山县| 石棉县| 鄄城县| 衡南县| 濮阳县| 平顺县| 阿合奇县| 盐池县| 石台县| 霸州市| 洱源县| 长春市| 城口县| 平顶山市| 晋城| 南城县| 蓝田县| 平泉县| 全南县| 萨迦县|