Getting started with BDD
Behavior-Driven Development (BDD) is a software development process introduced by Dan North to clarify the purpose of a development request and simplify acceptance tests. In BDD, you basically define a feature for a project in plain and human readable sentences and, when it is accepted by everyone, then you start creating the required code to implement that feature.
In contrast to this, in Test-Driven Development (TDD), it is not unusual to be carried away by many unnecessary tests. As you know, in TDD, you have to write a failing test first and then develop the code to pass the test. The question is how would you know that you are heading in the right direction? In other words, how can you be sure that the test you have created in the first place is beneficial to your project? Yes, of course, you can do things right by creating those tests first. However, doing things right is totally different from doing right things. Again, it is all about the money and your client...