6. Спецификация примером
Зачем?
Как?
Менеджер проекта
Владелец продукта
Разработчик
Цель проекта
Стратегия проекта
Функциональное требование
Сценарий использования
Приемочный критерий
Детали реализации Баг
Проще определить
до реализации
Сложнее определить
до реализации
7. Спецификация примером
Зачем?
Как?
Менеджер проекта
Владелец продукта
Разработчик
Цель проекта
Стратегия проекта
Функциональное требование
User storyСценарий использования
Приемочный критерий
Детали реализации Баг
Проще определить
до реализации
Сложнее определить
до реализации
8. Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним заказом
В корзину можно добавить покупки
Из корзины можно удалить покупки
Изначально корзина пуста
Одну покупки можно добавлять многократно
9. Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним заказом
В корзину можно добавить покупки
Из корзины можно удалить покупки
Изначально корзина пуста
Одну покупки можно добавлять многократно
10. Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним заказом
В корзину можно добавить покупки
Из корзины можно удалить покупки
Изначально корзина пуста
Одну покупки можно добавлять многократно
Given my shopping cart is empty
When I add “Harry Potter” to my
shopping cart
Then my shopping cart should have 1
copy of “Harry Potter”
23. Критика BDD
Habrahabr: Тестирование в стиле TSA
• Тесты не бесплатны
• «Но что плохого в избыточном тестировании, Фил, разве ты
не хочешь, чтобы твой код был безопасным? ...» Из-за таких
вот рассуждений мы и получили TSA и то как они сливают
миллиарды на ощупывание яиц и конфискацию книпсеров.
24. Критика BDD
Алексей Баранцев: Почему я не люблю
огурцы и фитнес
• ... и не приѐмочное, и не тестирование. Для тестирования это
слишком просто, «программирование в табличках» — адская
пытка, паттерн given-when-then не даѐт возможности сделать
хоть сколько-нибудь сложные автоматизированные тесты, а при
ручном тестировании он и вовсе не нужен
• идея автоматизировать приѐмку вообще слабо вписывается в
концепцию agile: если «приѐмочные тесты» будут пройдены,
а product owner недоволен — продукт будет считаться успешно
сданным или нет?