Мы уже освоили фундамент: научились выделять группы данных и находить критические точки. В прошлой теме мы структурировали сложную логику в таблицы решений. Теперь пора перенести эти находки в документы, по которым будет работать вся команда.

В современной разработке документация — это не бюрократия, а способ синхронизации людей. Мы разберем два формата фиксации проверок, которые станут вашими главными инструментами.

Чек-лист: быстрый старт и контроль

Чек-лист — это список проверок, отвечающий на вопрос «Что именно мы тестируем?». В нем нет подробных инструкций, так как он рассчитан на специалиста, знакомого с продуктом.

В веб-тестировании чек-листы незаменимы для регресса (проверки, что старые функции не сломались после обновлений) и быстрой приемки интерфейсов.

Признаки качественного чек-листа:

  • Атомарность: одна строка — одна проверка.
  • Группировка: проверки объединены по блокам (например, «Шапка», «Корзина», «Оплата»).
  • Лаконичность: используйте утвердительные формулировки.
ПлохоПрофессионально
Посмотреть, есть ли логотип и нажимается ли онЛоготип отображается в хедере
Проверить ссылку в логотипеКлик по логотипу ведет на главную страницу
Картинка логотипа не битаяАтрибут alt логотипа содержит название компании

Тест-кейс: детальная инструкция

Когда система усложняется или проверку нужно передать новичку, чек-листа мало. Здесь нужен тест-кейс — описание условий и шагов для подтверждения того, что функция работает по требованиям.

Если чек-лист — это список покупок, то тест-кейс — пошаговый рецепт, где важна точность.

Как показано на Схеме 1, структура тест-кейса строго регламентирована. Это исключает двусмысленность.

Разбор ключевых элементов

  1. Заголовок (Title): Кратко объясняет «Что, Где и при Каких условиях» мы проверяем.
  2. Предусловия (Preconditions): Состояние системы до начала теста (например: «Пользователь авторизован»).
  3. Шаги воспроизведения (Steps): Четкая последовательность действий без «воды».
  4. Ожидаемый результат (Expected Result): Описание того, как система должна отреагировать. Это эталон, с которым мы сравниваем реальное поведение сайта.

💡 При написании шагов избегайте избыточной детализации UI (например, «Нажать синюю кнопку в левом углу»). Описывайте бизнес-логику: «Нажать кнопку 'Оформить заказ'». Так тесты не придется переписывать при каждом изменении дизайна.

Практический пример: от логики к документу

Возьмем сценарий из таблицы решений: «Применение валидного промокода на сумму выше минимальной».

Пример оформления:

  • ID: TC-001
  • Заголовок: Применение валидного промокода на скидку 10% в корзине.
  • Предусловия:
    1. Открыта страница example.com/cart.
    2. В корзине товар на 5000 руб. (минимум для кода — 3000 руб.).
  • Шаги воспроизведения:
    1. Ввести SALE10 в поле «Промокод».
    2. Нажать кнопку «Применить».
  • Ожидаемый результат:
    1. Появилось сообщение «Промокод успешно применен».
    2. Сумма заказа уменьшилась на 10% (стала 4500 руб.).
    3. В DOM-дереве элементу цены присвоен класс discount-applied.

Обратите внимание на третий пункт. Middle-инженер проверяет не только визуальную часть, но и технические маркеры в коде. Мы научимся находить их в модуле про DevTools 🛠️

Выбор инструмента: когда и что использовать

Мы не пишем тест-кейсы на всё подряд — это дорого. Выбор зависит от рисков.

ПараметрЧек-листТест-кейс
СложностьПростые UI-элементыСложная бизнес-логика
ИсполнительОпытный QA в контекстеЛюбой сотрудник или AI
ЦельБыстрая пробежка по проектуПроверка критического пути
АвтоматизацияПочти невозможнаОснова для автотестов

Используйте гибридный подход: описывайте ключевые сценарии (Happy Path) тест-кейсами, а второстепенные проверки оставляйте в чек-листах.

Совет: Используйте AI для самопроверки. Попросите нейросеть: «Проверь этот тест-кейс на атомарность и отсутствие двусмысленности». Это отличный фильтр перед ревью у лида.

Документация — это половина успеха. Но что делать, если во время теста система повела себя странно? В следующей теме мы научимся превращать найденные ошибки в информативные отчеты, которые помогут разработчикам быстро исправить баг.