- based on TDD
- better collaboration between devs, QAs and business than TDD
- behavioral tests first, implementation second
- behavioral tests should be easy to understand, simple
- those tests should be written in specific language, possible to understood by business
- combines idea of unit tests naming, acceptance tests standard agile framework (As a XXX I want YY to achieve ZZ), and acceptance criteria with Gherkin
Further read: