我们是一家 Microsoft 商店,拥有相当成熟的技术堆栈和非常熟练的 .net 资源。我们从一开始就一直在使用 TDD,现在正在涉足 BDD 领域。我们的工作由敏捷团队使用强大的敏捷实践交付。
我们最终可测试的产品是 web、wpf 和 windows 窗体。
测试资源介绍了BDD,想学习和使用Ruby和Cucumber来进行测试。开发人员有一些阻力,因为我们更愿意坚持使用相同的技术堆栈并使用 Specflow(或类似的)。测试人员的论点是它更容易学习。
我想确保开发人员和测试人员没有偏见,值得引入另一种技术。
最佳答案
SpecFlow 和 Cucumber 都使用完全相同的业务人员可读语言 (gerkhin) 来指定功能;唯一的区别是您是用 C#(例如使用 WatiN 来驱动基于浏览器的测试)还是 Ruby(例如使用 Watir)编写步骤定义。因此,测试将以非常相似的方式构建,并且无论您选择哪一种,都会产生相似的好处。
我猜想使用 SpecFlow 而不是 Cucumber 的好处是测试可以很容易地从 Visual Studio 运行,也可以从例如TeamCity 或其他基于 .NET 的持续集成工具。另一方面,当更改 Cucumber 测试或添加新测试时,您无需等待重新编译(但是,测试代码的更改通常伴随着生产代码的更改,因此这可能不会'将节省大量资金)。在测试基于 WPF 或基于 Windows 窗体的应用程序时,我认为从 .NET 控制这些应用程序会更容易(但可能有一些 Ruby 库用于控制其他 GUI 应用程序......)
关于.net - BDD测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671421/