An automated software tool for validating design patterns
That’s why we have chose to include it at the top of our best practices chart. Of course you should always run all of these test types!But you always need to think twice if you have some high-level tests that can be completely replaced by low-level, and having them in the UI suite is just redundant. BDD is a software development methodology in which software is implemented in the way its behavior is described.Ideally, you should be confident that if you remove your whole UI automation suite from the test cycle, you will be able to catch up to 90% of existing bugs in your release.You always need to remember that high-level tests should be only the third defense shield, for catching all the remaining issues that were not caught on the first two levels. This is a representation of the agile test pyramid initially designed by Mike Cohn, one of the most successful and wise Agile and Scrum instructors.You can start from this wiki page if you have never heard about this methodology.BDD can be applied for any type of testing including unit tests, component, integration as well as for many other types.
It nicely represents the stability of low-level tests (black) and high-level tests (white).
Faster feedback from tests execution allows you to catch issues early on, saving you huge amounts of costs.