BDD的概念
Behavior-Driven Development (BDD) is a set of software engineering practices designed to help teams build and deliver more valuable, higher quality software faster. It draws on Agile and lean practices including, in particular, Test-Driven Development (TDD) and Domain-Driven Design (DDD). But most importantly, BDD provides a common language based on simple, structured sentences expressed in English (or in the native language of the stakeholders) that facilitate communication between project team members and business stakeholders.
从这中间我们可以提炼出一下几个关键点:
1)行为驱动开发是一个软件工程的实践,能够帮助团队快速构建和交付更多价值和质量的软件产品。
2)BDD提供了一种通用的,简单的,结构化的描述语言,能够很方便让项目成员和业务干系人非常顺畅的沟通需求。从中我们可以看到BDD的价值在于能够沟通与协作,能够把利益关系人、交付团队等不同方面的项目相关人员集中到一起,形成共同的理解,共同的价值观以及共同的期望值。这个是BDD的价值所在。
那接下来我们来分析下BDD到底适合什么样的场景呢? 我们可以从他的价值来进行分析,如果利益关系人沟通完全没有障碍,那根本不需要运用BDD,这很容易理解,比如简单的一次性的项目,或者业务比较轻量,重在技术方面的项目,大可不必运用BDD,因为在这种项目下,项目关系人对整个项目也不会存在理解上的问题。相反的,业务复杂、团队成员较多的项目,沟通成本高,BDD有可能就很有必要。还有一个误区,上面的例子也提到了,把BDD当成仅仅是测试相关的。其实BDD并只是关于测试,它是一个敏捷方法,是一种协作方式,更多的BDD应该关注的是业务而不是技术。
参考:
https://www.jianshu.com/p/7603ac74c3d2