SlideShare a Scribd company logo
Компилируемые
 спецификации
Что включено ?

1. Думаем как инвестор
2. Добиваемся понимания
3. Общаемся историями
4. Что же такое BDD?
5. SpecFlow
6. Примеры ;)
                          @dmytromindra
О чем думает инвестор ?



     1.   Test Driven Development!
     2.   Clean Code!
     3.   New technologies!
     4.   Visual Studio 2012!
     5.   Ваш вариант ;)




                              @dmytromindra
О чем думает инвестор ?



     1.   Ценность
     2.   Функциональность
     3.   Эффективность
     4.   Требования




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

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




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

• То, что мы не понимаем,
  ненадежно.

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

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



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

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




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




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

       As a … , I want … so …




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


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




                                 @dmytromindra
Попробуем ?

 Пользовательская история к
 системе заказа столиков в кафе.


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



                                       @dmytromindra
Попробуем еще?

Для того, чтобы _____________________ ,
Как _____________________________________ ,
Я хочу ___________________________________ .




                                       @dmytromindra
Что такое BDD?

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

                           @dmytromindra
Что такое BDD?


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




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

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




       Context       Event           Response




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

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




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

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




       GIVEN         WHEN             THEN



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

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

                 Это называется Gherkin
                                         @dmytromindra
На что это похоже ?

• Это набр небольших историй,
  использующих определенную
  грамматическую структуру.
• Поиск пробелов в понимании и
  заполнение их пониманием.
• Это похоже на запись беседы.
• Все подкреплено примерами.

                            @dmytromindra
Преимущества ?

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

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

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




                         @dmytromindra
Практика !

     Мне нужен книжный интернет
     магазин!




Инвестор
               QA      Разработчик
                             @dmytromindra
Ты кто такой? Давай техзадание!

                                            Фича
In order to _________________________________ ,
As a _________________________________________ ,
 I want _____________________________________ .

                                         Сченарий

Given ______________________________________ ,
When _____________________________________ ,
Then _______________________________________ .


                                         @dmytromindra
U01: Поиск


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


   это фича ;)




                              @dmytromindra
SpecFlow


BDD инсрумент для .NET
Интегрируется с Visual Studio
Поддерживает Gherkin




                          @dmytromindra
Поехали !




Разработчик

                          @dmytromindra
Specification by Example!




                     @dmytromindra
@dmytromindra
Спасибо !




            @dmytromindra

More Related Content

Viewers also liked

Xp days ukraine
Xp days ukraineXp days ukraine
Xp days ukraineivan816
 
Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решений
Evgeniy Krivosheev
 
Solid code via tdd
Solid code via tddSolid code via tdd
Solid code via tdd
Serhiy Kalinets
 
живые сайты
живые сайтыживые сайты
живые сайты
zexzex
 
REpresentational State Transfer
REpresentational State TransferREpresentational State Transfer
REpresentational State TransferVladimir Tsukur
 
Law of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of StyleLaw of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of Style
Vladimir Tsukur
 
Code review psyhology
Code review psyhologyCode review psyhology
Code review psyhology
Oleksiy Rezchykov
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийAndrii Dzynia
 
Abstraction Classes in Software Design
Abstraction Classes in Software DesignAbstraction Classes in Software Design
Abstraction Classes in Software DesignVladimir Tsukur
 
Conventions
ConventionsConventions
Conventionsploeh
 
XpDays - Automated testing of responsive design (GalenFramework)
XpDays - Automated testing of responsive design (GalenFramework)XpDays - Automated testing of responsive design (GalenFramework)
XpDays - Automated testing of responsive design (GalenFramework)
Alex Fruzenshtein
 
Why Do I Hate Hibernate?
Why Do I Hate Hibernate?Why Do I Hate Hibernate?
Why Do I Hate Hibernate?
Mikalai Alimenkou
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
Andriy Samilyak
 
ETL in Clojure
ETL in ClojureETL in Clojure
ETL in Clojure
Dmitriy Morozov
 
XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy code
Dmytro Mindra
 
Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?
Mikalai Alimenkou
 
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Oleksiy Rezchykov
 
Jee conf
Jee confJee conf

Viewers also liked (20)

Xp days ukraine
Xp days ukraineXp days ukraine
Xp days ukraine
 
Agile architecture
Agile architectureAgile architecture
Agile architecture
 
Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решений
 
Solid code via tdd
Solid code via tddSolid code via tdd
Solid code via tdd
 
живые сайты
живые сайтыживые сайты
живые сайты
 
REpresentational State Transfer
REpresentational State TransferREpresentational State Transfer
REpresentational State Transfer
 
Law of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of StyleLaw of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of Style
 
Code review psyhology
Code review psyhologyCode review psyhology
Code review psyhology
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
 
Abstraction Classes in Software Design
Abstraction Classes in Software DesignAbstraction Classes in Software Design
Abstraction Classes in Software Design
 
Clean code
Clean codeClean code
Clean code
 
Conventions
ConventionsConventions
Conventions
 
XpDays - Automated testing of responsive design (GalenFramework)
XpDays - Automated testing of responsive design (GalenFramework)XpDays - Automated testing of responsive design (GalenFramework)
XpDays - Automated testing of responsive design (GalenFramework)
 
Why Do I Hate Hibernate?
Why Do I Hate Hibernate?Why Do I Hate Hibernate?
Why Do I Hate Hibernate?
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
ETL in Clojure
ETL in ClojureETL in Clojure
ETL in Clojure
 
XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy code
 
Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?
 
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
 
Jee conf
Jee confJee conf
Jee conf
 

Similar to Compilable Specifications - XPDays Ukraine 2012

IT Brunch - SpecFlow and Gherkin by Example
IT Brunch - SpecFlow and Gherkin by ExampleIT Brunch - SpecFlow and Gherkin by Example
IT Brunch - SpecFlow and Gherkin by ExampleDmytro Mindra
 
Кирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеКирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеDaria Oreshkina
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDKrivoy Rog IT Community
 
зачем системному интегратору продуктовая линейка?
зачем системному интегратору продуктовая линейка?зачем системному интегратору продуктовая линейка?
зачем системному интегратору продуктовая линейка?Alexandre Prozoroff
 
3dhome
 3dhome 3dhome
3dhome
it-park
 
CiklumNETSat10122011:DMitriyMindra-DCI
CiklumNETSat10122011:DMitriyMindra-DCICiklumNETSat10122011:DMitriyMindra-DCI
CiklumNETSat10122011:DMitriyMindra-DCICiklum Ukraine
 
CiklumNETSat10122011:DmitriyMindra-DCI
CiklumNETSat10122011:DmitriyMindra-DCICiklumNETSat10122011:DmitriyMindra-DCI
CiklumNETSat10122011:DmitriyMindra-DCICiklum
 
Проводник по джунглям user experience
Проводник по джунглям user experienceПроводник по джунглям user experience
Проводник по джунглям user experience
tabtabus
 
Samwit general all_2011_
Samwit general all_2011_Samwit general all_2011_
Samwit general all_2011_tw:in
 
Internet marketing best_free_tools
Internet marketing best_free_toolsInternet marketing best_free_tools
Internet marketing best_free_tools
Andreygold
 
Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)
Асия Дулатова
 
Вебинар: Гибкое управление требованиями
Вебинар: Гибкое управление требованиямиВебинар: Гибкое управление требованиями
Вебинар: Гибкое управление требованиями
Timofey (Tim) Yevgrashyn
 

Similar to Compilable Specifications - XPDays Ukraine 2012 (13)

IT Brunch - SpecFlow and Gherkin by Example
IT Brunch - SpecFlow and Gherkin by ExampleIT Brunch - SpecFlow and Gherkin by Example
IT Brunch - SpecFlow and Gherkin by Example
 
Кирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеКирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программирование
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
 
зачем системному интегратору продуктовая линейка?
зачем системному интегратору продуктовая линейка?зачем системному интегратору продуктовая линейка?
зачем системному интегратору продуктовая линейка?
 
3dhome
 3dhome 3dhome
3dhome
 
DCI
DCIDCI
DCI
 
CiklumNETSat10122011:DMitriyMindra-DCI
CiklumNETSat10122011:DMitriyMindra-DCICiklumNETSat10122011:DMitriyMindra-DCI
CiklumNETSat10122011:DMitriyMindra-DCI
 
CiklumNETSat10122011:DmitriyMindra-DCI
CiklumNETSat10122011:DmitriyMindra-DCICiklumNETSat10122011:DmitriyMindra-DCI
CiklumNETSat10122011:DmitriyMindra-DCI
 
Проводник по джунглям user experience
Проводник по джунглям user experienceПроводник по джунглям user experience
Проводник по джунглям user experience
 
Samwit general all_2011_
Samwit general all_2011_Samwit general all_2011_
Samwit general all_2011_
 
Internet marketing best_free_tools
Internet marketing best_free_toolsInternet marketing best_free_tools
Internet marketing best_free_tools
 
Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)Как ставить задачи [копи]райтеру (Анна Каправчук)
Как ставить задачи [копи]райтеру (Анна Каправчук)
 
Вебинар: Гибкое управление требованиями
Вебинар: Гибкое управление требованиямиВебинар: Гибкое управление требованиями
Вебинар: Гибкое управление требованиями
 

More from Dmytro Mindra

Introduction to Value Planning for iHUB
Introduction to Value Planning for iHUBIntroduction to Value Planning for iHUB
Introduction to Value Planning for iHUB
Dmytro Mindra
 
Mastering public speaking skills
Mastering public speaking skillsMastering public speaking skills
Mastering public speaking skills
Dmytro Mindra
 
Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2
Dmytro Mindra
 
Building Windows Phone 8 Games With Unity3d
Building Windows Phone 8 Games With Unity3dBuilding Windows Phone 8 Games With Unity3d
Building Windows Phone 8 Games With Unity3dDmytro Mindra
 
Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Dmytro Mindra
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Dmytro Mindra
 
NetworkUA - 2012 - Introduction TypeScript
NetworkUA - 2012 - Introduction TypeScript NetworkUA - 2012 - Introduction TypeScript
NetworkUA - 2012 - Introduction TypeScript Dmytro Mindra
 
Ciklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScriptCiklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScriptDmytro Mindra
 
Lean Lego Game for Agileee 2012
Lean Lego Game for Agileee 2012Lean Lego Game for Agileee 2012
Lean Lego Game for Agileee 2012Dmytro Mindra
 
Lohika .Net Day - What's new in Windows Azure
Lohika .Net Day - What's new in Windows AzureLohika .Net Day - What's new in Windows Azure
Lohika .Net Day - What's new in Windows AzureDmytro Mindra
 
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012Dmytro Mindra
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Dmytro Mindra
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentDmytro Mindra
 
Craftsmanship - XP Days 2011
Craftsmanship - XP Days 2011Craftsmanship - XP Days 2011
Craftsmanship - XP Days 2011Dmytro Mindra
 
Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Dmytro Mindra
 
IT Brunch - 12.11.2011 - Myths about Design
IT Brunch - 12.11.2011 - Myths about DesignIT Brunch - 12.11.2011 - Myths about Design
IT Brunch - 12.11.2011 - Myths about Design
Dmytro Mindra
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET Dmytro Mindra
 
Myths about design - PechaKucha Odessa IT Jam 20.08.2011
Myths about design - PechaKucha Odessa IT Jam 20.08.2011Myths about design - PechaKucha Odessa IT Jam 20.08.2011
Myths about design - PechaKucha Odessa IT Jam 20.08.2011
Dmytro Mindra
 
IT Jam 2011 - What I Have Learned About Leadership
IT Jam 2011 - What I Have Learned About LeadershipIT Jam 2011 - What I Have Learned About Leadership
IT Jam 2011 - What I Have Learned About LeadershipDmytro Mindra
 
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011Dmytro Mindra
 

More from Dmytro Mindra (20)

Introduction to Value Planning for iHUB
Introduction to Value Planning for iHUBIntroduction to Value Planning for iHUB
Introduction to Value Planning for iHUB
 
Mastering public speaking skills
Mastering public speaking skillsMastering public speaking skills
Mastering public speaking skills
 
Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2
 
Building Windows Phone 8 Games With Unity3d
Building Windows Phone 8 Games With Unity3dBuilding Windows Phone 8 Games With Unity3d
Building Windows Phone 8 Games With Unity3d
 
Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
 
NetworkUA - 2012 - Introduction TypeScript
NetworkUA - 2012 - Introduction TypeScript NetworkUA - 2012 - Introduction TypeScript
NetworkUA - 2012 - Introduction TypeScript
 
Ciklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScriptCiklum .NET Saturday - Introduction to TypeScript
Ciklum .NET Saturday - Introduction to TypeScript
 
Lean Lego Game for Agileee 2012
Lean Lego Game for Agileee 2012Lean Lego Game for Agileee 2012
Lean Lego Game for Agileee 2012
 
Lohika .Net Day - What's new in Windows Azure
Lohika .Net Day - What's new in Windows AzureLohika .Net Day - What's new in Windows Azure
Lohika .Net Day - What's new in Windows Azure
 
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012
Web В РЕАЛЬНОМ ВРЕМЕНИ С Node.js - AgileBaseCamp - 2012
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Craftsmanship - XP Days 2011
Craftsmanship - XP Days 2011Craftsmanship - XP Days 2011
Craftsmanship - XP Days 2011
 
Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation
 
IT Brunch - 12.11.2011 - Myths about Design
IT Brunch - 12.11.2011 - Myths about DesignIT Brunch - 12.11.2011 - Myths about Design
IT Brunch - 12.11.2011 - Myths about Design
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
Myths about design - PechaKucha Odessa IT Jam 20.08.2011
Myths about design - PechaKucha Odessa IT Jam 20.08.2011Myths about design - PechaKucha Odessa IT Jam 20.08.2011
Myths about design - PechaKucha Odessa IT Jam 20.08.2011
 
IT Jam 2011 - What I Have Learned About Leadership
IT Jam 2011 - What I Have Learned About LeadershipIT Jam 2011 - What I Have Learned About Leadership
IT Jam 2011 - What I Have Learned About Leadership
 
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011
Архитектура в Agile AgileBaseCamp Днепропетровск 2.07.2011
 

Compilable Specifications - XPDays Ukraine 2012

  • 2. Что включено ? 1. Думаем как инвестор 2. Добиваемся понимания 3. Общаемся историями 4. Что же такое BDD? 5. SpecFlow 6. Примеры ;) @dmytromindra
  • 3. О чем думает инвестор ? 1. Test Driven Development! 2. Clean Code! 3. New technologies! 4. Visual Studio 2012! 5. Ваш вариант ;) @dmytromindra
  • 4. О чем думает инвестор ? 1. Ценность 2. Функциональность 3. Эффективность 4. Требования @dmytromindra
  • 5. Взаимопонимание ?!!!?!?!?!?!?! Разработчик Инвестор QA @dmytromindra
  • 6. Требования • То, что мы не понимаем, ненадежно. • Сложность подрывает понимание. • Чем понятнее и проще требовния, тем надежнее функцинальность. @dmytromindra
  • 7. Пользовательские истории • Содержат только самую необходимую информацию. • Являются предпосылкой для дальнейшего обсуждения. @dmytromindra
  • 8. Пользовательские истории Как ... , я хочу ... чтобы ... As a … , I want … so … @dmytromindra
  • 9. Пользовательские истории Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ... @dmytromindra
  • 10. Попробуем ?  Пользовательская история к системе заказа столиков в кафе. Для того, чтобы _____________________ , Как (в роли кого) ______________________ , Я хочу ___________________________________ . @dmytromindra
  • 11. Попробуем еще? Для того, чтобы _____________________ , Как _____________________________________ , Я хочу ___________________________________ . @dmytromindra
  • 12. Что такое BDD? • Небольшие и очень четкие частички поведения, выраженные в формате пользовательских историй. • Примеры, Примеры, Примеры • Язык, понятный всем членам команды. @dmytromindra
  • 13. Что такое BDD? Для того, чтобы ... , Как ..., Я хочу ... In order to …, As a … , I want ... @dmytromindra
  • 14. Структура описания в BDD Что вы делаете Context Event Response Какой это дает результат Ваше состояние @dmytromindra
  • 15. Структура описания в BDD Что вы делаете GIVEN WHEN THEN Какой это дает результат Ваше состояние Это называется Gherkin @dmytromindra
  • 16. На что это похоже ? • Это набр небольших историй, использующих определенную грамматическую структуру. • Поиск пробелов в понимании и заполнение их пониманием. • Это похоже на запись беседы. • Все подкреплено примерами. @dmytromindra
  • 17. Преимущества ? Мы говорим о поведении системы, не затрагивая ее архитектуры. Мы приводим примеры. Мы получаем приемочные критерии. @dmytromindra
  • 18. Практика ! Мне нужен книжный интернет магазин! Инвестор QA Разработчик @dmytromindra
  • 19. Ты кто такой? Давай техзадание! Фича In order to _________________________________ , As a _________________________________________ , I want _____________________________________ . Сченарий Given ______________________________________ , When _____________________________________ , Then _______________________________________ . @dmytromindra
  • 20. U01: Поиск Для того, чтобы книгу(и) купить Как потенциальный покупатель, Я дожен сначала ее найти! это фича ;) @dmytromindra
  • 21. SpecFlow BDD инсрумент для .NET Интегрируется с Visual Studio Поддерживает Gherkin @dmytromindra
  • 23. Specification by Example! @dmytromindra
  • 25. Спасибо ! @dmytromindra