Behavior-Driven Development (BDD) is a software development process focused on a test-first, agile testing practice that provides built-in quality by defining tests (and potentially automating them) specifying system behavior.
This practice is focused on the business value using patterns such as Given/When/Then to capture the behavior of the system from a conversation between business and technical people.
This is a way for product teams to work that closes the gap between business and technical people by:
The BDD process requires to specify the tests of any software in terms of the desired behavior of the unit. The desired behavior consists of the requirements set by the business that has business value for whatever software unit under construction, this is referred to as an “outside-in” activity.
This process is based on conversations between business and technical people, sometimes identified as discovery workshops. Example Mapping, one of the examples of discovery workshops, is based on the idea that multiple examples of specific cases convey information better than a single bad abstraction of a concept.
Finally, the technical people will use these tests as part of the acceptance criteria of the building activities, or could automate them to guide the development life cycle.
This process could be summarized as: