In Behavior Driven Development (BDD), the prime focus is on writing acceptance tests that describe the behavior of the application or system. Acceptance tests are written from a customer point of view and hence bring in the outside-in approach to the understanding and testing of the application. The emphasis is on making the test cases readable by everyone on the team so that any stakeholder can give feedback on the application's behavior.
Eric Evans, in his book Domain Driven Design (http://www.amazon.in/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215), talks about the need for one language to bridge the gap between the domain experts and programmers on the team. Cucumber helps enforce the ubiquitous language within the team, which can be understood by anyone on the team. Cucumber tests are written in a language that can be understood...