如果您想将开发过程从测试驱动开发转移到行为驱动开发,您会采取或推荐哪种方式?
您可能面临的挑战是什么?随着范式的改变,移动开发过程本身将是一项艰巨的任务,思维过程和项目执行的前景发生变化.
有没有人真正体验到这种转变顺利进行(嗯...可能不是那么顺利)?
或者是否有人试图实现这一转变?
我知道这可能不适用于每一件事.但是,如果有人需要朝着这个方向努力,那将是合乎逻辑的步骤.
我从以下SO帖子中只有关于BDD的基本信息. TDD和BDD之间的主要差异
我要找的关键点是:
需要什么样的开发人员培训?
SDLC流程是否有任何重大变化?
你推荐什么BDD工具(.net)?
良好的BDD资源(.net)
提前致谢.
关于.NET的BDD Framework,我在SO 最成熟的BDD Framework for .NET中发现了这篇文章
当我开始研究BDD时,我调查了那里的所有框架(对于.net)并最终没有使用它们.主要原因是我觉得社区尚未确定语法和最佳实践,所以我继续使用NUnit基于Ben Scheirman 的博客文章的基类.这非常好,因为BDD不是关于工具,而是使测试干净且易于理解,这对于像nunit这样的普通工具来说是完全可能的.
与我的旧单元测试相比,新样式更具可读性,并且更加注重命名和行为.我们距离打印方法名称并没有那么远,并与业务人员讨论系统.
Scott Bellware的一些额外阅读:行为驱动开发
考试考试:
public class WhenAddingLineItemToEmptyOrder : BDDBase { Order order; [SetUp] public void Arrange() { order = new Order(); } public void Act() // called by BDDBase { LintItem item = new LineItem(); item.Quantity = 1; item.Price = 10; order.AddLineItem(item); } [Test] public void TotalPriceShouldBeUpdated() { Assert.AreEqual(10, order.TotalPrice); } [Test] public void OrderCanBeCheckedOut() { Assert.IsTrue(order.CanBeCheckedOut) } }