Рекомендации и передовой опыт BDD

BDD (Behavior Driven Development) - методология разработки программного обеспечения посредством непрерывного на основе примеров общение между разработчиками, QA и BA. В этой статье мы обсудим некоторые передовые практики BDD, чтобы получить максимальную пользу.

Прежде чем что-либо еще, основная цель методологии BDD состоит в том, чтобы стимулировать общение между заинтересованными сторонами проекта, чтобы контекст каждой функции был правильно понят всеми членами команды (т. Е. Общее понимание) до начала работы по разработке. Это помогает определить ключевые сценарии для каждой истории, а также устранить двусмысленность требований.

В BDD примеры называются сценариями. Сценарии построены вокруг Контекст-действие-результат pattern и записываются в специальном формате, который называется Корнишон .

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

Поскольку Gherkin является структурным, он служит как спецификацией, так и вводом в автоматизированные тесты, отсюда и название «Исполняемые спецификации».

Что такое файл функций и что он содержит

Файлы функций - это текстовые файлы с .характерная черта расширение, которое можно открыть в любом текстовом редакторе, а также прочитать любым инструментом, поддерживающим BDD, например Cucumber, JBehave или Behat.



Файлы функций должны начинаться с контекста функции (который, по сути, является историей), за которым следует хотя бы один сценарий в следующем формате

Характерная черта: Какой-то краткий, но описательный текст желаемого.

Для реализации названной бизнес-ценности
Как явный системный субъект
Я хочу получить положительный результат, который способствует достижению цели

Сценарий: Некоторая определяемая бизнес-ситуация

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

Сценарии в файлах функций должны быть сосредоточены на «что», а не на «как». Сценарии должны быть краткими и точными, чтобы читатель мог быстро понять цель теста, не читая много несущественных шагов.

Зачем нам писать файлы функций

Как упоминалось ранее, основная цель методологии BDD - способствовать общению между командой доставки. Целью файлов функций является документирование обсуждаемых сценариев, чтобы дать представление о том, сколько работы требуется для доставки функции. Файлы функций также являются драйверами для автоматизированных тестов. Файлы функций также служат в качестве определения выполненного (DoD), что означает, что, когда все сценарии были реализованы и успешно протестированы, мы можем отметить историю как выполненную.

Кому следует писать файлы функций

На самом деле не имеет значения, кто на самом деле пишет / набирает файлы функций, это может быть любой член группы доставки, однако содержимое (сценарии), которые обсуждаются тремя разработчиками Dev-QA-BA, являются важной частью функции. файлы. Ключевым элементом является получение общего понимания функции.

Когда следует писать файлы функций

Файлы характеристик должны быть написаны во время сессий подготовки рассказов, где обсуждаются детали каждой истории. Файлы функций, содержащие сценарии, должны быть написаны до начала разработки, чтобы разработчики и QA имели четкое представление о цели истории. Должно быть общее понимание истории. Сценарии служат требованиями к разработке.

Где следует хранить файлы функций

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

При этом, поскольку файлы функций являются драйверами автоматических тестов, в идеале они должны храниться в системе управления версиями (GitHub), чтобы любые обновления файлов функций немедленно отражались в тестах.

Для нетехнических участников, у которых нет опыта работы с Git, мы всегда можем выполнить пробный запуск файлов функций, который затем выведет список всех существующих сценариев без фактического использования файлов функций.

Как нам писать файлы функций

Обычно существует два способа записи файлов функций - императивный и декларативный.

Императив стиль написания файла функций очень подробный, содержит подробности низкого уровня и слишком много информации.

Плюсы: человек, читающий файл функций, может следовать пошаговым инструкциям.

Минусы: из-за слишком большого количества деталей читатель может потерять смысл рассказа и тестов. Файл функций становится слишком большим, его трудно поддерживать, и он может выйти из строя из-за обновлений пользовательского интерфейса.

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

Плюсы: декларативный стиль более читабелен, поскольку он содержит меньше шагов в сценарии. Читатель может легко понять объем теста и быстро определить, отсутствуют ли какие-либо ключевые элементы.