The Drupaler's guide to Behavior Driven Development (BDD)
As engineers and developers, we tend to be passionate about building something great, which Drupal 8 is perfect for doing. Drupal 8 gave us more viable options for testing with tools like phpunit, Behat, and phpspec to name a few. These have opened the doors to more easily achieve a Behavior Driven Development (BDD) work flow.
But what really is BDD and should you even bother? Yes! Just adding Behat tests to a project does not achieve BDD, or in some cases come even close. There's a vast difference in using BDD, and using Behat for test automation. BDD provides many amazing benefits that can drastically transform the quality of products your team is able to deliver. We'll dive into the core of BDD, its main tenets, and how to implement it in practice.
With a deeper understanding of BDD principles you'll be better equipped to reap the full rewards it offers. Some of the practical benefits include a clear shared language for client and developer communications, agreement of what "done" means, better trust from clients of work that is completed, less regression bugs to squash (Moar dev time!), increased quality, better structured tests, more informative test failures, greater transparency, deeper understanding of the project code base, and more.