Почему качество тест-кейсов важно
Тест-кейс хорош ровно настолько, насколько его может выполнить другой человек. Если коллега не может следовать вашему тест-кейсу и получить тот же результат, тест-кейс провалил свою задачу — независимо от того, прошло ПО проверку или нет.
Плохие тест-кейсы приводят к:
- Непоследовательным результатам — разные тестировщики по-разному интерпретируют шаги
- Потере времени — тестировщики разбираются в смысле кейса вместо тестирования
- Ложной уверенности — размытые ожидаемые результаты позволяют ошибочно помечать тесты как «пройденные»
- Бремени поддержки — неясные кейсы сложнее обновлять при изменении требований
Анатомия тест-кейса
Каждый тест-кейс должен содержать следующие элементы:
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
- Пишите пошаговые атомарные действия — одно действие на шаг
- Ожидаемые результаты должны быть конкретными и объективно проверяемыми
- Указывайте явные тестовые данные вместо «валидные данные»
- Независимые тест-кейсы могут выполняться в любом порядке без зависимостей