There are a lot of advantages to behavior-driven development, but there are also a lot of challenges you can encounter during the implementation. Knowing is half the battle, so be aware of these eleven common stumbling blocks to BDD adoption and outline plans to mitigate them beforehand, and you’ll be able to start reaping the benefits of BDD sooner.
In the March 2006 issue of Better Software magazine, Dan North began a discussion of the evolution of behavior-driven development from test-driven development. Here, North continues the conversation with closer look at "mocks," utility classes that, for testing purposes, pretend to be some component or service with which your object will interact.
Defining, understanding, and agreeing on the scope of work to be done is often an area of discomfort for product managers, business analysts, developers, and quality assurance experts alike. The origin of many items living in our defect tracking systems can be traced to the difficulties encountered while performing these initial requirements activities. Ken Pugh introduces behavior-driven development (BDD), also known as acceptance test-driven development (ATDD), and explains how it works in creating detailed requirements. He outlines the different roles that team members play in the process. BDD/ATDD has proven to dramatically increase productivity and reduce delays in development by decreasing re-work due to requirement misunderstandings.