行为驱动开发

流行的「敏捷软件开发」技术中的TDD,想必大家都听过,但是还有一种BDD(Behavior-driven development)行为驱动开发知道的人恐怕就很少了。我也是在去年参加蚂蚁金服技术开发日的时候了解到了,我在这里简单整理一下。

BDD鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。

BDD的做法包括:

  • 确立不同利益相关者要实现的远景目标。
  • 使用特性注入方法绘制出达到这些目标所需要的特性。
  • 通过由外及内的软件开发方法,把涉及到的利益相关者融入到实现的过程中
  • 使用例子来描述应用程序的行为或代码的每个单元。
  • 通过自动运行这些例子,提供快速反馈,进行回归测试。
  • 使用“应当(should)”来描述软件的行为,以帮助阐明代码的职责,以及回答对该软件的功能性的质疑。
  • 使用“确保(ensure)”来描述软件的职责,以把代码本身的效用与其他单元(element)代码带来的边际效用中区分出来。
avatar

Code4Cocoa

A ThoughWorker