我在看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