TDD可以帶來好處

2021-08-30 15:02:40 字數 1182 閱讀 4572

提供明確的目標:

你很清楚, 一旦結束(測試通過), 你的工作就完成了(假設你的測試寫的很好). 測試**會為**建立乙個自然的邊界, 使你把重點集中在當前任務上. 一旦測試通過, 就有確切的證據證明你的**能工作. 相對於人工的測試使用者介面或者比較日誌檔案中的結果, 在乙個xunit框架中執行自動化測試, 速度要快幾個數量級. 大多數xunit測試的執行只需幾微秒, 而且大多數採用tdd的人都會一天執行數次測試. 在許多開發小組中, 將**上傳配置庫前, 必須成功地通過測試.

提供文件

你是不是經常遇到看不懂的**? 這些**可能沒有任何文件說明, 而且開發**的人可能早就走了(或者去度假了). 當然看到這種**的時間往往也很不合時宜, 可能是凌晨3點, 也可能有位副總在你旁邊大聲催促著趕快解決問題, 這樣要想花些時間來願作者的意圖就更困難了. 我們見過一些好的單元測試文件, 它們會指出系統要做什麼. 測試就像原開發人員留下的記號, 可以展示他們的類具體是怎麼工作的.

改善設計

編寫測試能改善設計. 測試有助於你從介面的角度思考, 測試框架也是**的客戶. 測試能讓你考慮得更簡單. 如果你確實遵循了"盡量簡單而且行之有效"的原則, 就不會寫出篇幅達幾頁的複雜演算法. 要測試的**通常依賴性更低, 而且相互之間沒有緊密的聯絡, 因為這樣測試起來更容易. 當然, 還有乙個額外的作用, 修改起來也會更容易!

鼓勵重構

利用一套健壯的測試集, 你能根據需要進行重構. 你是不是經常遇到一些不知是否該修改的**? 種種的顧慮讓你行動遲緩, 過於保守, 因為你不能保證所做的修改會不會破壞系統. 如果有一套好的單元測試集, 就能放心的進行重構, 同時能保證你的**依然簡潔.

提高速度

編寫這麼多測試會不會使開發速度減慢呢? 人們經常會以速度(或開發開銷)作為反對進行tdd和使用xunit框架的理由. 所有的新的工具都會有學習曲線, 但是一旦開發人員適應了他們選擇的框架(通常只需要很短的時間), 開發速度實際上會加快. 乙個完備的單元測試集提供了一種方法對系統完成回歸測試, 這說明, 增加乙個新特性之後, 你不必因為懷疑它會不會破壞原系統而寢食難安.

提供反饋

單元測試還有乙個經常被忽略的優點, 即開發的節奏. 儘管看上去好像無關緊要, 但通過測試之後你會有一種完成任務的成就感! 你不會成天地修改**而沒有任何反饋, 這種測試-**-測試的方法會鼓勵你動作幅度小一些 通常修改一次**的時間僅僅幾分鐘而已. 這樣你不會一下子看到冒出一大堆新的特性, 而只是讓**每次前進一小步.

專案跟蹤可以帶來哪些好處

專案跟蹤有很多好處和理由,從專案成功的機率增加到團結團隊的建立。及時了解專案的進展情況和專案狀態,就容易發現任何可能阻止專案成功的潛在問題。完全的透明度是準確決策的必要條件。專案跟蹤使所有團隊成員和利害關係人及時了解截止日期和目標,有助於專案經理更有信心管理專案。專案跟蹤的四大好處 1 資訊實時 首...

學習TDD 1 TDD的步驟和好處

早就聽說tdd的大名,一直沒有機會使用。這次mrpc框架開發的時候正好用用看。在此之前,先學習一下tdd。本篇大部分結論來自 加入乙個新的測試 執行下新加的測試,看到它失敗 因為你還沒寫功能 對開發 做很小的修改,目的就是讓新加的測試通過 注意這裡的目的 執行所有的測試 test case 然後看到...

學習TDD 1 TDD的步驟和好處

學習tdd 1 tdd的步驟和好處 加入乙個新的測試 執行下新加的測試,看到它失敗 因為你還沒寫功能 對開發 做很小的修改,目的就是讓新加的測試通過 注意這裡的目的 執行所有的測試 test case 然後看到所有測試都通過了 看到測試都變成綠色,一般都會小開心一下 移掉重複的 對 進行重構 既包括...