I just went through the practice of speeding up a large JavaScript test suite for my project. Here are some of the culprits I found and how I fixed them.
Resolves take the complexity of completing a promise and checking for errors out of the controller itself. angular.extend lets you add them to every route.
Behaviors offer an awesome abstraction, but they exist only as a mix-in in the context of a view, which offers some challenges when it comes to testing.
Chrome DevTools supports inline HTML and CSS editing, JavaScript breakpoints, and more. These are some of my favorite lesser-know features of DevTools,
Single-page web apps are awesome, but lack a native implementation for analytics engines. With a little work, Ember can give you the analytics you want.