Почему качество тест-кейсов важно

Тест-кейс хорош ровно настолько, насколько его может выполнить другой человек. Если коллега не может следовать вашему тест-кейсу и получить тот же результат, тест-кейс провалил свою задачу — независимо от того, прошло ПО проверку или нет.

Плохие тест-кейсы приводят к:

  • Непоследовательным результатам — разные тестировщики по-разному интерпретируют шаги
  • Потере времени — тестировщики разбираются в смысле кейса вместо тестирования
  • Ложной уверенности — размытые ожидаемые результаты позволяют ошибочно помечать тесты как «пройденные»
  • Бремени поддержки — неясные кейсы сложнее обновлять при изменении требований

Анатомия тест-кейса

Каждый тест-кейс должен содержать следующие элементы:

ID тест-кейса

Уникальный идентификатор для отслеживания и ссылок.

Примеры: TC-LOGIN-001, TC-CART-015, AUTH-TC-003

Заголовок

Краткое, но описательное предложение, объясняющее, что именно проверяет тест.

Плохие заголовки:

  • «Тест логина» — слишком размыто
  • «Логин» — не предложение
  • «Проверить, что функциональность логина работает корректно» — слишком общий

Хорошие заголовки:

  • «Проверить, что пользователь с валидным email и паролем перенаправляется на дашборд после входа»
  • «Проверить, что вход завершается с ошибкой при неверном пароле»
  • «Проверить, что аккаунт блокируется после 5 неудачных попыток входа»

Шаблон: Проверить, что [актор] [действие] [ожидаемый результат] при [условии]

Предусловия

Укажите всё, что должно быть истинным до начала теста.

Примеры:

  • Учётная запись существует с email test@example.com и паролем ValidPass123!
  • Пользователь на странице входа (/login)
  • Пользователь не авторизован
  • В базе данных есть минимум 3 товара в категории «Электроника»

Шаги теста

Пронумерованные атомарные действия тестировщика. Каждый шаг — одно действие.

Плохие шаги:

1. Зайти на сайт и залогиниться с валидными данными и перейти в настройки

Хорошие шаги:

1. Перейти на https://app.example.com/login
2. Ввести "test@example.com" в поле Email
3. Ввести "ValidPass123!" в поле Password
4. Нажать кнопку "Sign In"

Ожидаемые результаты

Что должно произойти после каждого шага или группы шагов. Будьте конкретны и измеримы.

Плохой ожидаемый результат:

  • «Логин работает корректно»

Хорошие ожидаемые результаты:

  • «Пользователь перенаправлен на /dashboard»
  • «Отображается приветствие: ‘Hello, John!’»
  • «Создана сессионная cookie с временем жизни 30 минут»

Приоритет

Классификация важности: Critical, High, Medium, Low.

Тестовые данные

Конкретные значения, используемые в тесте. Указывайте их явно.

Критерии качества

Используйте чек-лист ATOMIC:

  • Accurate — Тестирует именно то, что заявлено
  • Traceable — Привязан к требованию, user story или багу
  • One focus — Тестирует одно конкретное поведение
  • Measurable — Ожидаемые результаты объективно проверяемы
  • Independent — Не зависит от других тест-кейсов
  • Complete — Все необходимые шаги и данные включены

Хорошие vs плохие тест-кейсы

Плохой тест-кейс:

Заголовок: Тест корзины покупок
Шаги:
1. Добавить товары в корзину
2. Проверить корзину
Ожидаемый результат: Корзина работает правильно

Хороший тест-кейс:

Заголовок: Проверить, что при добавлении товара в пустую корзину счётчик показывает 1
Предусловия:
- Пользователь авторизован
- Корзина пуста
- Товар "Wireless Mouse" (SKU: WM-001, Цена: $29.99) существует
Шаги:
1. Перейти на страницу товара "Wireless Mouse" (SKU: WM-001)
2. Нажать кнопку "Add to Cart"
3. Посмотреть на иконку корзины в шапке
Ожидаемые результаты:
1. Страница товара загружается с корректными данными
2. Появляется всплывающее уведомление: "Wireless Mouse added to cart"
3. На иконке корзины отображается бейдж с числом "1"

Упражнение: Перепишите плохие тест-кейсы

Перепишите следующие тест-кейсы, чтобы они соответствовали критериям качества ATOMIC.

Плохой тест-кейс 1:

Заголовок: Тест сброса пароля
Шаги: Сбросить пароль
Ожидаемый результат: Должно работать

Плохой тест-кейс 2:

Заголовок: Проверить поиск
Шаги:
1. Поискать что-нибудь
2. Посмотреть результаты
Ожидаемый результат: Результаты должны быть правильными
Решение

Переписанный тест-кейс 1:

Заголовок: Проверить, что пользователь получает email для сброса пароля в течение 60 секунд после запроса
Предусловия:
- Учётная запись существует с email test@example.com
- Пользователь на странице входа
- Почтовый ящик test@example.com доступен
Шаги:
1. Нажать ссылку "Forgot Password?" на странице входа
2. Ввести "test@example.com" в поле email
3. Нажать кнопку "Send Reset Link"
4. Проверить почтовый ящик test@example.com
Ожидаемые результаты:
1. Открывается страница восстановления пароля с полем email
2. Email-адрес принят (нет ошибки валидации)
3. Сообщение об успехе: "Reset link sent to your email"
4. Письмо от "noreply@app.com" получено с темой "Password Reset Request" в течение 60 секунд. Содержит уникальную ссылку для сброса.

Переписанный тест-кейс 2:

Заголовок: Проверить, что поиск по названию существующего товара возвращает результаты, отсортированные по релевантности
Предусловия:
- В БД есть товары: "Wireless Mouse", "Wireless Keyboard", "Wired Mouse"
- Пользователь на главной странице
Шаги:
1. Нажать на строку поиска в шапке
2. Ввести "wireless mouse" в поле поиска
3. Нажать Enter или кликнуть на иконку поиска
Ожидаемые результаты:
1. Строка поиска в фокусе и готова к вводу
2. Появляется выпадающий список с подходящими товарами
3. Страница результатов показывает "Wireless Mouse" первым, "Wireless Keyboard" вторым, счётчик "2 results"

Типичные ошибки

Ошибка 1: Составные шаги. «Залогиниться и перейти в настройки и сменить пароль» — должно быть три отдельных шага.

Ошибка 2: Предполагаемые знания. Никогда не предполагайте, что тестировщик знает, где находятся кнопки или как выглядят валидные данные.

Ошибка 3: Отсутствие негативного пути. Всегда учитывайте: что если пользователь вводит неверные данные?

Ошибка 4: Размытые ожидаемые результаты. «Страница загружается корректно» не тестируемо. Укажите конкретные элементы, текст, поведение.

Ошибка 5: Не указаны тестовые данные. «Ввести валидный email» — неоднозначно. Напишите конкретный email: test@example.com.

Ключевые выводы

  • Каждый тест-кейс содержит: ID, чёткий заголовок, предусловия, пронумерованные шаги, конкретные ожидаемые результаты
  • Следуйте чек-листу ATOMIC: Accurate, Traceable, One focus, Measurable, Independent, Complete
  • Пишите пошаговые атомарные действия — одно действие на шаг
  • Ожидаемые результаты должны быть конкретными и объективно проверяемыми
  • Указывайте явные тестовые данные вместо «валидные данные»
  • Независимые тест-кейсы могут выполняться в любом порядке без зависимостей