2011-10-16 162 views
3

我注意到了在Visual Studio 2010和Netbeans 7中進行測試的功能,並且想知道它們的確做了什麼。使用它們會比設計我自己的測試更有效率嗎?什麼是單元測試等?

+0

您是否在尋找關於單元測試(如當前答案提供)或這些特定測試創建功能的文檔/描述的一般解釋? (或兩者?) – Cascabel

回答

4

單元測試(與集成測試相對)是測試單個單元(通常是一個類)功能的測試(通常實際上是存在於同一個類和文件中的多個測試)。

相比之下,集成測試測試了多個不同單元的相互作用。端到端測試是一種特殊類型的集成測試,它測試整個軟件堆棧,從UI到下面的所有東西。

可以進行兩種不同類型的測試:「玻璃盒」和「黑盒​​子」。 「黑匣子」測試與實現無關;它僅基於記錄的功能/類的行爲進行編寫,並確保任何任意實施都遵守記錄的行爲。它也可能包括對各種理論實現可能產生的潛在錯誤進行測試,但不考慮實際實現的效果。相比之下,「玻璃盒」測試是利用實現知識並確保實現中的每個代碼路徑都經過測試的測試。一個好的測試是由全面的黑匣子和玻璃盒測試組成的。

有許多不同的免費提供的庫,可以很容易地創建單元測試。我強烈建議您使用googletestgmock(在Google上廣泛使用)進行測試。

2

單元測試涉及測試獨立於它們通常與之關聯的上下文的單獨的類或函數。這可以通過消除一些猜測遊戲來減少故障排除時間,當找出您的代碼爲什麼導致錯誤時。對於涉及大量代碼或涉及許多人員的大型企業級項目,單元測試通常值得花費時間和精力。

相關問題