Хорошее общение может не только улучшить понимание членов команды и положительно повлиять на их навыки совместной работы, но и ускорить процесс разработки программного обеспечения. Такие практики, как разработка на основе поведения, влияют на общение между так называемыми «тремя сторонами» - бизнесом, разработкой и тестированием.
Все это может быть достигнуто с помощью языка 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 - это понятность:
- Это легко понять всем (специалистам по тестированию, разработчикам и людям, не связанным с программированием или программным обеспечением в целом)
- Сценарий Gherkin может быть понятен руководителям и разработчикам (в основном так же, как указано выше)
- Для понимания небольшого набора команд Gherkin не требуется никакого предыдущего опыта
Более того, использование Gherkin означает лучшую коммуникацию, что приводит к более быстрому выводу на рынок, а его тестовые сценарии могут быть полезны во многих отношениях:
- Как простая документация
- Они помогают отслеживать покрытие автоматизации тестирования
- Их можно использовать для автоматизации тестирования.
Интересный факт: в языке Gherkin используется всего 10 ключевых слов, что делает его очень простым.
Основы теста на корнишоны
А теперь поговорим о Gherkin на практике. Однако прежде чем вы начнете писать, вы должны понять некоторые ключевые слова, связанные с корнишоном:
Характерная черта
Документы Gherkin начинаются с этого ключевого слова, которому предшествует текст с описанием. Проще говоря, функция - это описание того, что должно делать программное обеспечение. Он также используется для группировки сценариев вместе. Файл должен иметь расширение .feature, и каждый файл функций должен иметь только одну функцию.
Примечание. Описание в произвольной форме также может быть написано под ключевыми словами, если ни одна из строк не начинается с ключевого слова.
Правило
Ключевое слово «rule» представляет собой одно бизнес-правило, которое необходимо включить, поскольку оно обеспечивает контекст для функции. Имейте в виду, что у этих правил должно быть несколько сценариев.
Данный
«Данные» шаги создают сцену для сценария. Чаще всего они описывают то, что происходило в прошлом. Это дает системный контекст до того, как пользователи начнут с ней взаимодействовать.
Когда
«Когда» означает действия. Он описывает событие, например, вызванное другой системой или взаимодействующим с ней пользователем. Обратите внимание, что рекомендуется использовать только один шаг «когда» для каждого сценария.
потом
«Тогда» - это конечный шаг. Здесь вы описываете, что должна делать система. Это должно быть что-то, что действительно можно увидеть в результате, например, отчет или сообщение.
И, Но
Их можно использовать, когда у вас есть несколько ступеней одного типа. Они помогают сохранять читаемость и упорядоченность документации. Ключевое слово "Но" можно легко заменить на правильно используемое "И", что помогает сократить количество ключевых слов до минимума и обеспечивает согласованность на протяжении всего сценария тестирования.
Фон
Фон позволяет добавить больше контекста к сценариям в «функции». Здесь вы можете указать более одного «заданного» шага.
Схема сценария
Он включает в себя раздел примеров и может быть прочитан как шаблон. Схема сценария выполняется один раз для каждого раздела примера.
Резюме
Поведенческая разработка - отличный способ помочь вашей команде лучше общаться и сотрудничать. Поскольку он фокусируется на реальном поведении функций, он отлично подходит для тестирования API-интерфейсов и веб-интерфейсов. Это помогает уточнить требования, обнаружить новые варианты использования и принять своевременные решения. Это также поддерживает разработчиков и вселяет уверенность.
Gherkin - один из самых популярных языков для написания спецификаций поведения, поскольку он отражает сценарии «дано-когда-тогда». Более того, это позволяет легко превратить эти сценарии в автоматизированные тестовые сценарии и легко понять.
В следующем посте о Gherkin мы рассмотрим процесс тестирования и расскажем, как писать хорошие тесты, так что не спускайте глаз!
Если вы ищете команду разработчиков, которые знают, как работать с BDD или Gherkin и могут позаботиться о вашем проекте от начала до конца, вы попали в нужное место. Не стесняйтесь связаться с Селлео, чтобы обсудить свою идею дальше, познакомиться с командой и начать разработку прямо сейчас!
Первоначально опубликовано в Руководстве по корнишонам для начинающих.