Как тестируешь форму с обязательными и необязательными полями?

«Как тестируешь форму с обязательными и необязательными полями?» — вопрос из категории Техники тест-дизайна, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тестирование таких форм строится на проверке валидации и поведения системы при различных комбинациях заполнения.

1. Стратегия тестирования:

  • Обязательные поля: Проверяю, что система корректно требует их заполнения.
  • Необязательные поля: Проверяю, что система корректно их обрабатывает как при наличии значения, так и при его отсутствии.
  • Комбинации: Тестирую отправку формы с разными наборами заполненных/пустых необязательных полей.

2. Конкретные тест-кейсы:

A. Для обязательного поля (например, 'Email'):

  1. Отправка формы с пустым обязательным полем → Должна появиться ошибка (например, 'Поле обязательно для заполнения').
  2. Отправка формы с валидным значением в обязательном поле → Форма должна отправиться успешно.
  3. Отправка формы с невалидным значением (например, user@) → Должна появиться ошибка формата.

B. Для необязательного поля (например, 'Телефон'):

  1. Отправка формы с пустым необязательным полем → Форма должна отправиться успешно, в БД должно сохраниться NULL или пустая строка.
  2. Отправка формы с валидным значением в необязательном поле → Форма должна отправиться успешно, значение должно корректно сохраниться.
  3. Отправка формы с невалидным значением в необязательном поле (если для него определена валидация) → Должна появиться ошибка.

C. Комбинации полей: Проверяю, что валидация одного поля не ломает поведение другого. Например, ошибка в обязательном поле не должна 'сбрасывать' корректно введенные данные в необязательных полях при перезагрузке страницы.

3. Пример набора тестовых данных для формы регистрации:

  • Обязательные: Имя, Фамилия, Email.
  • Необязательные: Телефон, Компания.
Тест Имя Фамилия Email Телефон Компания Ожидаемый результат
1 + + + (пусто) (пусто) Успех
2 (пусто) + + + + Ошибка для 'Имя'
3 + + invalid + (пусто) Ошибка для 'Email'
4 + + + abc + Ошибка для 'Телефон' (если есть валидация)

4. Дополнительные проверки:

  • Визуальное выделение полей с ошибками.
  • Понятность и точность текстов ошибок.
  • Сохранение введенных данных при ошибке валидации (чтобы пользователь не вводил все заново).