← Назад к вопросам

Формат "Что? Где? Когда" насколько строг

2.0 Middle🔥 123 комментариев
#Процессы и методологии разработки#Теория тестирования

Комментарии (3)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Строгость формата "Что? Где? Когда?" в тестировании

Формат "Что? Где? Когда?" (или сокращённо ЧГК) — это неофициальная, но широко распространённая и очень полезная мнемоническая техника, которую тестировщики используют для формулирования тест-кейсов, баг-репортов или анализа требований. Его строгость можно охарактеризовать как "содержательно строгий, но формально гибкий".

Что подразумевается под форматом?

Этот подход предполагает, что любая проверка или описание проблемы должны давать ответ на три ключевых вопроса:

  • Что? — Какое конкретное действие выполнил пользователь или система? В каком состоянии находилось приложение? Это конкретный шаг или условие.
  • Где? — В каком месте приложения (окно, страница, модуль, экран, URL) это произошло? Это локация события.
  • Когда? — При каких обстоятельствах, в какой последовательности действий? Какие предшествующие шаги привели к ситуации? Это контекст и воспроизводимый сценарий.

Уровни строгости применения

На практике строгость соблюдения этого формата варьируется в зависимости от контекста.

1. Максимальная строгость (рекомендуется для баг-репортов) При описании дефекта следование ЧГК обязательно. Это основа воспроизводимости и понимания проблемы разработчиком.

Пример плохого описания: "Кнопка 'Сохранить' не работает". Пример по формату ЧГК:

  • Что? Кнопка "Сохранить" остаётся неактивной (серого цвета), на неё нельзя нажать.
  • Где? На странице редактирования профиля пользователя (/user/profile/edit).
  • Когда? После очистки обязательного поля "Имя" и попытки сохранить форму.
# Пример в структурированном виде (BDD-стиль):
Feature: Редактирование профиля
  Scenario: Кнопка "Сохранить" блокируется при невалидных данных
    Given Я нахожусь на странице редактирования профиля
    When Я очищаю обязательное поле "Имя"
    Then Кнопка "Сохранить" должна стать неактивной

2. Умеренная строгость (при написании тест-кейсов) Здесь формат служит каркасом для чётких шагов. Это повышает однозначность и позволяет автоматизировать сценарии.

// Пример шагов автотеста, отражающих логику ЧГК:
@Test
public void saveButtonShouldBeDisabledWhenRequiredFieldIsEmpty() {
    // WHERE: Открыть страницу редактирования
    open("/user/profile/edit");

    // WHEN & WHAT: Очистить поле "Имя"
    profilePage.nameField.clear();

    // THEN & WHAT: Проверить, что кнопка неактивна
    assertThat(profilePage.saveButton.isEnabled()).isFalse();
}

3. Гибкое применение (мозговой штурм, чек-листы, исследовательское тестирование) В этих случаях "ЧГК" используется как мыслительный инструмент, а не как жёсткий шаблон для документа. Тестировщик мысленно задаёт себе эти вопросы, чтобы не упустить важные аспекты: "А что будет, если я сделаю это (Что?) в этом попапе (Где?), после того как добавлю товар в корзину (Когда?)".

Почему это важно, несмотря на формальную гибкость?

Строгость формата продиктована его ключевыми целями:

  • Воспроизводимость: Разработчик или другой тестировщик должен без дополнительных уточнений повторить шаги и увидеть ту же проблему.
  • Однозначность: Исключает двусмысленности типа "оно не работает".
  • Эффективность коммуникации: Структурированная информация экономит время всей команды (QA, Dev, PM).
  • Автоматизация: Такой формат напрямую ложится на шаблоны step-by-step сценариев для автотестов (Selenium, Cypress, Appium).

Вывод

Формат "Что? Где? Когда?" — это стандарт де-факто для качественной документации дефектов и тестовых сценариев. Его следует придерживаться строго при формальном описании багов и подготовке детальных тест-кейсов. В то же время, это гибкий аналитический инструмент, который можно применять без жёсткой шаблонизации в процессе исследовательского тестирования или анализа требований. Пренебрежение этой структурой в официальной отчётности почти гарантированно приведёт к потере времени на переписку и уточнения, что является признаком низкого уровня зрелости QA-процессов.

Формат "Что? Где? Когда" насколько строг | PrepBro