Behavior-driven development (BDD) is an increasingly popular variation on test-driven development, which helps developers think more in terms of “executable specifications” than in terms of conventional tests. There are dozens of BDD tools for the JVM out there—how do you know what to use and when? This presentation covers the various BDD tools available for Java developers, in both Java and other JVM languages. It looks at the pros and cons of each tool, so you can learn which might be best suited for your team. Finally, you will discover the relationship between behavior-driven development and automated acceptance testing and why you probably need both.