Compilable specifications by Dmytro Mindra

Preview:

DESCRIPTION

HOTCODE conference 2013, Kiev

Citation preview

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

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

Дмитрий Миндра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

Спасибо !

Контакты

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

v-dmytrm@microsoft.com & @dmytromindra

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

Recommended