Что такое Gherkin?
Gherkin — это предметно-ориентированный язык (DSL), который легко читается и понимается как техническими, так и нетехническими членами команды. Он действует как мост между участниками проекта, такими как бизнес-аналитики, владельцы продуктов и разработчики, предоставляя общий язык для описания поведения системы. Корнишон в первую очередь ассоциируется с разработкой, управляемой поведением (BDD), методологией разработки программного обеспечения, которая способствует сотрудничеству между различными заинтересованными сторонами посредством общего языка и понимания.
Написание эффективных сценариев тестирования:
- Функция. Начните с определения тестируемой функции или функциональности. Это помогает обеспечить контекст и фокус для последующих сценариев.
Feature: Login Functionality
As a user
I want to be able to log into my account
So that I can access my personalized content
- Сценарий: напишите отдельные сценарии, описывающие конкретные тестовые случаи. Каждый сценарий должен иметь четкую цель и фокусироваться на одном аспекте тестируемой функции.
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
- Схема сценария. Используйте схему сценария, если у вас есть несколько похожих тестовых случаев, которые следуют определенному шаблону. Вы можете заменить определенные значения заполнителями (например,
<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 |
- Справочная информация: используйте раздел «Справочная информация», чтобы определить шаги, общие для всех сценариев в рамках функции. Это помогает устранить дублирование и сохранить читабельность.
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
- Теги: добавляйте теги к сценариям или функциям, чтобы классифицировать и фильтровать их. Теги можно использовать для группировки связанных сценариев или пометки их для определенных тестовых запусков.
@smoke
Feature: Login Functionality
@positive
Scenario: Successful login
...
@negative
Scenario: Invalid login attempt
...
Gherkin — это мощный и универсальный язык для написания тестовых сценариев в совместной и простой для понимания форме. Следуя методам, изложенным выше, вы сможете эффективно сообщать о поведении вашего программного обеспечения и гарантировать, что все заинтересованные стороны находятся на одной волне. Так почему бы не добавить Gherkin в свой набор инструментов для тестирования и не оценить преимущества, которые он приносит в ваше тестирование Agile?