2011-10-31 106 views
4

我正在考慮如何構建我的驗收測試的兩種不同方法。我們有一個調用到服務層的Silverlight項目(我擁有雙方)。由於Silverlight的方式,調用Silverlight程序集的測試代碼必須位於與其他非Silverlight測試不同的測試項目中。 1)採取我們想出的所有接受標準,並將它們放入特徵文件中。用標籤標記場景以指定它們將運行的環境(@server,@client等)。在功能文件中也包含手動測試,並用@manual標記標記它們。如何構建驗收測試和測試計劃?

優點: 所有這一切得到由BAS的寫上去的測試會在一個地方給他們查看並潛在編輯

缺點: 它可能會更有意義測試一些與單位的情景測試或集成測試和NUnit可能是比SpecFlow更好的工具

2)爲所有東西寫入接受標準,但隨後在SpecFlow中自動化一些,一些使用單元測試,一些使用集成測試等。只有SpecFlow-自動化場景將在SpecFlow中。我們可能會將要進行單元測試,集成測試或手動測試的場景放入功能文件中,但這些場景實際上不會運行任何代碼,它們只是出於文檔目的而存在。

優點: 減少開發人員的摩擦和開銷。我們將使用我們針對每項測試所擁有的最佳工具自動執行不同的測試。

缺點: 我們將不得不讓SpecFlow運行的場景與任何代碼自動執行同步。

想法?有沒有另一種我沒有想到的方式?你怎麼做呢?

回答

0

我認爲你從測試的角度來看這裏有兩個不同的項目。

理論上,您的服務可以通過Silverlight應用程序以外的其他方式調用。它可能是一個HTML5應用程序,用Java編寫的一些其他MVC容器等等。所以我會寫出場景/規格/你自己的服務。

同樣,你有你的Silverlight應用程序可以與模擬出的服務層進行交互。這將是你的NUnit等等。然後你會在SpecFlow/Cucumber中進行額外的驗收測試,這將是「集成」測試,顯示整個應用程序如何對用戶採取行動。

0

您可能會在the programmers site上發佈這類問題的運氣更多,因爲這是一個概念性討論,而不是特定的技術查詢。