Что такое BDD
Разработка через поведение
BDD (Behavior-Driven Development)
BDD — методология разработки ПО, объединяющая TDD с описанием поведения системы на понятном бизнесу языке.
Синтаксис Given/When/Then
| Ключевое слово | Назначение | Пример | |----------------|-----------|---------| | Given | Начальное состояние | Дан авторизованный пользователь | | When | Действие | Когда он нажимает "Купить" | | Then | Ожидаемый результат | Тогда товар добавляется в корзину | | And | Дополнительные условия | И показывается уведомление |
Пример сценария (Gherkin)
Feature: Корзина покупок
Scenario: Добавление товара в корзину
Given пользователь на странице товара
And товар есть в наличии
When пользователь нажимает "В корзину"
Then товар появляется в корзине
And счётчик корзины увеличивается на 1
BDD vs TDD
| Аспект | TDD | BDD | |--------|-----|-----| | Фокус | Код и юниты | Поведение системы | | Язык | Технический | Бизнес-язык | | Участники | Разработчики | Команда + бизнес | | Документация | Тесты как код | Живая документация |
Популярные инструменты
- Cucumber — Ruby, Java, JS
- SpecFlow — .NET
- Behave — Python
- Jest + Cucumber — JavaScript
- Behat — PHP