Behavior-Driven Development describes a cycle of interactions with well-defined outputs, resulting in the deliver of working, tested software that matters.

  • Focused on system behaviors.
  • Test cases written in languages understood by non-programmers.
  • SUT is larger than an single class, but still excludes external dependencies.

Commonly follows the Given-When-Then syntax. (Given some precondition When some action is taken Then expect some result.)