This screencast examines low and high fidelity testing strategies for Angular JS, and demonstrates examples of how to write tests with these strategies using Protractor, Testem, and Jasmine.
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.