BDD vs TDD

BDD – Lock the behaviour not the implementation

The example based on sorting sums up BDD testing perfectly (at 4:25).  The beauty of BDD is once you have your given‘s, when‘s and then‘s, you can start mixing up scenario statements to test different possible outcomes.  Or exploratory testing, if it needs a name.