Cucumber is the leading Behavior-driven development (BDD) framework. It is language-agnostic and integrates with other frameworks. You write the specification/feature, then write the glue code, then write the test code.
With Smart BDD, you write the code first using best practices, and this generates the following:
- Interactive feature files that serve as documentation
- Diagrams to better document the product
The barrier to entry is super low. You start with one annotation or add a file to resources/META-INF!