🤖 Академия QA-автоматизации
← Основы QA-автоматизации: курс для начинающих
Этап 3. Составление тест-кейсов и баг-репортов

Практика: составляем тест-кейсы для формы регистрации на сайте


Зачем это нужно?

Представьте, что вы работаете контролёром качества на кондитерской фабрике. Перед тем как проверить, правильно ли упакованы конфеты, вы составляете чёткий список шагов: открыть коробку, посчитать конфеты, проверить этикетку, понюхать содержимое. Без такого списка каждый контролёр будет проверять по-своему, и что-нибудь обязательно упустят.

В тестировании программ точно так же. Тест-кейс — это подробная инструкция: что именно проверять, как именно это делать и какой результат считать правильным. Без тест-кейсов тестировщик действует наугад, и важные ошибки легко пропустить.

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


Теория: из чего состоит тест-кейс?

Что такое форма регистрации?

Форма регистрации — это набор полей на сайте, которые новый пользователь заполняет, чтобы создать аккаунт. Обычно там есть поля: «Имя», «Email», «Пароль», «Подтверждение пароля» и кнопка «Зарегистрироваться».

Напомним: что такое тест-кейс?

Если вы читали предыдущие уроки, вы уже знаете: тест-кейс (от англ. test case — «тестовый случай») — это документ, в котором по шагам расписано, как проверить одну конкретную функцию или ситуацию в программе. Он отвечает на три вопроса:

  1. Что я делаю? (шаги проверки)
  2. Что я ожидаю увидеть в итоге? (ожидаемый результат)
  3. Что на самом деле произошло? (фактический результат — заполняется после выполнения)

Стандартные поля тест-кейса

Каждый тест-кейс содержит несколько обязательных частей. Разберём каждую на пальцах.

Поле Что означает Пример
ID Уникальный номер тест-кейса, как инвентарный номер вещи на складе TC-001
Название Короткое описание того, что проверяем «Успешная регистрация с корректными данными»
Предусловие Что должно быть готово ДО начала теста «Пользователь открыл страницу регистрации»
Шаги Пронумерованные действия, которые нужно выполнить 1. Ввести имя. 2. Ввести email. …
Ожидаемый результат Что должно произойти, если программа работает правильно «Появляется сообщение "Регистрация успешна"»
Фактический результат Что произошло на самом деле (заполняется при выполнении) «Появилось сообщение об ошибке»
Статус Прошёл тест или нет PASS / FAIL
Приоритет Насколько важна эта проверка Высокий / Средний / Низкий

💡 Совет для начинающих: не пытайтесь запомнить все поля сразу. Сначала освойте три главных: шаги, ожидаемый результат и фактический результат. Остальное придёт с практикой.


Какие ситуации нужно проверить?

Опытные тестировщики делят все проверки на два больших класса:

1. Позитивные тест-кейсы — проверяем, что программа работает правильно, когда пользователь делает всё верно.

  • Пример: пользователь вводит корректный email и надёжный пароль — должна произойти успешная регистрация.

2. Негативные тест-кейсы — проверяем, что программа правильно реагирует на ошибки пользователя или нестандартные данные.

  • Пример: пользователь вводит email без символа «@» — должно появиться сообщение об ошибке, а не произойти регистрация.

🔍 Аналогия: позитивный тест — это как проверить, что замок открывается правильным ключом. Негативный тест — проверить, что замок НЕ открывается неправильным ключом, погнутым ключом или вообще ложкой.

Для формы регистрации важно проверить оба типа, потому что в реальности пользователи часто делают ошибки — опечатываются, забывают заполнить поля, вставляют запрещённые символы.


Что именно проверять в форме регистрации?

Давайте разберём типичную форму регистрации по полям:

Поле «Имя»:

  • Заполнено корректно (например, «Анна»)
  • Поле пустое
  • Очень длинное имя (например, 300 символов)
  • Имя содержит цифры или спецсимволы («Ann@123»)

Поле «Email»:

  • Корректный email («[email protected]»)
  • Email без символа «@» («userexample.com»)
  • Email без домена («user@»)
  • Поле пустое
  • Email уже зарегистрирован в системе

Поле «Пароль»:

  • Пароль соответствует требованиям (минимум 8 символов, есть цифры)
  • Пароль слишком короткий («123»)
  • Поле пустое

Поле «Подтверждение пароля»:

  • Совпадает с паролем
  • Не совпадает с паролем
  • Поле пустое

Кнопка «Зарегистрироваться»:

  • Нажатие при всех заполненных корректных полях
  • Нажатие при незаполненных обязательных полях

Это не полный список — в реальных проектах тест-кейсов может быть значительно больше. Но для начала этого достаточно.


Пример: составляем тест-кейсы шаг за шагом

Допустим, мы тестируем форму регистрации на учебном сайте. Форма содержит поля: Имя, Email, Пароль, Подтверждение пароля, и кнопку «Зарегистрироваться».

Составим три тест-кейса: один позитивный и два негативных.


Тест-кейс 1 — Позитивный: успешная регистрация

ID: TC-001
Название: Успешная регистрация с корректными данными
Приоритет: Высокий

Предусловие:
  - Пользователь открыл браузер и перешёл на страницу регистрации.
  - Email "[email protected]" ещё не зарегистрирован в системе.

Шаги:
  1. В поле "Имя" ввести: Мария
  2. В поле "Email" ввести: [email protected]
  3. В поле "Пароль" ввести: SecurePass123
  4. В поле "Подтверждение пароля" ввести: SecurePass123
  5. Нажать кнопку "Зарегистрироваться"

Ожидаемый результат:
  - Страница показывает сообщение "Регистрация прошла успешно!"
  - Пользователь перенаправляется в личный кабинет.
  - На email [email protected] приходит письмо с подтверждением.

Фактический результат: [заполняется при выполнении теста]
Статус: [ ] PASS  [ ] FAIL

Тест-кейс 2 — Негативный: пустое поле Email

ID: TC-002
Название: Попытка регистрации с незаполненным полем Email
Приоритет: Высокий

Предусловие:
  - Пользователь открыл страницу регистрации.

Шаги:
  1. В поле "Имя" ввести: Мария
  2. Поле "Email" оставить пустым (не вводить ничего)
  3. В поле "Пароль" ввести: SecurePass123
  4. В поле "Подтверждение пароля" ввести: SecurePass123
  5. Нажать кнопку "Зарегистрироваться"

Ожидаемый результат:
  - Регистрация НЕ происходит.
  - Рядом с полем "Email" появляется сообщение об ошибке,
    например: "Поле Email обязательно для заполнения".
  - Пользователь остаётся на странице регистрации.

Фактический результат: [заполняется при выполнении теста]
Статус: [ ] PASS  [ ] FAIL

Тест-кейс 3 — Негативный: пароли не совпадают

ID: TC-003
Название: Попытка регистрации, когда пароль и подтверждение пароля не совпадают
Приоритет: Высокий

Предусловие:
  - Пользователь открыл страницу регистрации.

Шаги:
  1. В поле "Имя" ввести: Мария
  2. В поле "Email" ввести: [email protected]
  3. В поле "Пароль" ввести: SecurePass123
  4. В поле "Подтверждение пароля" ввести: WrongPass456
     (намеренно другой пароль)
  5. Нажать кнопку "Зарегистрироваться"

Ожидаемый результат:
  - Регистрация НЕ происходит.
  - Рядом с полем "Подтверждение пароля" появляется сообщение,
    например: "Пароли не совпадают".
  - Поле пароля очищается или подсвечивается красным.
  - Пользователь остаётся на странице регистрации.

Фактический результат: [заполняется при выполнении теста]
Статус: [ ] PASS  [ ] FAIL

Разбор примеров: на что обращать внимание?

Посмотрите на три тест-кейса выше и обратите внимание на несколько важных моментов:

1. Шаги — конкретные и однозначные.
Написано не «ввести данные», а точно — «ввести: Мария». Любой человек, прочитав шаги, выполнит тест одинаково. Это принципиально важно: тест-кейс пишете вы, а выполнять его может ваш коллега или вы сами через полгода.

2. Ожидаемый результат описывает не только успех, но и поведение системы при ошибке.
В негативных тест-кейсах важно описать, что именно должно произойти в ответ на неверные данные: какое сообщение появится, останется ли пользователь на странице.

3. Предусловие убирает неопределённость.
В TC-001 мы специально уточнили, что email ещё не зарегистрирован. Без этого тест может не пройти по причине, не связанной с ошибкой в программе.

4. Один тест-кейс — одна ситуация.
Не нужно смешивать «пустой email» и «неверный формат email» в один тест-кейс. Разделяйте — это упростит поиск ошибок.


Типичные ошибки начинающих

Когда вы впервые составляете тест-кейсы, легко допустить несколько распространённых ошибок. Вот они — и как их избежать.


Ошибка 1: Расплывчатые шаги

❌ Плохо:

Шаги:
  1. Заполнить форму.
  2. Нажать кнопку.

✅ Хорошо:

Шаги:
  1. В поле "Email" ввести: [email protected]
  2. Нажать кнопку "Зарегистрироваться".

Ошибка 2: Ожидаемый результат без деталей

❌ Плохо:

Ожидаемый результат: всё работает нормально.

✅ Хорошо:

Ожидаемый результат:
  - Появляется сообщение "Регистрация прошла успешно!"
  - Пользователь перенаправляется на страницу /dashboard

Ошибка 3: Проверка сразу нескольких вещей в одном тест-кейсе

❌ Плохо:

Название: Проверка всех полей формы регистрации

✅ Хорошо:

TC-004: Регистрация с email в неверном формате
TC-005: Регистрация с уже существующим email
TC-006: Регистрация с паролем короче 8 символов

Практика

Выполните следующие задания самостоятельно. Для этого вам не нужно ничего устанавливать — достаточно текстового редактора (например, Блокнот, Google Docs или любой другой).


Задание 1. Составьте тест-кейс для поля «Имя»

Составьте один негативный тест-кейс для поля «Имя» в форме регистрации. Проверьте ситуацию, когда пользователь вводит в поле «Имя» цифры вместо букв (например, «12345»).

Используйте структуру:

  • ID
  • Название
  • Предусловие
  • Шаги
  • Ожидаемый результат

🤔 Подсказка: подумайте, что должна сделать система, если имя состоит только из цифр. Должна ли она разрешить регистрацию? Показать ошибку? Что именно написать в ошибке?


Задание 2. Составьте тест-кейс для уже существующего email

Составьте тест-кейс для ситуации, когда пользователь пытается зарегистрироваться с email-адресом, который уже есть в базе данных сайта.

🤔 Подсказка: обратите внимание на предусловие — вам нужно указать, что этот email уже существует. Откуда взялся этот email? Напишите это в предусловии.


Задание 3. Найдите ошибки в готовом тест-кейсе

Прочитайте тест-кейс ниже и найдите в нём как минимум три ошибки. Запишите их своими словами.

ID: TC-010
Название: Тест формы
Предусловие: —

Шаги:
  1. Открыть сайт.
  2. Что-нибудь ввести.
  3. Нажать кнопку.

Ожидаемый результат: должно сработать.
Статус: PASS

🤔 Подсказка: посмотрите на каждое поле тест-кейса и спросите себя: «Если бы я получил этот документ от коллеги и мне нужно было бы выполнить тест — смог бы я понять, что именно делать?»


Задание 4 (дополнительное, для тех, кто хочет больше)

Придумайте и составьте 5 тест-кейсов для поля «Пароль» в форме регистрации. Условия к паролю такие:

  • минимум 8 символов
  • максимум 20 символов
  • должен содержать хотя бы одну цифру
  • должен содержать хотя бы одну заглавную букву

Постарайтесь охватить и позитивные, и негативные сценарии.

💡 Совет: начните с позитивного (пароль соответствует всем требованиям), а затем нарушайте по одному условию в каждом следующем тест-кейсе.


Итоги урока

  • Тест-кейс — это пошаговая инструкция для проверки одной конкретной ситуации в программе. Он позволяет проводить тесты одинаково, независимо от того, кто их выполняет.

  • Каждый тест-кейс содержит ID, название, предусловие, шаги, ожидаемый и фактический результат, статус и приоритет.

  • Позитивные тест-кейсы проверяют, что программа правильно работает при корректных данных. Негативные — что программа правильно обрабатывает ошибки и неверные данные.

  • Для формы регистрации нужно проверять каждое поле отдельно и каждую ситуацию отдельно: пустое поле, неверный формат, слишком длинное значение, уже существующий email и т.д.

  • Хорошие шаги в тест-кейсе — конкретные и однозначные: пишем точные данные, не «введите что-нибудь», а «введите: [email protected]».

  • Хороший ожидаемый результат — детальный: указываем, какое именно сообщение появится, куда перейдёт пользователь, что изменится на экране.

  • Один тест-кейс = одна ситуация. Не смешивайте несколько проверок в один тест.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.