it brunch - specflow and gherkin by example
DESCRIPTION
TRANSCRIPT
SpecFlow and Gherkin by Example
Дмитрий Миндра Developer Tools SSP Microsoft Ukraine
Agile
Изменения – наше все !
Картина мира
Взаимопонимание
Разработчик
QA Заказчик
?!!!?!?!?!?!?!
Взаимопонимание
• Они могут быть понятны только заказчику или только команде.
• Они могут быть запутанными и сложными, содержать много лишних вещей.
• Они могут не иметь четко выраженной бизнес цели
Требования
• Содержат только самую необходимую информацию.
• Являются предпосылкой для дальнейшего обсуждения.
Пользовательские истории
Пользовательские истории
Как ... , я хочу ... чтобы ... As a … , I want … so …
Пользовательские истории
Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...
Пользовательская история к системе заказа столиков в кафе.
Попробуем ?
Для того, чтобы _____________________ , Как (в роли кого) ______________________ , Я хочу _____________________________________ .
заказать столик
посетитель кафе
видеть столики, доступные для заказа
Попробуем еще?
Для того, чтобы _____________________ , Как _____________________________________ , Я хочу ___________________________________ .
купить билет
человек, собирающийся в поездку
получить список доступных мест
• Небольшие и очень четкие частички поведения, выраженные в формате пользовательских историй.
• Примеры, Примеры, Примеры
• Язык, понятный всем членам команды.
Что такое BDD?
Что такое BDD?
Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...
Context Event Response
Сценарии в BDD
Ваше состояние
Что вы делаете
Какой это дает результат
GIVEN WHEN THEN
Сценарии в BDD
Ваше состояние
Что вы делаете
Какой это дает результат
Это называется Gherkin
• Это набр небольших историй, использующих определенную грамматическую структуру.
• Понятное описание.
• Приемочные тесты.
На что это похоже ?
Преимущества ?
Мы говорим о поведении системы, не затрагивая детали реализации. Мы приводим примеры. Мы получаем приемочные критерии.
BDD vs TDD
Все равно что выбирать между вилкой и ложкой.
Две инженерные практики, которые можно встроить в ваш процесс.
• В требованиях явно выражены бизнес цели.
• Описания даются с точки зрения поведения конкретных лиц.
• Требования записаны на понятном всем языке (Gherkin)
В чем преимущества?
ATDD, SbE
Практика !
Разработчик QA Инвестор
Мне нужен интернет магазин книг про Гарри Поттера!
Ты кто такой? Давай техзадание!
Given ______________________________________ , When _____________________________________ , Then _______________________________________ .
In order to _________________________________ , As a _________________________________________ , I want _____________________________________ .
Фича
Сченарий
U01: Поиск
Для того, чтобы купить книгу(и) Как потенциальный покупатель, Я хочу иметь возможность ее найти! это фича ;)
SpecFlow
BDD инсрумент для .NET Интегрируется с Visual Studio Поддерживает Gherkin
Разработчик
Поехали !
Спасибо !