~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 4696343691D62D24691EB16432639840__1713270000 ✰
Заголовок документа оригинал.:
✰ Behavior-driven development - Wikipedia ✰
Заголовок документа перевод.:
✰ Разработка, основанная на поведении — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Behavior-driven_development ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/46/40/4696343691d62d24691eb16432639840.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/46/40/4696343691d62d24691eb16432639840__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 09:23:42 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 16 April 2024, at 15:20 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Разработка, основанная на поведении — Википедия Jump to content

Развитие, основанное на поведении

Из Википедии, бесплатной энциклопедии

Разработка, управляемая поведением ( BDD ), включает в себя наименование тестов программного обеспечения с использованием языка предметной области для описания поведения кода .

BDD предполагает использование предметно-ориентированного языка (DSL) с использованием конструкций естественного языка (например, предложений, подобных английскому), которые могут выражать поведение и ожидаемые результаты.

Сторонники утверждают, что это поощряет сотрудничество между разработчиками, экспертами по обеспечению качества и представителями клиентов в программном проекте. [1] [2] [3] Это побуждает команды использовать беседы и конкретные примеры для формализации общего понимания того, как должно вести себя приложение. [4] BDD считается эффективной практикой, особенно когда проблемное пространство является сложным. [5]

BDD считается усовершенствованием разработки через тестирование (TDD). [1] [2] [6] [7] [ нечеткий ] [8] [9] BDD сочетает в себе методы TDD с идеями предметно-ориентированного проектирования и объектно-ориентированного анализа и проектирования, чтобы предоставить группам разработки и управления ПО общие инструменты и общий процесс для совместной разработки программного обеспечения. [2] [8]

На высоком уровне BDD — это идея о том, как разработка программного обеспечения должна управляться как бизнес-интересами, так и техническими знаниями. Его практика предполагает использование специализированных инструментов. [6] Некоторые инструменты, специально предназначенные для BDD, можно использовать и для TDD. Инструменты автоматизируют вездесущий язык .

Обзор [ править ]

BDD — это процесс, с помощью которого структурированные операторы естественного языка DSL преобразуются в исполняемые тесты. Результатом являются тесты, которые читаются как критерии приемки для данной функции.

Таким образом, BDD является расширением TDD.

BDD фокусируется на:

  • С чего начать процесс
  • Что тестировать и что не тестировать
  • Сколько тестировать за один раз
  • Как назвать тесты
  • Как понять, почему тест не пройден

По своей сути BDD — это переосмысление подхода к автоматизированному тестированию (включая модульное тестирование и приемочное тестирование ), чтобы избежать проблем, которые возникают естественным образом. Например, BDD предлагает, чтобы имена модульных тестов представляли собой целые предложения, начинающиеся с условного глагола («следует» на английском языке, например), и записывались в порядке бизнес-ценности. Приемочные тесты должны быть написаны с использованием стандартной гибкой структуры пользовательской истории : «Будучи [роль/действующее лицо/заинтересованное лицо] я хочу, чтобы [функция/возможность] приносила [выгоду]». Критерии приемки должны быть написаны в виде сценариев и реализованы в классах: учитывая [исходный контекст], когда [происходит событие], затем [обеспечивайте некоторые результаты] .

Начиная с этого момента, многие люди в течение многих лет разрабатывали BDD-фреймворки, наконец, превратив их в среду общения и сотрудничества для разработчиков, специалистов по обеспечению качества и нетехнических или бизнес-участников программного проекта. [10] Во время «Agile-спецификаций, BDD и обмена тестированием» в ноябре 2009 года в Лондоне Дэн Норт [11] дал следующее описание BDD:

BDD — это гибкая методология второго поколения, основанная на привлечении внешних сторон, многосторонняя, многомасштабная, с высокой степенью автоматизации. Он описывает цикл взаимодействия с четко определенными результатами, в результате которого создается работающее, протестированное программное обеспечение, имеющее значение.

История [ править ]

Во время интервью с Дэном Нортом на конференции GOTO в 2013 году Лиз Кио [12] определил BDD как:

Он использует примеры, чтобы объяснить, как ведет себя приложение... И обсуждает эти примеры. [13]

Дэн Норт создал структуру BDD JBehave , за которой последовала платформа BDD уровня истории для Ruby под названием RBehave. [14] который позже был интегрирован в проект RSpec . [15] Он также работал с Дэвидом Челимски, Аслаком Хеллесой и другими над разработкой RSpec, а также над написанием «Книги RSpec: Разработка, основанная на поведении, с RSpec, Cucumber и друзьями». Первый сюжетно-ориентированный фреймворк в RSpec позже был заменен Cucumber , разработанным в основном Аслаком Хеллесой . Capybara , которая является частью среды тестирования Cucumber, является одним из таких веб-программ для автоматизации тестирования.

Принципы [ править ]

BDD предполагает, что тесты программного обеспечения следует называть в зависимости от желаемого поведения . [6] [8] [1] Заимствовав из гибкой разработки программного обеспечения, «желаемое поведение» в этом случае состоит из требований, установленных бизнесом, то есть желаемого поведения, которое имеет бизнес-ценность для любой организации, заказавшей разрабатываемую программную единицу. [6] [1] В практике BDD это называется BDD, являющимся деятельностью «снаружи внутри». [16]

TDD не различает тесты с точки зрения требований к программному обеспечению высокого уровня, технических деталей низкого уровня или чего-то среднего. Таким образом, один из способов взглянуть на BDD состоит в том, что это эволюция TDD, которая делает более конкретный выбор.

Поведенческие характеристики

Другое предложение BDD касается того, как следует указать желаемое поведение. BDD предлагает использовать полуформальный формат для поведенческой спецификации, который заимствован из спецификаций пользовательских историй из области объектно-ориентированного анализа и проектирования . Сценарный аспект этого формата можно рассматривать как применение логики Хоара к поведенческой спецификации программного обеспечения с использованием предметно-ориентированного языка.

BDD предлагает бизнес-аналитикам и разработчикам программного обеспечения сотрудничать в этой области и определять поведение с точки зрения пользовательских историй, каждая из которых явно документирована. [1] [16] Каждая пользовательская история должна в некоторой степени следовать структуре: [6] [16]

Заголовок
Явный заголовок.
Повествование
Краткий вводный раздел со следующей структурой:
  • Как : человек или роль, которая выиграет от этой функции;
  • Я хочу : функцию;
  • так что : польза или ценность функции.
Критерии приемки
Описание каждого конкретного сценария повествования со следующей структурой:
  • Дано : исходный контекст в начале сценария, в одном или нескольких предложениях;
  • Когда : событие, запускающее сценарий;
  • Затем : ожидаемый результат в одном или нескольких предложениях.

BDD не требует форматирования этой информации, но предполагает, что команде следует выбрать относительно простой стандартизированный формат с вышеуказанными элементами. [6] [16] В 2007 году Дэн Норт предложил шаблон текстового формата, который используется во многих инструментах BDD. [16] Например:

Название  : Возврат и обмен учитываются в инвентаре. 

  Как  владелец магазина, 
  Я хочу  добавлять предметы обратно в инвентарь при их возврате или обмене, 
  чтобы  я мог продать их снова. 

  Сценарий 1.  Товары, возвращенные для возврата, должны быть добавлены в инвентарь. 
  Учитывая  , что клиент ранее купил у меня черный свитер 
  и  у меня в инвентаре три черных свитера, 
  когда  они вернут черный свитер для возврата денег, 
  тогда  у меня в инвентаре должно быть четыре черных свитера. 

  Сценарий 2:  Обмененные предметы следует вернуть в инвентарь. 
  Учитывая  , что покупатель ранее купил у меня синюю одежду. 
  и  у меня в инвентаре есть два синих предмета одежды 
  и  три чёрных предмета одежды в инвентаре, 
  когда  они меняют синюю одежду на черную одежду, 
  тогда  у меня в инвентаре должно быть три синих предмета одежды 
  и  две черные одежды в инвентаре. 
 

BDD предложила формулировать сценарии декларативно, а не императивно — на бизнес-языке, без ссылки на элементы пользовательского интерфейса, через которые происходит взаимодействие. [17]

Этот формат называется языком Gherkin . Однако термин Gherkin относится только к Cucumber , JBehave, Lettuce, [18] Behat и Behat . программные инструменты [19] [20] [21] [22]

Спецификация как вездесущий язык [ править ]

BDD заимствует концепцию повсеместного языка из предметно-ориентированного проектирования . [6] [8] Вездесущий язык — это (полу)формальный язык, которым пользуются все члены команды разработчиков программного обеспечения — как разработчики программного обеспечения, так и нетехнический персонал. [23] Рассматриваемый язык используется и развивается всеми членами команды как общее средство обсуждения предметной области рассматриваемого программного обеспечения. [23] Таким образом, BDD становится средством связи между всеми различными ролями в программном проекте. [6] [24]

Распространенный риск при разработке программного обеспечения включает в себя сбои в коммуникации между разработчиками и заинтересованными сторонами бизнеса. [25] BDD использует спецификацию желаемого поведения как универсальный язык для членов команды проекта. Это причина того, что BDD настаивает на полуформальном языке для спецификации поведения: некоторая формальность является требованием для того, чтобы быть повсеместным языком. [6] Кроме того, наличие такого повсеместного языка создает модель предметной области спецификаций, так что спецификации можно рассуждать формально. [26] Эта модель также является основой для различных доступных программных инструментов, поддерживающих BDD.

Приведенный выше пример устанавливает пользовательскую историю для разрабатываемой программной системы. Эта пользовательская история определяет заинтересованную сторону, бизнес-эффект и ценность бизнеса. В нем также описывается несколько сценариев, каждый из которых имеет предварительное условие, триггер и ожидаемый результат. Каждая из этих частей точно идентифицируется более формальной частью языка (например, термин «Дано» можно рассматривать как ключевое слово ) и, следовательно, может быть каким-то образом обработана инструментом, который понимает формальные части вездесущего языка.

Большинство приложений BDD используют текстовые DSL и подходы к спецификациям. Однако графическое моделирование сценариев интеграции успешно применяется и на практике, например, в целях тестирования. [27]

Специализированный инструмент [ править ]

Как и TDD, BDD может включать использование специализированных инструментов.

BDD требует не только тестового кода, как и TDD, но и документа, описывающего поведение на более удобочитаемом языке. Для этого требуется двухэтапный процесс выполнения тестов, чтения и анализа описаний, а также чтения тестового кода и поиска соответствующей реализации теста для выполнения. Этот процесс делает BDD более трудоемким для разработчиков. Сторонники предполагают, что из-за их удобочитаемости ценность этих документов распространяется на относительно нетехническую аудиторию и, следовательно, может служить средством связи для описания требований («функций»).

Принципы оснастки [ править ]

В принципе, инструмент поддержки BDD — это среда тестирования программного обеспечения, во многом похожая на инструменты, поддерживающие TDD. Однако в то время как инструменты TDD, как правило, имеют довольно свободный формат в том, что разрешено для определения тестов, инструменты BDD привязаны к определению повсеместного языка.

Вездесущий язык позволяет бизнес-аналитикам документировать поведенческие требования таким образом, чтобы они были понятны разработчикам. Принцип инструментов поддержки BDD заключается в том, чтобы сделать те же самые документы с требованиями непосредственно выполняемыми в виде набора тестов. Если этого невозможно достичь по причинам, связанным с техническим инструментом, позволяющим выполнять спецификации, то необходимо изменить либо стиль написания поведенческих требований, либо инструмент. [28] Точная реализация поведенческих требований варьируется в зависимости от инструмента, но практика Agile разработала следующий общий процесс:

  • Инструмент читает документ спецификации.
  • Инструментарий напрямую понимает полностью формальные части вездесущего языка (например, ключевое слово Give в приведенном выше примере). На основании этого инструмент разбивает каждый сценарий на значимые пункты.
  • Каждое отдельное предложение сценария преобразуется в своего рода параметр для проверки пользовательской истории. Эта часть требует работы разработчиков программного обеспечения для конкретного проекта.
  • Затем платформа выполняет тест для каждого сценария с параметрами из этого сценария.

Дэн Норт разработал ряд фреймворков, поддерживающих BDD (в том числе JBehave и RBehave ), работа которых основана на предложенном им шаблоне для записи пользовательских историй. [6] Эти инструменты используют текстовое описание вариантов использования, и некоторые другие инструменты (например, CBehave) последовали этому примеру. Однако этот формат не является обязательным, поэтому существуют другие инструменты, которые также используют другие форматы. Например, Fitnesse (построенный на таблицах решений ) также использовался для развертывания BDD. [29]

Примеры инструментов [ править ]

Сегодня в проектах используется несколько различных примеров программных инструментов BDD для разных платформ и языков программирования.

Вероятно, самым известным является JBehave, разработанный Дэном Нортом, Элизабет Кио и некоторыми другими. [30] Ниже приведен пример, взятый из этого проекта: [20]

Рассмотрим реализацию Игры Жизни . Эксперт в предметной области (или бизнес-аналитик) может захотеть указать, что должно происходить, когда кто-то настраивает начальную конфигурацию игровой сетки. Для этого он мог бы привести пример ряда шагов, предпринимаемых человеком, переключающим ячейки. Пропустив повествовательную часть, он мог бы сделать это, записав следующий сценарий в простой текстовый документ (который является типом входного документа, который читает JBehave):

Учитывая  игру 5 на 5 
  Когда  я переключаю ячейку на (3, 2) 
  Тогда  сетка должна выглядеть так 
  ..... 
  ..... 
  ..... 
  ..ИКС.. 
  ..... 
  Когда  я переключаю ячейку на (3, 1) 
  Тогда  сетка должна выглядеть так 
  ..... 
  ..... 
  ..... 
  ..ИКС.. 
  ..ИКС.. 
  Когда  я переключаю ячейку на (3, 2) 
  Тогда  сетка должна выглядеть так 
  ..... 
  ..... 
  ..... 
  ..... 
  ..ИКС.. 
 

Жирный шрифт не является частью ввода; он включен сюда, чтобы показать, какие слова признаются формальным языком. JBehave распознает термины «Дано » (как предварительное условие, определяющее начало сценария), « Когда » (как триггер события) и «Тогда» (как постусловие, которое должно быть проверено как результат действия, следующего за триггером). Основываясь на этом, JBehave способен читать текстовый файл, содержащий сценарий, и разбирать его на предложения (предложение настройки, а затем три триггера событий с проверяемыми условиями). Затем JBehave берет эти предложения и передает их коду, который способен устанавливать тест, реагировать на триггеры событий и проверять результат. Этот код должен быть написан разработчиками из команды проекта (на Java , поскольку именно на этой платформе основан JBehave). В этом случае код может выглядеть так:

частная   игра   ; игра  ; 
  частный   StringRenderer   рендерер  ; 

  @Given  (  «игра $ширина на $высоту»  ) 
 public   void   theGameIsRunning  (  int   width  ,   int   height  )   { 
     game   =   new   Game  (  width  ,   height  ); 
      рендерер   =   новый   StringRenderer  (); 
      игра  .   setObserver  (  рендерер  ); 
  } 
    
 @When  (  «Я переключаю ячейку в ($column, $row)»  ) 
 public   void   iToggleTheCellAt  (  int   columns  ,   int   row  )   { 
     game  .   toggleCellAt  (  столбец  ,   строка  ); 
  } 

 @Then  (  «сетка должна выглядеть как $grid»  public 
 void   theGridShouldLookLike   (  Stringgrid  )   )  {   assertThat 
     (  renderer  .  asString  (  ),   equalTo  (  grid  )); 
  } 

В коде есть метод для каждого типа предложения в сценарии. JBehave определит, какой метод соответствует какому предложению, с помощью аннотаций и будет вызывать каждый метод по порядку во время выполнения сценария. Ожидается, что текст в каждом предложении сценария будет соответствовать тексту шаблона, указанному в коде для этого предложения (например, ожидается, что за заданным в сценарии последует предложение в форме «игра X по Y»). . JBehave поддерживает сопоставление предложений с шаблонами и имеет встроенную поддержку выбора терминов из шаблона и передачи их методам тестового кода в качестве параметров. Тестовый код обеспечивает реализацию каждого типа предложения в сценарии, который взаимодействует с тестируемым кодом и выполняет тест на основе сценария. В этом случае:

  • The theGameIsRunning Метод реагирует на предложение Give , настраивая начальную сетку игры.
  • The iToggleTheCellAt Метод реагирует на предложение When , запуская событие переключения, описанное в предложении.
  • The theGridShouldLookLike Метод реагирует на предложение then , сравнивая состояние игровой сетки с ожидаемым состоянием сценария.

Основная функция этого кода — быть мостом между текстовым файлом с историей и тестируемым кодом. Обратите внимание, что тестовый код имеет доступ к тестируемому коду (в данном случае экземпляру Game) и очень прост по своей природе. Код теста должен быть простым, иначе разработчику придется писать тесты для своих тестов.

Наконец, для запуска тестов JBehave требуется некоторый сантехнический код, который идентифицирует текстовые файлы, содержащие сценарии и которые внедряют зависимости (например, экземпляры Game) в тестовый код. Этот сантехнический код здесь не показан, поскольку он является техническим требованием JBehave и не имеет прямого отношения к принципу тестирования в стиле BDD.

против спецификации История

Отдельную подкатегорию разработки, основанной на поведении, составляют инструменты, использующие в качестве языка ввода спецификации, а не пользовательские истории. Примером этого стиля является инструмент RSpec , который также был первоначально разработан Дэном Нортом. Инструменты спецификации не используют пользовательские истории в качестве входного формата для сценариев тестирования , а скорее используют функциональные спецификации для тестируемых модулей. Эти спецификации часто имеют более технический характер, чем пользовательские истории, и обычно менее удобны для общения с бизнес-персоналом, чем пользовательские истории. [6] [31] Пример спецификации стека может выглядеть так:

Спецификация:  Стек 

  Когда  создается новый стек 
  Тогда  там пусто 

  Когда  элемент добавляется в стек 
  Тогда  этот элемент находится на вершине стека 

  Когда  в стеке N элементов  
  И  элемент E находится на вершине стека 
  Затем  операция pop возвращает E 
  И  новый размер стека — N-1. 
 

Такая спецификация может точно определять поведение тестируемого компонента, но она менее значима для бизнес-пользователя. В результате тестирование на основе спецификаций рассматривается в практике BDD как дополнение к тестированию на основе историй и работает на более низком уровне. Тестирование спецификаций часто рассматривается как замена модульного тестирования в свободном формате. [31]

Инструменты тестирования спецификаций, такие как RSpec и JDave, по своей природе несколько отличаются от таких инструментов, как JBehave. Поскольку они рассматриваются как альтернатива базовым инструментам модульного тестирования, таким как JUnit , эти инструменты склонны отказываться от разделения истории и кода тестирования и вместо этого предпочитают встраивать спецификацию непосредственно в тестовый код. Например, тест RSpec для хеш-таблицы может выглядеть так: [32]

описать   Хэш   do 
   let  (  :hash  )   {   Hash  [  hello  ,   'world  ]   } 

   it   {   ожидать  (  Hash.new  :  '  )  .   to   eq  ({})   } 

   он   «хэширует правильную информацию в ключе»,   ( 
     ожидаем  hash  [  :  hello  ]  )  .   to   eq  (  'world'  ) 
   end 

   it   'includes key'   do 
     hash  .   ключи  .   включать?   (  :привет  )  .   должно   быть   правдой, 
   конец 
 , конец 

В этом примере показана спецификация на читаемом языке, встроенная в исполняемый код. В этом случае выбор инструмента заключается в формализации языка спецификации на языке тестового кода путем добавления методов с именами it и should. Также существует концепция предварительного условия спецификации – before В разделе устанавливаются предварительные условия, на которых основана спецификация.

Результатом теста будет:

Хэш
    должно быть уравнение {}
    включает ключ
    хэширует правильную информацию в ключе
 

Три друга [ править ]

Три амиго, также называемые «семинар по спецификациям», — это встреча, на которой владелец продукта обсуждает требования в форме спецификации на примере с различными заинтересованными сторонами, такими как команда контроля качества и команда разработчиков. Основная цель этого обсуждения — вызвать разговор и выявить недостающие спецификации. Обсуждение также предоставляет платформу для QA, команды разработчиков и владельца продукта, чтобы они могли встретиться и выслушать точки зрения друг друга, чтобы обогатить требования, а также убедиться, что они создают правильный продукт. [33]

Три амиго:

  • Бизнес. Роль бизнес-пользователя состоит только в том, чтобы определить проблему, а не предлагать решение.
  • Разработка. Роль разработчиков заключается в предложении способов решения проблемы.
  • Тестирование. Роль тестировщиков состоит в том, чтобы подвергнуть сомнению решение, предложить как можно больше различных возможностей для мозгового штурма через сценарии «что, если» и помочь сделать решение более точным для устранения проблемы.

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д Это Норт, Дэн (март 2006 г.). «Знакомство с BDD» . Дэн Норт . Проверено 25 апреля 2019 г.
  2. ^ Перейти обратно: а б с «Развитие, основанное на поведении» . Архивировано из оригинала 1 сентября 2015 года . Проверено 12 августа 2012 г.
  3. ^ Кио, Лиз (7 сентября 2009 г.). «Введение в развитие, основанное на поведении» . Навыки имеют значение . Архивировано из оригинала 25 февраля 2021 г. Проверено 1 мая 2019 г.
  4. ^ Джон Фергюсон Смарт (2014). BDD в действии: разработка на основе поведения для всего жизненного цикла программного обеспечения . Публикации Мэннинга. ISBN  9781617291654 .
  5. ^ Тарайил, Ранджит (15 февраля 2016 г.). «Разработка, основанная на поведении: упрощение сложного проблемного пространства» . РешенияIQ . Проверено 15 февраля 2018 г.
  6. ^ Перейти обратно: а б с д Это ж г час я дж к Харинг, Рональд (февраль 2011 г.). де Рюитер, Роберт (ред.). «Разработка, основанная на поведении: лучше, чем разработка, основанная на тестировании». Журнал Java (на голландском языке) (1). Журналы Veen: 14–17. ISSN   1571-6236 .
  7. ^ Солис, Карлос; Ван, Сяофэн (2011). «Исследование характеристик развития, основанного на поведении». 2011 37-я конференция EUROMICRO по программной инженерии и передовым приложениям . стр. 383–387. дои : 10.1109/SEAA.2011.76 . hdl : 10344/1256 . ISBN  978-1-4577-1027-8 . S2CID   3392536 .
  8. ^ Перейти обратно: а б с д Bellware, Скотт (июнь 2008 г.). «Развитие, основанное на поведении» . Журнал «Код» . Архивировано из оригинала 12 июля 2012 года . Проверено 1 мая 2019 г.
  9. ^ Лиз Кио (27 июня 2011 г.). «ATDD против BDD и краткая история некоторых связанных с этим вещей» . Проверено 6 мая 2019 г.
  10. ^ «Книга RSpec – Вопрос к главе 11: Написание важного программного обеспечения» . Архивировано из оригинала 07.11.2009 . Проверено 9 августа 2009 г.
  11. ^ Дэн Норт. «Как продать BDD бизнесу» . www.skillsmatter.com . Архивировано из оригинала 25 ноября 2010 г. Проверено 7 февраля 2023 г.
  12. ^ «Лиз Кио» .
  13. ^ Интервью с Лиз Кио и Дэном Нортом • GOTO 2013 , получено 7 февраля 2023 г.
  14. ^ Д.Норт, Представляем RBehave. Архивировано 20 июня 2007 г. в Wayback Machine.
  15. ^ Шон Миллер (31 октября 2007 г.). «RSpec добавляет долгожданную функциональность RBehave для интеграционного тестирования» . ИнфоQ . Проверено 7 февраля 2023 г.
  16. ^ Перейти обратно: а б с д Это Норт, Дэн (11 февраля 2007 г.). «Что в истории?» . Дэн Норт . Проверено 12 августа 2012 г.
  17. ^ Мэйби, Бен. «Императивные и декларативные сценарии в пользовательских историях» . Архивировано из оригинала 3 июня 2010 года . Проверено 19 мая 2008 г.
  18. ^ «В двух словах — документация по салату 0.2.23 (выпуск криптонита)» . салат.это . Проверено 6 февраля 2020 г.
  19. ^ «Корнишон» . Проверено 7 июня 2020 г.
  20. ^ Перейти обратно: а б «Что такое JBehave?» . JBehave.org . Проверено 20 октября 2015 г.
  21. ^ «behave — это разработка, основанная на поведении, в стиле Python» . Архивировано из оригинала 22 января 2018 года . Проверено 30 января 2018 г.
  22. ^ «Функции написания — документация Behat 3.0.12» . документация по поведению . Архивировано из оригинала 19 сентября 2015 года . Проверено 20 октября 2015 г.
  23. ^ Перейти обратно: а б Эванс, Эрик (2003). Доменно-ориентированное проектирование: решение проблем, лежащих в основе программного обеспечения . Аддисон-Уэсли. ISBN  978-0-321-12521-7 . Проверено 12 августа 2012 г.
  24. ^ Норт, Дэн (31 мая 2012 г.). «BDD — это как TDD, если…» более быстрые организации, более быстрое программное обеспечение . Дэн Норт и партнеры . Проверено 12 августа 2012 г.
  25. ^ Генека (16 марта 2011 г.). «Почему программные проекты терпят неудачу» . Проверено 16 марта 2011 г.
  26. ^ Махмудул Хаке Азад (6 февраля 2011 г.). «Передайте привет развитию, основанному на поведении» . Проверено 12 августа 2012 г.
  27. ^ Любке, Даниэль; ван Лессен, Таммо (2016). «Моделирование тестовых примеров в BPMN для разработки, основанной на поведении». Программное обеспечение IEEE . 33 (5): 15–21. дои : 10.1109/MS.2016.117 . S2CID   14539297 .
  28. ^ Адам Крэйвен (21 сентября 2015 г.). «Основы разработки, основанной на поведении (BDD)» в масштабе предприятия . Проверено 14 января 2016 г.
  29. ^ Кетил Йенсен (13 декабря 2009 г.). «BDD с таблицами сценариев в Fitnesse Slim» . Иди, иди . Вордпресс . Проверено 12 августа 2012 г.
  30. ^ «jbehave.org/team-list» . JBehave. 28 мая 2017 г. Проверено 1 мая 2019 г.
  31. ^ Перейти обратно: а б Рой Ошеров (4 октября 2008 г.). «BDD: поведение и рамки спецификаций» . Проверено 12 августа 2012 г.
  32. ^ Джейсон Сейфер (7 декабря 2011 г.). «Введение в RSpec» . Проверено 27 октября 2012 г.
  33. ^ «Что такое три друга в Agile?» . Гибкий Альянс . 16 июня 2016 г. Проверено 10 июня 2019 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 4696343691D62D24691EB16432639840__1713270000
URL1:https://en.wikipedia.org/wiki/Behavior-driven_development
Заголовок, (Title) документа по адресу, URL1:
Behavior-driven development - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)