compilable specifications by dmytro mindra
DESCRIPTION
HOTCODE conference 2013, KievTRANSCRIPT
Компилируемые спецификации
Дмитрий Миндра
Дмитрий МиндраDeveloper Tools SSP, Microsoft Ukraine
Почти сделано
Хорошо, что не все в мире похоже на разработку ПО
Люди видят окружающий мир по-разному.
Взаимопонимание
?!!!?!?!?!?!?!
Разработчик
QAЗаказчик
ТребованияТо, что мы не понимаем, ненадежно.
Сложность подрывает понимание.
Чем понятнее и проще требования, тем надежнее функциональность.
Пользовательские историиСодержат только самую необходимую информацию.
Являются предпосылкой для дальнейшего обсуждения.
Требования становятся понятнее
Пользовательские истории
Как ... , я хочу ... чтобы ...
As a … , I want … so …
Пользовательские истории
Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...
Понятно и ежу!
Просто, как двери!
Попробуем ?Пользовательская история к системе заказа столиков в кафе.
Для того, чтобы _____________________ , Как (в роли кого) ______________________ , Я хочу ___________________________________ .
Попробуем еще? Для того, чтобы _____________________ , Как _____________________________________ , Я хочу ___________________________________ .
Что такое BDD?Небольшие и очень четкие частички поведения, выраженные в формате пользовательских историй.
Примеры, Примеры, Примеры
Язык, понятный всем членам команды.
Что такое BDD?
Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...
Структура описания в BDD
Context Event Response
Ваше состояние
Что вы делаете
Какой это дает результат
Структура описания в BDD
GIVEN WHEN THEN
Ваше состояние
Что вы делаете
Какой это дает результат
Это называется Gherkin
На что это похоже ?Это набор небольших историй, использующих определенную грамматическую структуру.
Поиск пробелов в понимании и их заполнение.
Это похоже на запись беседы.
Все подкреплено примерами.
Преимущества ?Мы говорим о поведении системы, не затрагивая ее архитектуры.
Мы приводим примеры.
Мы получаем приемочные критерии.
Переходим к практике!
РазработчикQAИнвестор
Мне нужен интернет магазин книг про Гарри Поттера!
Ты кто такой? Давай техзадание!
Given ______________________________________ , When _____________________________________ , Then _______________________________________ .
In order to _________________________________ , As a _________________________________________ , I want _____________________________________ .
Фича
Сченарий
U01: Поиск
Для того, чтобы книгу(и) купить Как потенциальный покупатель, Я дожен сначала ее найти!
Фича ;)
DEMO
Демонстрация MSpec
SpecFlow
BDD инсрумент для .NETИнтегрируется с Visual
StudioПоддерживает Gherkin
DEMO
Демонстрация SpecFlow
DEMO
Демонстрация FitNesse
Спасибо !
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.