行为驱动开发(Behavior-Driven Development)(简写BDD),在软件工程中,BDD是一种敏捷软件开发的技术。
行为驱动开发(BDD)是测试驱动开发的延伸,开发使用简单的,特定于领域的脚本语言。这些DSL将结构化自然语言语句转换为可执行测试。结果是与给定功能的验收标准以及用于验证该功能的册芹测试之间的关系更密切。因此,它一般是测试驱清前动开发(TDD)测试的自然延伸。
BDD 作为一种设计方法,可以有效的改善设计,并在系统的演化过程中为团队指明前进方向。
行为驱动开发的根基是一种“通用语言”。这种通用语言同时被客户和开发者用来定义系统的行为。由于客户和开发者使用同一种“语言”来描述同一个系统,可以最大程度避免表达不一致带来的问题。
表达不一致是软件开发中最常见的问题,由此造成的结果就是开发人员最终做出来的东西就不是客户期望的。使用通用语言,客户和开发者可以一起定义出系统的行为,从而做出符合客户需求的设计。但如果光有设计,而没有验证的手段,就无法检验我们的实现是不是符合设计。所以 BDD还是答姿清要和测试结合在一起,用系统行为的定义来验证实现代码。