Разработка чек-листов и тест-кейсов
Мы уже освоили фундамент: научились выделять группы данных и находить критические точки. В прошлой теме мы структурировали сложную логику в таблицы решений. Теперь пора перенести эти находки в документы, по которым будет работать вся команда.
В современной разработке документация — это не бюрократия, а способ синхронизации людей. Мы разберем два формата фиксации проверок, которые станут вашими главными инструментами.
Чек-лист: быстрый старт и контроль
Чек-лист — это список проверок, отвечающий на вопрос «Что именно мы тестируем?». В нем нет подробных инструкций, так как он рассчитан на специалиста, знакомого с продуктом.
В веб-тестировании чек-листы незаменимы для регресса (проверки, что старые функции не сломались после обновлений) и быстрой приемки интерфейсов.
Признаки качественного чек-листа:
- Атомарность: одна строка — одна проверка.
- Группировка: проверки объединены по блокам (например, «Шапка», «Корзина», «Оплата»).
- Лаконичность: используйте утвердительные формулировки.
| Плохо | Профессионально |
|---|---|
| Посмотреть, есть ли логотип и нажимается ли он | Логотип отображается в хедере |
| Проверить ссылку в логотипе | Клик по логотипу ведет на главную страницу |
| Картинка логотипа не битая | Атрибут alt логотипа содержит название компании |
Тест-кейс: детальная инструкция
Когда система усложняется или проверку нужно передать новичку, чек-листа мало. Здесь нужен тест-кейс — описание условий и шагов для подтверждения того, что функция работает по требованиям.
Если чек-лист — это список покупок, то тест-кейс — пошаговый рецепт, где важна точность.
Как показано на Схеме 1, структура тест-кейса строго регламентирована. Это исключает двусмысленность.
Разбор ключевых элементов
- Заголовок (Title): Кратко объясняет «Что, Где и при Каких условиях» мы проверяем.
- Предусловия (Preconditions): Состояние системы до начала теста (например: «Пользователь авторизован»).
- Шаги воспроизведения (Steps): Четкая последовательность действий без «воды».
- Ожидаемый результат (Expected Result): Описание того, как система должна отреагировать. Это эталон, с которым мы сравниваем реальное поведение сайта.
💡 При написании шагов избегайте избыточной детализации UI (например, «Нажать синюю кнопку в левом углу»). Описывайте бизнес-логику: «Нажать кнопку 'Оформить заказ'». Так тесты не придется переписывать при каждом изменении дизайна.
Практический пример: от логики к документу
Возьмем сценарий из таблицы решений: «Применение валидного промокода на сумму выше минимальной».
Пример оформления:
- ID: TC-001
- Заголовок: Применение валидного промокода на скидку 10% в корзине.
- Предусловия:
- Открыта страница
example.com/cart. - В корзине товар на 5000 руб. (минимум для кода — 3000 руб.).
- Открыта страница
- Шаги воспроизведения:
- Ввести
SALE10в поле «Промокод». - Нажать кнопку «Применить».
- Ввести
- Ожидаемый результат:
- Появилось сообщение «Промокод успешно применен».
- Сумма заказа уменьшилась на 10% (стала 4500 руб.).
- В DOM-дереве элементу цены присвоен класс
discount-applied.
Обратите внимание на третий пункт. Middle-инженер проверяет не только визуальную часть, но и технические маркеры в коде. Мы научимся находить их в модуле про DevTools 🛠️
Выбор инструмента: когда и что использовать
Мы не пишем тест-кейсы на всё подряд — это дорого. Выбор зависит от рисков.
| Параметр | Чек-лист | Тест-кейс |
|---|---|---|
| Сложность | Простые UI-элементы | Сложная бизнес-логика |
| Исполнитель | Опытный QA в контексте | Любой сотрудник или AI |
| Цель | Быстрая пробежка по проекту | Проверка критического пути |
| Автоматизация | Почти невозможна | Основа для автотестов |
Используйте гибридный подход: описывайте ключевые сценарии (Happy Path) тест-кейсами, а второстепенные проверки оставляйте в чек-листах.
Совет: Используйте AI для самопроверки. Попросите нейросеть: «Проверь этот тест-кейс на атомарность и отсутствие двусмысленности». Это отличный фильтр перед ревью у лида.
Документация — это половина успеха. Но что делать, если во время теста система повела себя странно? В следующей теме мы научимся превращать найденные ошибки в информативные отчеты, которые помогут разработчикам быстро исправить баг.