Sure, testing does cover some of that but it is difficult to get 100% test coverage. And the 100% coverage is the liberating aspect.
When I hear people say "We have 80% test coverage" I just shake my head. What in the heck does that mean? It means that when I make changes to system, I can still break the behavior. And it is expensive to get 100% test coverage. In a startup, I agree, in many cases it might not be worth the investment.
With BDD, it is very easy to get 100% behavioral coverage. 100% coverage means that there is no way I can break the software (the behavioral aspect). And, using off the shelf DSLs, I can often write scenarios that require me to write 0 lines of "test code". So, I get that coverage for free (which is why it can be very useful for Startups).
Of course, if someone lays out a web page which somehow hides the submit button. Well... Then I guess other tools are needed...
When I hear people say "We have 80% test coverage" I just shake my head. What in the heck does that mean? It means that when I make changes to system, I can still break the behavior. And it is expensive to get 100% test coverage. In a startup, I agree, in many cases it might not be worth the investment.
With BDD, it is very easy to get 100% behavioral coverage. 100% coverage means that there is no way I can break the software (the behavioral aspect). And, using off the shelf DSLs, I can often write scenarios that require me to write 0 lines of "test code". So, I get that coverage for free (which is why it can be very useful for Startups).
Of course, if someone lays out a web page which somehow hides the submit button. Well... Then I guess other tools are needed...