30

Compilable specifications by Dmytro Mindra

Embed Size (px)

DESCRIPTION

HOTCODE conference 2013, Kiev

Citation preview

Page 1: Compilable specifications by Dmytro Mindra
Page 2: Compilable specifications by Dmytro Mindra

Компилируемые спецификации

Дмитрий Миндра

Page 3: Compilable specifications by Dmytro Mindra

Дмитрий МиндраDeveloper Tools SSP, Microsoft Ukraine

Page 4: Compilable specifications by Dmytro Mindra

Почти сделано

Page 5: Compilable specifications by Dmytro Mindra

Хорошо, что не все в мире похоже на разработку ПО

Page 6: Compilable specifications by Dmytro Mindra

Люди видят окружающий мир по-разному.

Page 7: Compilable specifications by Dmytro Mindra

Взаимопонимание

?!!!?!?!?!?!?!

Разработчик

QAЗаказчик

Page 8: Compilable specifications by Dmytro Mindra

ТребованияТо, что мы не понимаем, ненадежно.

Сложность подрывает понимание.

Чем понятнее и проще требования, тем надежнее функциональность.

Page 9: Compilable specifications by Dmytro Mindra

Пользовательские историиСодержат только самую необходимую информацию.

Являются предпосылкой для дальнейшего обсуждения.

Page 10: Compilable specifications by Dmytro Mindra

Требования становятся понятнее

Page 11: Compilable specifications by Dmytro Mindra

Пользовательские истории

Как ... , я хочу ... чтобы ...

As a … , I want … so …

Page 12: Compilable specifications by Dmytro Mindra

Пользовательские истории

Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...

Понятно и ежу!

Просто, как двери!

Page 13: Compilable specifications by Dmytro Mindra

Попробуем ?Пользовательская история к системе заказа столиков в кафе.

Для того, чтобы _____________________ , Как (в роли кого) ______________________ , Я хочу ___________________________________ .

Page 14: Compilable specifications by Dmytro Mindra

Попробуем еще? Для того, чтобы _____________________ , Как _____________________________________ , Я хочу ___________________________________ .

Page 15: Compilable specifications by Dmytro Mindra

Что такое BDD?Небольшие и очень четкие частички поведения, выраженные в формате пользовательских историй.

Примеры, Примеры, Примеры

Язык, понятный всем членам команды.

Page 16: Compilable specifications by Dmytro Mindra

Что такое BDD?

Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ...

Page 17: Compilable specifications by Dmytro Mindra

Структура описания в BDD

Context Event Response

Ваше состояние

Что вы делаете

Какой это дает результат

Page 18: Compilable specifications by Dmytro Mindra

Структура описания в BDD

GIVEN WHEN THEN

Ваше состояние

Что вы делаете

Какой это дает результат

Это называется Gherkin

Page 19: Compilable specifications by Dmytro Mindra

На что это похоже ?Это набор небольших историй, использующих определенную грамматическую структуру.

Поиск пробелов в понимании и их заполнение.

Это похоже на запись беседы.

Все подкреплено примерами.

Page 20: Compilable specifications by Dmytro Mindra

Преимущества ?Мы говорим о поведении системы, не затрагивая ее архитектуры.

Мы приводим примеры.

Мы получаем приемочные критерии.

Page 21: Compilable specifications by Dmytro Mindra

Переходим к практике!

РазработчикQAИнвестор

Мне нужен интернет магазин книг про Гарри Поттера!

Page 22: Compilable specifications by Dmytro Mindra

Ты кто такой? Давай техзадание!

Given ______________________________________ , When _____________________________________ , Then _______________________________________ .

In order to _________________________________ , As a _________________________________________ , I want _____________________________________ .

Фича

Сченарий

Page 23: Compilable specifications by Dmytro Mindra

U01: Поиск

Для того, чтобы книгу(и) купить Как потенциальный покупатель, Я дожен сначала ее найти!

Фича ;)

Page 24: Compilable specifications by Dmytro Mindra

DEMO

Демонстрация MSpec

Page 25: Compilable specifications by Dmytro Mindra

SpecFlow

BDD инсрумент для .NETИнтегрируется с Visual

StudioПоддерживает Gherkin

Page 26: Compilable specifications by Dmytro Mindra

DEMO

Демонстрация SpecFlow

Page 27: Compilable specifications by Dmytro Mindra

DEMO

Демонстрация FitNesse

Page 28: Compilable specifications by Dmytro Mindra

Спасибо !

Page 29: Compilable specifications by Dmytro Mindra

Контакты

Дмитрий МиндраMicrosoft Ukraine

[email protected] & @dmytromindra

Page 30: Compilable specifications by Dmytro Mindra

© 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.