Если вы хоть раз сталкивались с тестированием ПО, то наверняка слышали про тест-кейсы. Они — как рецепт для тестировщика: четко описывают, что, как и в каком порядке проверять, чтобы не пропустить ничего важного. В этой статье разберемся, зачем нужны тест-кейсы, как их писать правильно (и не очень), какие ошибки встречаются чаще всего и как избежать головной боли при их создании.
Что такое тест-кейс?
Тест-кейс — это сценарий проверки, который содержит конкретные шаги и ожидаемый результат. Представьте, что вам нужно проверить работу кофемашины. Вы не просто нажимаете кнопки наугад, а следуете инструкции: залить воду, вставить капсулу, нажать «Старт» и убедиться, что кофе получился. В тестировании ПО то же самое, только с программами и без кофе (но это не точно).

Структура тест-кейса
Хороший тест-кейс должен быть понятным даже тому, кто видит его впервые. В него обычно входят следующие элементы:
- ID — уникальный номер теста. Это необходимо, чтобы легко идентифицировать каждый тест-кейс и избежать путаницы, особенно когда тестов много.
- Название — краткое, но емкое название теста, которое сразу дает понять, что именно проверяется. Название должно быть ясным и не содержать лишней информации.
- Предусловия — это все, что нужно подготовить перед тестом. Например, может потребоваться зарегистрированный пользователь, определенный статус объекта или доступ к сети.
- Шаги выполнения — это четкое описание того, что именно нужно сделать, чтобы выполнить тест. Каждый шаг должен быть понятным и последовательным, чтобы другой тестировщик мог точно повторить действия.
- Ожидаемый результат — в этом разделе описывается, как должна себя вести система, если все работает правильно. Это важно для того, чтобы точно знать, что считать успешным прохождением теста.
- Фактический результат — описание того, что произошло на самом деле во время тестирования. Этот раздел важен для фиксации ошибок, если результат отличается от ожидаемого.
- Статус — здесь указывается, прошел ли тест (Passed) или был провален (Failed). Это помогает быстро оценить результаты тестирования.
- Вложения — если есть необходимость, в тест-кейсе могут быть добавлены скриншоты, видео или логи. Это помогает точно понять, что пошло не так, и ускоряет решение проблем.

Как писать хорошие тест-кейсы?
Чтобы ваши тест-кейсы не превращались в головоломку, придерживайтесь нескольких простых правил:
- Пишите понятно — забудьте про двусмысленные формулировки;
- Делайте шаги логичными — тестировщик должен понимать, что делать на каждом этапе;
- Прописывайте четкие ожидания — чтобы не было разночтений в результатах;
- Тестируйте независимые сценарии — если один тест-кейс проверяет сразу три функции, то баг в одной сломает весь тест;
- Используйте вложения — скриншоты и видео помогут быстро разобраться в ситуации.
Типичные ошибки при написании тест-кейсов
Размытые формулировки — тестировщик не должен догадываться, что именно проверять.
Пример: "Проверить обработку платежа" (неясно, какие платежные методы проверять, какие шаги выполнения).
Слишком сложные сценарии — тест-кейс не должен проверять сразу несколько независимых функций.
Пример: "Добавить товар в корзину, изменить его количество, оформить заказ, оплатить и проверить подтверждение по email" (слишком много действий в одном тест-кейсе).
Отсутствие ожидаемых результатов — без этого сложно понять, успешно ли выполнен тест.
Пример: "Заполнить форму платежа и нажать кнопку 'Оплатить'" (не сказано, что должно произойти в результате: переход на страницу подтверждения, списание денег и т. д.).
Игнорирование вложений — при сложных тестах отсутствие скриншотов или видео может затруднить воспроизведение и разбор ошибок.
Жизненный цикл тест-кейса
Тест-кейсы — это не просто статичные документы, они тоже проходят через несколько этапов, прежде чем стать действительно полезными. Вот как это работает:
- Написание — Здесь мы создаем сам тест-кейс, прописываем все шаги, которые нужно выполнить, и указываем, что мы ожидаем увидеть в результате.
- Запуск — Тестировщик берет наш тест, выполняет его и записывает, что произошло. Работает ли все как надо? Есть ли баги?
- Анализ — После выполнения теста мы проверяем, совпали ли реальные результаты с ожидаемыми. Если нет — ищем, что пошло не так.
- Ревизия — Если что-то не так, тест-кейс правится. Может быть, шаги были не совсем ясны, или результат оказался не тем, что ожидали.
- Актуализация — Важно, чтобы тесты всегда были актуальными. Если функциональность поменялась, тесты тоже должны обновляться.
И вот так тесты проходят через все эти этапы, чтобы быть максимально полезными в процессе тестирования!

Пример плохого и хорошего тест-кейса
Плохой тест-кейс
Название: "Проверка оформления заказа с оплатой картой"
Шаги:
- Перейти в корзину.
- Выбрать способ оплаты "Банковская карта".
- Ввести данные карты.
- Подтвердить оплату.
Ожидаемый результат: "Оплата должна пройти."
Ошибки:
- Какие именно данные карты вводить?
- Проверяются ли ошибки при вводе?
- Требуется ли 3D-Secure?
- Что значит "Оплата должна пройти"? Должно ли появиться сообщение об успешной оплате?
- Нет вложений: скриншотов, видео, логов.
Хороший тест-кейс
Название: "Оформление заказа с успешной оплатой банковской картой (Visa/MasterCard)"
Предусловия:
- Пользователь должен быть зарегистрирован и авторизован.
- В корзине должен быть хотя бы один товар.
- Доступен стабильный интернет.
Шаги:
- Перейти в корзину и нажать "Оформить заказ".
- Выбрать способ оплаты "Банковская карта".
- Ввести корректные данные карты:
- Номер: 4111 1111 1111 1111
- Дата: 12/25
- CVV: 123
- Подтвердить оплату.
- Ввести код подтверждения из SMS (если запрашивается 3D-Secure).
- Дождаться сообщения об успешной оплате.
- Проверить, что заказ появился в разделе "Мои заказы".
- Проверить получение email с подтверждением заказа.
Ожидаемый результат:
- Оплата успешна, на экране отображается подтверждение.
- В истории заказов появляется новый заказ со статусом "Оплачено".
- На email приходит письмо с деталями заказа.
Вложения:
- Скриншоты экрана подтверждения оплаты.
- Видео процесса оплаты.
Почему этот тест-кейс хороший?
Четкие шаги и ожидаемые результаты. Указаны предусловия. Добавлены вложения для наглядности.
Шаблоны популярных тест-кейсов
Для вашего удобства и наглядности мы подготовили шаблоны самых часто используемых тест-кейсов. Эти шаблоны помогут быстрее начать тестирование, избежать типичных ошибок и понять, как должен выглядеть хорошо составленный тест-кейс.
Регистрация нового пользователя
- ID: TC-001
- Название: Регистрация нового пользователя с валидными данными
- Предусловия: Пользователь не авторизован. Открыта страница регистрации.
- Шаги:
- Перейти на страницу регистрации.
- Ввести имя: Иван.
- Ввести email: ivan@example.com.
- Ввести пароль: Qwerty123!.
- Подтвердить пароль: Qwerty123!.
- Нажать кнопку "Зарегистрироваться".
- Ожидаемый результат: Появляется сообщение об успешной регистрации, пользователь попадает в личный кабинет, на email приходит письмо с подтверждением.
- Фактический результат:
- Статус:
- Вложения: Скриншоты экрана подтверждения и письма на email.
Авторизация с валидными данными
- ID: TC-002
- Название: Успешный вход зарегистрированного пользователя
- Предусловия: Пользователь зарегистрирован. Известны корректные email и пароль.
- Шаги:
- Перейти на страницу входа.
- Ввести email: ivan@example.com.
- Ввести пароль: Qwerty123!.
- Нажать кнопку "Войти".
- Ожидаемый результат: Пользователь успешно входит и попадает на главную страницу личного кабинета.
- Фактический результат:
- Статус:
- Вложения: Скриншот после входа.
Восстановление пароля
- ID: TC-003
- Название: Восстановление пароля через email
- Предусловия: У пользователя есть зарегистрированный email.
- Шаги:
- Перейти на страницу входа.
- Нажать "Забыли пароль?".
- Ввести email: ivan@example.com.
- Нажать "Отправить ссылку".
- Перейти по ссылке из письма.
- Ввести новый пароль и подтвердить его.
- Ожидаемый результат: Новый пароль установлен, пользователь может войти с новыми данными.
- Фактический результат:
- Статус:
- Вложения: Скриншоты email и формы смены пароля.
Добавление товара в корзину
- ID: TC-004
- Название: Добавление товара в корзину с карточки товара
- Предусловия: Пользователь авторизован. Сайт работает.
- Шаги:
- Перейти в каталог товаров.
- Открыть карточку любого товара.
- Нажать "Добавить в корзину".
- Открыть корзину.
- Ожидаемый результат: Товар появляется в корзине, отображается название, цена и количество.
- Фактический результат:
- Статус:
- Вложения: Скриншот корзины с добавленным товаром.
Оформление заказа с оплатой картой
- ID: TC-005
- Название: Оформление заказа с успешной оплатой банковской картой (Visa/MasterCard)
- Предусловия: Пользователь авторизован, в корзине есть товар, интернет стабилен.
- Шаги:
- Перейти в корзину и нажать "Оформить заказ".
- Выбрать способ оплаты "Банковская карта".
- Ввести номер карты: 4111 1111 1111 1111
- Дата: 12/25
- CVV: 123
- Подтвердить оплату.
- Ввести код 3D-Secure, если требуется.
- Дождаться сообщения об успешной оплате.
- Проверить раздел "Мои заказы".
- Проверить письмо с подтверждением заказа на email.
- Ожидаемый результат: Оплата проходит успешно, заказ появляется в "Моих заказах", письмо с подтверждением приходит на email.
- Фактический результат:
- Статус:
- Вложения: Скриншот подтверждения и письма.
Заключение
Тест-кейсы — это не такой уж скучный и сложный инструмент, как может показаться на первый взгляд. На самом деле, они делают тестирование гораздо проще и понятнее. Если все шаги прописаны четко, вы точно будете знать, что проверять и как. Да и команде будет легче сориентироваться, если что-то пойдет не так.
Не забывайте, что тест-кейсы — это ваш лучший друг в тестировании, когда они написаны грамотно. И, конечно, если вы хотите упростить процесс тестирования и сделать его более удобным, всегда можно подключить инструменты, такие как FireTMS, чтобы все было под контролем и в порядке.
Главное, не бойтесь делать тесты простыми, понятными и визуальными — скриншоты и видео всегда придут на помощь! Удачи в написании тест-кейсов, и пусть баги будут минимальными!