Что такое User Story в разработке?

«Что такое User Story в разработке?» — вопрос из категории Методологии разработки, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

User Story (Пользовательская история) — это краткое, простое описание одной функции программного обеспечения, сформулированное с точки зрения конечного пользователя и описывающее, какую ценность он хочет получить.

Стандартный формат (шаблон Коннора):

Как [<тип пользователя/роль>],
Я хочу [<выполнить некоторое действие>],
Чтобы [<получить определённую пользу/результат>].

Примеры:

  • Как зарегистрированный пользователь, Я хочу восстановить пароль по email, Чтобы получить доступ к аккаунту, если я его забыл.
  • Как покупатель, Я хочу фильтровать товары по цене, Чтобы быстро найти варианты в рамках моего бюджета.

Ключевые компоненты хорошей User Story (INVEST-критерии):

  • Independent (Независимая): Минимизирует зависимости от других историй.
  • Negotiable (Обсуждаемая): Детали уточняются в диалоге, а не жёстко зафиксированы.
  • Valuable (Ценная): Приносит пользу пользователю или бизнесу.
  • Estimable (Оцениваемая): Команда может оценить её сложность.
  • Small (Маленькая): Может быть выполнена за один спринт (идеально — за несколько дней).
  • Testable (Тестируемая): Имеет чёткие критерии приемки.

Acceptance Criteria (Критерии приемки): Это условия, которые должны быть выполнены, чтобы история считалась завершённой и рабочей. Часто оформляются в виде сценариев.

Пример User Story с критериями приемки в формате Gherkin:

Feature: Восстановление пароля
  Как зарегистрированный пользователь,
  Я хочу восстановить пароль,
  Чтобы вернуть доступ к своему аккаунту.

  Scenario: Успешный запрос на восстановление пароля по email
    Given Я нахожусь на странице входа в систему
    When Я нажимаю ссылку "Забыли пароль?"
    And Я ввожу свой зарегистрированный email "user@example.com" в появившуюся форму
    And Я нажимаю кнопку "Отправить инструкции"
    Then Мне показывается сообщение "Инструкции отправлены на ваш email"
    And Письмо со ссылкой для сброса пароля отправляется на адрес "user@example.com"

  Scenario: Запрос с незарегистрированным email
    Given Я нахожусь на странице восстановления пароля
    When Я ввожу email "unknown@example.com"
    And Я нажимаю кнопку "Отправить инструкции"
    Then Мне показывается сообщение "Пользователь с таким email не найден"
    And Письмо не отправляется

User Story — это основной артефакт для планирования в Agile-методологиях (Scrum, Kanban), который связывает техническую реализацию с бизнес-ценностью.