簡體   English   中英

當集成測試已經存在時,有人可以舉一個單元測試增加價值的具體例子嗎?

[英]Can someone give a concrete example of a unit test adding value when integration tests already exist?

假設我們沒有進行TDD(顯然,單元測試是TDD的一部分),並且針對所有用例進行了集成測試。

集成測試假設假設輸入一定並驗證輸出是否符合預期。

我的想法是, 使用與集成測試中的方法相同的數據為集成測試中遍歷的方法添加一個單元測試 ,不會暴露任何其他錯誤。

得出的結論是,只要您有足夠的集成測試,就不需要對相同的代碼進行單元測試。

因此,有人可以舉一個具體的例子,說明在上述情況下單元測試可能會暴露一個錯誤嗎?

集成測試可以看作是驗收測試的一種形式。 他們確保軟件正在執行應有的功能

另一方面, 單元測試對客戶而言並不是特別有用。 一位顧客並不擔心, InitializeServerConnection失敗,但他們擔心,他們無法內部消息發送到他們的同事作為一個結果。

那么單元測試有什么用呢? 它們是一個開發工具,是一站式服務。 單元測試可驗證機器中的齒輪是否正常工作。 如果不是這樣, 很容易看到它失敗

Arialdo Martini提供了一個很好的解釋:

過於簡化,軟件系統可以看作是協作模塊的網絡。 由於他們合作,因此其中一些人彼此依賴。

[...]

通過集成和端到端測試,您將能夠找到所有損壞的功能。 系統測試

但是,這對於猜測錯誤的位置沒有任何幫助。 具有相同錯誤的同一系統將導致以下單元測試失敗:

單元測試

因此,即使單元測試不會增加任何業務價值,它也可以通過減少查找問題根源的手動測試,調試和篩選代碼所花費的時間來增加價值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM