Bdd by Dmitri Aizenberg
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Bdd by Dmitri Aizenberg

  • 2,455 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,455
On Slideshare
850
From Embeds
1,605
Number of Embeds
4

Actions

Shares
Downloads
3
Comments
0
Likes
3

Embeds 1,605

http://www.usergroup.od.ua 1,600
http://1992046596800250872_8b90fc18dbe2c12a9d261f7cee8e1951f69a51c5.blogspot.com 2
http://131.253.14.98 2
http://webcache.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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