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

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

Что такое BDD?

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

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

У продукта или функции бесчисленное множество вариантов поведения, и их идентификация вносит ясность и простоту. Эти спецификации поведения написаны с реалистичными примерами и служат как требованиями / критериями приемлемости продукта, так и его тестовыми примерами после разработки. BDD стремится улучшить взаимодействие между членами команды, обеспечить ясность и свести к минимуму передачу обслуживания. Ключевые моменты разработки, основанной на поведении:

  • BDD - это смена парадигмы
  • BDD в первую очередь фокусируется на поведении
  • BDD - это спецификация на примере
  • BDD - это усовершенствование Agile-процесса

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

Что такое язык корнишонов?

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

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

Чем полезны сценарии теста Gherkin?

Теперь вам может быть интересно, почему стоит обратить внимание на Корнишон. Как это улучшит ваше общение и, в свою очередь, процесс разработки? Давайте обсудим.

Преимущества BDD

Вам следует подумать о выборе разработки, основанной на поведении, по нескольким причинам и преимуществам, например:

  • ясность - сценарии фокусируются на ожидаемом поведении, которое описывается простым языком. Ясность гарантирует, что клиенты получат то, что хотят.
  • автоматизация - BDD упрощает превращение сценариев в автоматизированные тесты.
  • включение - это все о сотрудничестве, что означает, что все, от клиента до тестировщика, вовлечены в процесс разработки продукта.
  • скорость - BDD был разработан для ускорения разработки, поскольку сценарии - это требования, критерии приемки, тестовые примеры и сценарии тестирования - все в одном.
  • импульс - BDD имеет эффект снежного кома - сценарии легче и быстрее писать и автоматизировать по мере добавления новых определений. Также они часто делят общие шаги.
  • сдвиг влево - «сдвиг влево» означает тестирование на более раннем этапе процесса разработки, что приводит к меньшему количеству ошибок позже.
  • артефакты - сценарии могут формировать набор самодокументированных тестовых случаев, которые можно превратить в набор регрессионных тестов.
  • повторно используемый код - некоторые шаги можно повторно использовать в разных сценариях. Кодированная автоматизация становится очень модульной.
  • Test-driven - BDD - это эволюция TDD. Создание сценариев с самого начала знакомит с мышлением, ориентированным на качество и тестирование.
  • вариант - с описанием сценария легко запустить один и тот же сценарий с различными комбинациями входных данных, что является отличным способом расширить охват тестированием без дублирования кода.
  • параметризация - шаги сценария можно параметризовать, чтобы их можно было использовать повторно. Группе будет полезно принять общий, многократно используемый набор шагов, который вдохновляет на более здоровые дискуссии при написании сценариев.
  • адаптируемость - сценарии BDD легко обновлять по мере изменения продукта.

Преимущества корнишона

Возможно, вы знаете о преимуществах разработки, основанной на поведении, но как насчет Gherkin? В чем преимущества его использования? Их довольно много:

  • просто даже для непрограммистов
  • прочная база для тестов
  • легко повторно использовать код в других тестах
  • Пользовательские истории легко понять
  • Кейсы Gherkin Tests напрямую связывают приемочные тесты с автоматизированными тестами
  • сценарии понятны как руководителям, так и разработчикам.
  • Gherkin Testing нацелен на бизнес-требования

На мой взгляд, самое главное преимущество Gherkin - это понятность:

  1. Это легко понять всем (специалистам по тестированию, разработчикам и людям, не связанным с программированием или программным обеспечением в целом)
  2. Сценарий Gherkin может быть понятен руководителям и разработчикам (в основном так же, как указано выше)
  3. Для понимания небольшого набора команд Gherkin не требуется никакого предыдущего опыта

Более того, использование Gherkin означает лучшую коммуникацию, что приводит к более быстрому выводу на рынок, а его тестовые сценарии могут быть полезны во многих отношениях:

  1. Как простая документация
  2. Они помогают отслеживать покрытие автоматизации тестирования
  3. Их можно использовать для автоматизации тестирования.

Интересный факт: в языке Gherkin используется всего 10 ключевых слов, что делает его очень простым.

Основы теста на корнишоны

А теперь поговорим о Gherkin на практике. Однако прежде чем вы начнете писать, вы должны понять некоторые ключевые слова, связанные с корнишоном:

Характерная черта

Документы Gherkin начинаются с этого ключевого слова, которому предшествует текст с описанием. Проще говоря, функция - это описание того, что должно делать программное обеспечение. Он также используется для группировки сценариев вместе. Файл должен иметь расширение .feature, и каждый файл функций должен иметь только одну функцию.

Примечание. Описание в произвольной форме также может быть написано под ключевыми словами, если ни одна из строк не начинается с ключевого слова.

Правило

Ключевое слово «rule» представляет собой одно бизнес-правило, которое необходимо включить, поскольку оно обеспечивает контекст для функции. Имейте в виду, что у этих правил должно быть несколько сценариев.

Данный

«Данные» шаги создают сцену для сценария. Чаще всего они описывают то, что происходило в прошлом. Это дает системный контекст до того, как пользователи начнут с ней взаимодействовать.

Когда

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

потом

«Тогда» - это конечный шаг. Здесь вы описываете, что должна делать система. Это должно быть что-то, что действительно можно увидеть в результате, например, отчет или сообщение.

И, Но

Их можно использовать, когда у вас есть несколько ступеней одного типа. Они помогают сохранять читаемость и упорядоченность документации. Ключевое слово "Но" можно легко заменить на правильно используемое "И", что помогает сократить количество ключевых слов до минимума и обеспечивает согласованность на протяжении всего сценария тестирования.

Фон

Фон позволяет добавить больше контекста к сценариям в «функции». Здесь вы можете указать более одного «заданного» шага.

Схема сценария

Он включает в себя раздел примеров и может быть прочитан как шаблон. Схема сценария выполняется один раз для каждого раздела примера.

Резюме

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

Gherkin - один из самых популярных языков для написания спецификаций поведения, поскольку он отражает сценарии «дано-когда-тогда». Более того, это позволяет легко превратить эти сценарии в автоматизированные тестовые сценарии и легко понять.

В следующем посте о Gherkin мы рассмотрим процесс тестирования и расскажем, как писать хорошие тесты, так что не спускайте глаз!

Если вы ищете команду разработчиков, которые знают, как работать с BDD или Gherkin и могут позаботиться о вашем проекте от начала до конца, вы попали в нужное место. Не стесняйтесь связаться с Селлео, чтобы обсудить свою идею дальше, познакомиться с командой и начать разработку прямо сейчас!

Первоначально опубликовано в Руководстве по корнишонам для начинающих.