BDD (Behaviour Driven Development) is an extension / evolution of TDD (Test Driven Development) and ATDD (Acceptance Test Driven Development).
In software engineering, BDD presents a framework based on the integration between Business and Technology. In other words, BDD reduces the gap between stakeholders from the business and technological side.
Business side: "are we building the right product?"
Technology side: "are we building the product right?"
BDD relies on the use of a specific and small vocabulary to minimise misunderstanding and to ensure that everyone - customers, project managers, product owners, developers, testers - are not only on the same page, but also using the same words. A standard user friendly language used in BDD is the Gherkin language (but let this topic to another blog post).
This is how BDD can be applied
* the more scenarios you think...
the more you test...
the more reliable the system is