BDD有什么好处?
  BDD的作用是把利益关系人、交付团队等不同方面的项目相关人员集中到一起,形成共同的理解,共同的价值观以及共同的期望值。它可以帮助我们:
  关注用户行为
  交付有用的功能
  在团队内部维护一致的术语
  探究需求实例
  编写和维护需求
  创建活的文档
  消除协作与沟通障碍
  什么样的项目适合BDD?
  简单的一次性项目,沟通交流成本都较低的情况下,没有必要使用BDD;
  业务比较轻量,重在技术方面的项目,可以只使用TDD,或者简单的白板上的BDD,不需要在BDD工具记录需求用例文档;
  业务复杂、团队成员较多的项目,沟通成本高,BDD很有必要。
  常见疑惑
  1.BDD与TDD/ATDD
  TDD是测试驱动开发,ATDD是验收测试驱动开发,都是关于测试的,是与所开发的系统紧密联系的。而BDD则不同,前面提到过BDD不是关于测试的,着重关注需求、关注客户的业务价值,所描述的需求用例是可以独立于软件系统存在的,因为客户的业务是始终存在的,不取决于是否有软件系统来支撑。
  2. BDD与SBE
  SBE(Specification By Example,实例化需求)是在BDD之后由Gojko提出来的,也是关于需求的,主要强调通过列举实例发现需求中的缺失概念。BDD也是关注需求的,同样会使用实例来描述行为。两者的本质没有区别,只是概念的差异。