2010-02-10 48 views
7

正如我所瞭解的,有幾種情況您可能需要使用FitNesse。使用FitNesse而不是NUnit

  • 你想做驗收測試而不是單元測試。
  • 你想用它作爲利害關係人的交流工具。
  • 你想做大規模的測試而不是粒度測試。
  • 您希望非技術人員撰寫測試。

我個人的看法和經驗是:

  • 我可以用工具做測試驗收,如NUnit的。 Fitnesse基本上只是一個調用.NET程序集公共方法的框架,可以使用NUnit來完成。
  • 利益相關者告訴我他們想要什麼。他們很少有興趣編寫Fitnesse測試。他們似乎有其他/更好/更重要的事情要做。
  • 您可以使用FitNesse進行大規模測試。據我所知,您必須將這些大規模測試的所有輸入輸入到Web瀏覽器中的純文本編輯器中。這比從磁盤上的文本文件或excel文件或數據庫中讀取輸入數據容易嗎?當然,你可以在Web界面中指定磁盤上文件的路徑,但是使用NUnit來讀取同一個文件有什麼好處?
  • 這些非技術人員必須在網站上的文本編輯器中編寫代碼,並遵循特定的語法,稍後將調用.NET程序集。 .NET代碼變得混亂,因爲非技術人員不知道編程,但他仍然指定程序集應該如何工作。

有人可以分享一些關於這個問題的其他意見嗎? FitNesse如何對你有價值?

+0

我覺得有點奇怪,有人贊成這個問題,但沒有upvote它。這在SO上很常見嗎? – 2010-02-10 17:14:35

+0

是否有任何.NET/Fitnesse驗收測試教程? – HichemSeeSharp 2012-04-26 11:56:20

回答

1

您的問題最典型的回答是

「更高水平測試(如接受)是偉大的,直到找到問題。在這一點上,如果你沒有單元測試,那麼你唯一知道的是那東西壞了 - 不是特別是什麼壞了或應該修補的地方。「

4

FitNesse的設計目的與NUnit完全不同。首先,使用NUnit進行驗收測試意味着整個測試套件必須用代碼編寫。 FitNesse的設計意圖是,您可以在給定一定的準備水平的情況下編寫測試數據。這些是非常不同的操作模式,它們適用於非常不同的資源。他們也鼓勵對世界非常不同的看法 - FitNesse測試用例設計師正在設計一個簡單而直接的轉換即將發生的假設,而NUnit用戶對這種轉換的工作原理以及掛鉤有很深的瞭解進入與轉變本身無關的系統。

如果您不能讓利益相關者編寫用例和功能測試,那麼您需要爲這些利益相關者提供一個替身,這是傳統質量保證部門進入的地方。沒有利益相關者去做這件事情,不要這樣做的藉口。

使用FitNesse以自定義格式讀取數據的好處非常簡單:它是輸入測試用例的標準方式。如果你沒有看到它的好處,也許你需要花一些時間去描述你所描述的道路,因爲最終你會碰到一些圍牆,也許它們會幫助你理解。

8

所以是的,你可以在nUnit中編寫驗收測試,但是沒有說明問題。 FitNesse的應該是另一種用戶界面的應用程序,它表示斷言的詳細流程:

用戶做到這一點 用戶確實是 用戶現在看到這

理想的健身層能夠坐直接覆蓋應用程序的頂層,替換最終的渲染層。

單元測試工具並非真正爲此設計,你能做到嗎?當然。但這很奇怪。

在我看來,另一件事是,你對「你想讓非技術人員寫測試」的想法有點偏離。 Fitnesse是一種協作工具。你應該與利益相關者一起寫測試,給出並獲得反饋。然後,它有作爲文檔的好處。所以一年後,當有人想知道爲什麼系統按照它的方式工作時,您可以拉出測試,以BA能夠理解的方式顯示(與nUnit不同),並說得好,在這裏,我們是否應該改變它?