Behaviour Driven Development (BDD) builds upon Test Driven Development (TDD) by formalizing good habits like slicing tests vertically around user stories rather than horizontally across layers. This allows for earlier feedback. BDD expresses tests and examples using patterns like "Given, When, Then" to define the context, action, and expected outcome. It also encourages describing user interactions to enable testing through different interfaces.