Test-Driven Development

來源:互聯網
上載者:User

測試驅動開發(Test-driven development)是現代電腦軟體開發方法的一種。利用測試來驅動軟體程式的設計和實現。測試驅動開始流行於20世紀90年代。測試驅動開發是極限編程中倡導的程式開發方法,方法主要是先寫測試程式,然後再編碼使其通過測試。測試驅動開發的目的是取得快速反饋並使用“illustrate the main line”方法來構建程式。

測試驅動開發的比喻。開發可以從兩個方面去看待:實現的功能和品質。測試驅動開發更像兩頂帽子思考法的開發方式,先戴上實現功能的帽子,在測試的輔助下,快速實現正確的功能;再戴上重構的帽子,在測試的保護下,通過去除冗餘和重複的代碼,提高代碼重用性,實現對品質的改進。可見測試在測試驅動開發中確實屬於核心地位,貫穿了開發的始終。

 

正面評價
  • 可以有效避免過度設計帶來的浪費。但是也有人強調在開發前需要有完整的設計再實施可以有效避免重構帶來的浪費。
  • 可以讓開發人員在開發中擁有更全面的視角,避免過度實現帶來的浪費。

負面評價
  • 開發人員可能完成滿足了測試的代碼,而忽略了對實際需求的實現。有實踐者認為用結對程式設計的方式可以有效避免這個問題。
  • 會放慢開發實際代碼的速度,特別對於要求開發速度的原型開發造成不利。這裡需要考慮開發速度需要包含功能和品質兩個方面,單純的代碼速度可能不能完全代表開發速度。
  • 對於GUI,資料庫和Web應用而言。構造單元測試比較困難,如果強行構造單元測試,反而給維護帶來額外的工作量。有開發人員認為這個是由於設計方法,而不是開發方法造成的困難。
  • 使得開發更為關注用例和測試案例,而不是設計本身目前,對於這個觀點有較多的爭議。
  • 測試驅動開發會導致單元測試的覆蓋度不夠,比如可能缺乏邊界測試。在實際的操作中,和非測試驅動開發一樣,當程式碼完成以後還是需要補充單元測試,提高測試的覆蓋度。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.