2012-02-19 83 views
4

我在一個我們不做TDD的項目中,因爲我們的老闆和客戶都是非常「老式」的人。因爲我不能通過TDD進行設計,但我感到害怕改變,所以我想爲自己的安全編寫單元測試。但是,這些單元測試會是怎樣的呢?我是否必須爲測試的每個方法規範編寫一個測試,以確定它們應該做什麼?我是否必須測試每個新功能,如TDD,但沒有設計?我腦子裏一團糟。沒有TDD可以做單元測試嗎?

在此先感謝。

回答

6

你可能不會因爲做單元測試而傷害任何東西 - 不管它們做得如何 - 除了一種可能的副作用,那就是錯誤的信心。

我們往往不會做鐵桿TDD,儘管如此,單元測試覆蓋率從子虛烏有的範圍取決於項目適中,正在成爲這個想法在平息越來越有價值。

對於一般的指針,我會下面要說的,現在是你的關鍵優先事項:

  • 測試你知道什麼是重要
  • 測試你知道什麼是脆弱
  • 寫測試,以公開任何新的錯誤,然後解決的bug馬基ng通過測試的修改
  • 將TDD儘可能應用於任何新功能
  • 確認您不能TDD現有項目。就其性質而言,TDD僅適用於新的領域,無論是新產品還是舊產品的新功能。不要讓這個事實讓你感到灰心。
1

。 TDD是另一種恰巧利用單元測試的軟件開發技術。作爲一個流程的單元測試在沒有TDD的情況下是很好的。更何況,有時候甚至不可能做TDD,但你還是要寫測試(認爲遺留系統/現有的未經測試的代碼測試)。

但至於你應該測試什麼。根據你想要的測試的深度,你可以從最終用戶導向的功能入手,通過系統組件測試(即類別合同),直到,確保你的代碼做到了你聲稱的那樣 - 這幾乎是最終的,最細緻的單元測試,你很可能會有很多。

一般來說,測試什麼,不是一個簡單的問題,我碰巧已經回答這個問題的幾個變種,給你一些提示:

而且,讀幾本top votedunit testing問題可能給你,爲什麼你會受益匪淺,無論使用TDD或不從測試中,一些想法。

1

當你說「我們不做TDD」時,你是說其他人不練習TDD或者你的老闆禁止你練習TDD嗎?如果它是第一個,那麼只要你不想強迫其他人這樣做,你就可以儘可能多地練習TDD。如果是另一個,那麼告訴你的老闆他們會付錢給你編寫代碼,這是你知道怎麼做的最好方式,TDD是你如何做的一部分。

你當然可以在沒有實踐TDD的情況下編寫測試。人們一直這樣做。使用舊的說法,「測試,直到恐懼轉向無聊」。爲你擔心的任何問題編寫測試可能無法正常工作。

相關問題