Your SlideShare is downloading. ×
0
Behavior Driven Development
Дмитрий Айзенберг
• Спецификация примером
• Язык Gherkin
• Инструменты BDD
• Критика BDD
Спецификация примером
Спецификация примером
Зачем?
Как?
Проще определить
до реализации
Сложнее определить
до реализации
Цель проекта
Детали реал...
Спецификация примером
Зачем?
Как?
Цель проекта
Стратегия проекта
Функциональное требование
Сценарий использования
Приемочн...
Спецификация примером
Зачем?
Как?
Менеджер проекта
Владелец продукта
Разработчик
Цель проекта
Стратегия проекта
Функционал...
Спецификация примером
Зачем?
Как?
Менеджер проекта
Владелец продукта
Разработчик
Цель проекта
Стратегия проекта
Функционал...
Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним зак...
Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним зак...
Спецификация примером
• Text
Как посетитель магазина
Я хочу накапливать свои покупки в корзине
Чтобы оформить их одним зак...
Спецификация примером
Спецификация примером
Спецификация примером
Спецификация примером
Спецификация примером
Общее
понимание
Регрессионное
тестирование
Документация
Язык Gherkin
Язык Gherkin
Demo
Инструменты BDD
Инструменты BDD
Test
runner
Script
parser
Clicker
• NUnit
• xUnit
• MSTest
etc
Инструменты BDD
Test
runner
Script
parser
Clicker
• Gherkin:
• Cucmber
• SpecFlow
• Другие:
• StoryQ
• NSpec
Инструменты BDD
Test
runner
Script
parser
Clicker
• Web:
• Selenium
• WatiN
• Desktop:
• MS UI Automation
• AutoIt
Критика BDD
Критика BDD
Habrahabr: Тестирование в стиле TSA
• Тесты не бесплатны
• «Но что плохого в избыточном тестировании, Фил, раз...
Критика BDD
Алексей Баранцев: Почему я не люблю
огурцы и фитнес
• ... и не приѐмочное, и не тестирование. Для тестирования...
Критика BDD
ROI: (manual cost) – (automation cost)
Manual cost = выполнение;
Automation cost = создание тестов +
поддержка...
Upcoming SlideShare
Loading in...5
×

Bdd by Dmitri Aizenberg

2,059

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,059
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
5
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Bdd by Dmitri Aizenberg"

  1. 1. Behavior Driven Development Дмитрий Айзенберг
  2. 2. • Спецификация примером • Язык Gherkin • Инструменты BDD • Критика BDD
  3. 3. Спецификация примером
  4. 4. Спецификация примером Зачем? Как? Проще определить до реализации Сложнее определить до реализации Цель проекта Детали реализации Баг
  5. 5. Спецификация примером Зачем? Как? Цель проекта Стратегия проекта Функциональное требование Сценарий использования Приемочный критерий Детали реализации Баг Проще определить до реализации Сложнее определить до реализации
  6. 6. Спецификация примером Зачем? Как? Менеджер проекта Владелец продукта Разработчик Цель проекта Стратегия проекта Функциональное требование Сценарий использования Приемочный критерий Детали реализации Баг Проще определить до реализации Сложнее определить до реализации
  7. 7. Спецификация примером Зачем? Как? Менеджер проекта Владелец продукта Разработчик Цель проекта Стратегия проекта Функциональное требование User storyСценарий использования Приемочный критерий Детали реализации Баг Проще определить до реализации Сложнее определить до реализации
  8. 8. Спецификация примером • Text Как посетитель магазина Я хочу накапливать свои покупки в корзине Чтобы оформить их одним заказом В корзину можно добавить покупки Из корзины можно удалить покупки Изначально корзина пуста Одну покупки можно добавлять многократно
  9. 9. Спецификация примером • Text Как посетитель магазина Я хочу накапливать свои покупки в корзине Чтобы оформить их одним заказом В корзину можно добавить покупки Из корзины можно удалить покупки Изначально корзина пуста Одну покупки можно добавлять многократно
  10. 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”
  11. 11. Спецификация примером
  12. 12. Спецификация примером
  13. 13. Спецификация примером
  14. 14. Спецификация примером
  15. 15. Спецификация примером Общее понимание Регрессионное тестирование Документация
  16. 16. Язык Gherkin
  17. 17. Язык Gherkin Demo
  18. 18. Инструменты BDD
  19. 19. Инструменты BDD Test runner Script parser Clicker • NUnit • xUnit • MSTest etc
  20. 20. Инструменты BDD Test runner Script parser Clicker • Gherkin: • Cucmber • SpecFlow • Другие: • StoryQ • NSpec
  21. 21. Инструменты BDD Test runner Script parser Clicker • Web: • Selenium • WatiN • Desktop: • MS UI Automation • AutoIt
  22. 22. Критика BDD
  23. 23. Критика BDD Habrahabr: Тестирование в стиле TSA • Тесты не бесплатны • «Но что плохого в избыточном тестировании, Фил, разве ты не хочешь, чтобы твой код был безопасным? ...» Из-за таких вот рассуждений мы и получили TSA и то как они сливают миллиарды на ощупывание яиц и конфискацию книпсеров.
  24. 24. Критика BDD Алексей Баранцев: Почему я не люблю огурцы и фитнес • ... и не приѐмочное, и не тестирование. Для тестирования это слишком просто, «программирование в табличках» — адская пытка, паттерн given-when-then не даѐт возможности сделать хоть сколько-нибудь сложные автоматизированные тесты, а при ручном тестировании он и вовсе не нужен • идея автоматизировать приѐмку вообще слабо вписывается в концепцию agile: если «приѐмочные тесты» будут пройдены, а product owner недоволен — продукт будет считаться успешно сданным или нет?
  25. 25. Критика BDD ROI: (manual cost) – (automation cost) Manual cost = выполнение; Automation cost = создание тестов + поддержка тестов
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×