7. ... который создал новые языки для разных людей, из-за чего они перестали понимать друг друга, не могли продолжать строительство ...
8. Средство для автоматизированного тестирования Позволяет описывать поведение системы на естественном языке Является основным инструментом в BehaviourDrivenDevelopment (BDD)
10. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования
11. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования Запустите тесты и убедитесь, что они не проходит
12. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования Запустите тесты и убедитесь, что они не проходит Напишите код, который реализует поведение, описанное в тестах
13. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования Запустите тесты и убедитесь, что они не проходит Напишите код, который реализует поведение, описанное в тестах Запустите тесты снова и убедитесь, что некоторые тесты начали проходить
14. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования Запустите тесты и убедитесь, что они не проходит Напишите код, который реализует поведение, описанное в тестах Запустите тесты снова и убедитесь, что некоторые тесты начали проходить Повторите 2-5 шаги, пока все тесты не начнут проходить
15. Опишите поведение системы на естественном языке(Напишите сценарий поведения) Опишите шаги сценария на языке программирования Запустите тесты и убедитесь, что они не проходит Напишите код, который реализует поведение, описанное в тестах Запустите тесты снова и убедитесь, что некоторые тесты начали проходить Повторите 2-5 шаги, пока все тесты не начнут проходить Повторите 1-6 шаги, пока не закончатся деньги у заказчика
17. Функционал Опишите поведение системы на естественном языке # language: ru Функционал: Сложение чисел Чтобы не складывать в уме Все, у кого с этим туго Хотят автоматическое сложение целых чисел Сценарий: Сложение двух целых чисел Допустим я ввожу число 50 И затем ввожу число 70 Если я нажимаю "+" То результатом должно быть число 120
18. Функционал Опишите шаги сценария на языке программирования Допустим /ввожу число (+)/ do|число| calc.pushчисло.to_i end Если /нажимаю "(.*)"/ do|операция| calc.sendоперация End То /результатом должно быть число (+)/ do|результат| calc.result.should==результат.to_f End
20. Gherkin "ru": name: Russian native: русский feature: Функция|Функционал|Свойство background: Предыстория|Контекст scenario: Сценарий scenario_outline: Структура сценария examples: Примеры given: "*|Допустим|Дано|Пусть" when: "*|Если|Когда" then: "*|То|Тогда" and: "*|И|К тому же" but: "*|Но|А"
21. Формат Feature: Title In order to [Business Value] As a [Role] I want to [Some action] Scenario: Title Given [Context] When [Action] Then [Outcome]
22. Формат Scenario: Title Given[Context] And[Context] When [Action] And [Action] Then[Outcome] But[Outcome]
30. Ошибки и заблуждения Хлопотно (я могу тестировать Unit test, Rspec … ) Требования быстро меняются Оформление часто меняется Описывать поведение должен заказчик Cucumber == BDD Вы действительно используете Cucumber.(Chicken test)
32. Одними из самых неприятных ошибок, являются ошибки неверной реализации требований или даже отсутствие должной функциональности. Сложность этих ошибок заключается в том, что только заказчик может найти их. Разработка программ через тестирование поведения (BDD) является продолжением идеи TDD Главное отличие BDD и TDD заключается в том, что тестируется поведение системы, а не внутренне устройство классов и код. Главной особенностью Cucumber является возможность описания поведения системы на естественном языке. Вопросы?