我剛剛與我的首席開發人員進行了一次對話,他們不同意單元測試是必要的或重要的。在他看來,具有足夠高代碼覆蓋率的功能測試應該足夠了,因爲任何內部重構(接口更改等)都不會導致需要重新編寫或重新查看測試。爲什麼功能測試不夠?單元測試提供什麼?
我試着解釋,但並沒有走得很遠,並認爲你們可以做得更好。 ;-)因此...
功能測試不提供單元測試代碼有什麼好的理由?如果您所有的功能測試都有什麼危險?
編輯#1感謝您的所有好的答案。我想通過功能測試補充說,我並不是說只對整個產品進行測試,而是對產品中的模塊進行測試,而不是對單元測試的低級別進行測試,如果有必要的話,嘲諷等。我們的功能測試是自動的,並且持續運行,但它們只比單元測試花費更長的時間(這是單元測試的一大優點)。
我喜歡磚與房子的例子。我猜我的主要開發者被說是測試房子的牆壁就足夠了,不需要測試單個磚... :-)
關於磚的例子:磚是大規模生產的,它們都是一樣的,這與功能或單位不同。 – philant 2008-10-13 19:24:48
好點@支架。不知道我同意你的主要開發人員。正如在評論中提到的那樣,軟件單元/模塊並非完全相同,並且由於各種答案中提到的所有原因,單獨進行單元測試是非常重要和有用的。 – Sid 2015-04-26 15:42:19