Освоение корнишона: вкусный рецепт написания эффективных сценариев тестирования

Что такое Gherkin?
Gherkin — это предметно-ориентированный язык (DSL), который легко читается и понимается как техническими, так и нетехническими членами команды. Он действует как мост между участниками проекта, такими как бизнес-аналитики, владельцы продуктов и разработчики, предоставляя общий язык для описания поведения системы. Корнишон в первую очередь ассоциируется с разработкой, управляемой поведением (BDD), методологией разработки программного обеспечения, которая способствует сотрудничеству между различными заинтересованными сторонами посредством общего языка и понимания.

Написание эффективных сценариев тестирования:

  1. Функция. Начните с определения тестируемой функции или функциональности. Это помогает обеспечить контекст и фокус для последующих сценариев.
Feature: Login Functionality
  As a user
  I want to be able to log into my account
  So that I can access my personalized content
  1. Сценарий: напишите отдельные сценарии, описывающие конкретные тестовые случаи. Каждый сценарий должен иметь четкую цель и фокусироваться на одном аспекте тестируемой функции.
Scenario: Successful login
  Given I am on the login page
  When I enter valid credentials
  And I click the login button
  Then I should be redirected to the dashboard
  1. Схема сценария. Используйте схему сценария, если у вас есть несколько похожих тестовых случаев, которые следуют определенному шаблону. Вы можете заменить определенные значения заполнителями (например, <username>, <password>) и предоставить примеры для создания нескольких сценариев.
Scenario Outline: Invalid login attempts
  Given I am on the login page
  When I enter invalid credentials "<username>" and "<password>"
  And I click the login button
  Then I should see an error message "<error_message>"
  Examples:
    | username   | password | error_message              |
    | john.doe   | wrong123 | Invalid username or password |
    | jane.smith | pass456  | Invalid username or password |
  1. Справочная информация: используйте раздел «Справочная информация», чтобы определить шаги, общие для всех сценариев в рамках функции. Это помогает устранить дублирование и сохранить читабельность.
Background:
  Given I am on the login page
Scenario: Successful login
  When I enter valid credentials
  And I click the login button
  Then I should be redirected to the dashboard
Scenario: Invalid login attempt
  When I enter invalid credentials
  And I click the login button
  Then I should see an error message
  1. Теги: добавляйте теги к сценариям или функциям, чтобы классифицировать и фильтровать их. Теги можно использовать для группировки связанных сценариев или пометки их для определенных тестовых запусков.
@smoke
Feature: Login Functionality
@positive
Scenario: Successful login
...
@negative
Scenario: Invalid login attempt
...

Gherkin — это мощный и универсальный язык для написания тестовых сценариев в совместной и простой для понимания форме. Следуя методам, изложенным выше, вы сможете эффективно сообщать о поведении вашего программного обеспечения и гарантировать, что все заинтересованные стороны находятся на одной волне. Так почему бы не добавить Gherkin в свой набор инструментов для тестирования и не оценить преимущества, которые он приносит в ваше тестирование Agile?