我在看SpecFlow的例子,它的MVC樣品中含有用於測試一些備選方案:基於驗證由控制器產生的結果如何在SpecFlow,Cucumber或其他BDD驗收測試框架中選擇不同的測試類型?
- 驗收試驗
- 使用MvcIntegrationTestFramework進行集成測試;
- 使用硒的自動驗收測試;
- 當提示測試人員手動驗證結果時,手動驗收測試。
我必須說我對SpecFlow示例的寫法(以及我在下載後幾分鐘內運行它們,只需配置數據庫並安裝Selenium遠程控制服務器)印象深刻。看看測試的替代方案,我可以看到它們大多數是相輔相成的,而不是替代方案。我能想到這些測試以下組合:
- 控制器在TDD風格的測試,而不是使用SpecFlow(我相信鑑於/時/然後測試類型,應在更高的應用,終端到終端的水平;他們應該對各個部件提供良好的代碼覆蓋;在開發會話中運行的集成測試時
- MvcIntegrationTestFramework是有用的,這些測試還將每天的一部分建立;
- 雖然基於硒測試自動化,它們是緩慢的,並主要是在QA會議期間啓動,以快速驗證頁面和網站工作流程中沒有違反邏輯;
- 提示測試人員確認結果有效性時的手動驗收測試主要是驗證頁面的外觀和感覺。
如果您在Web開發中使用SpecFlow,Cucumber或其他BDD驗收測試框架,請分享您在不同測試類型之間進行選擇的實踐。
在此先感謝。
謝謝你一個很好的答案,並且這些例子非常好。我會仔細看看你的WipFlash。雖然我沒有在我的curreny項目中使用WFP,但WipFlash可能會提供關於自動化和測試UI的一些想法。 – 2010-11-01 06:25:56