Элементы веб-интерфейсов

Элементы веб-интерфейсов

Введение

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

Поля ввода (Input Fields)

Поле ввода — один из самых распространённых и уязвимых элементов.

Что проверятьПример теста
Валидный вводВвести корректное значение, убедиться, что принято
Невалидный вводБуквы в числовом поле, неверный формат email
Максимальная длинаВвести 1000 символов в поле с max=255
Минимальная длинаВвести 1 символ в поле с min=8
Пустое поле (required)Отправить форму без заполнения обязательного поля
Пробелы" " (только пробелы) — принимает как заполненное?
Спецсимволы<script>, ' OR 1=1, emoji
PlaceholderТекст-подсказка исчезает при вводе?

Кнопки (Buttons)

Что проверятьПочему важно
Enabled/Disabled состояниеКнопка Submit заблокирована до заполнения формы?
Loading stateПосле клика кнопка показывает загрузку?
Двойной кликНе создаёт два одинаковых запроса?
Клик на неактивную кнопкуDisabled кнопка не реагирует на клик?
Внешний вид при hover/focusЕсть визуальная обратная связь?

Типичный баг: двойной быстрый клик на кнопку "Оформить заказ" создаёт два заказа.

Выпадающие списки (Dropdowns/Selects)

Что проверятьСценарий
Все опции видныОткрыть список, проверить полноту
Значение по умолчаниюПравильный дефолт при загрузке?
Скролл внутри спискаДлинный список прокручивается?
Выбор значенияВыбранное значение применяется?
Поиск/фильтрЕсли есть поиск — проверь нечёткий поиск, регистр

Чекбоксы и радиокнопки

ЭлементЧто проверять
ЧекбоксСостояние по умолчанию; включить/выключить; группа независимых
РадиокнопкаТолько одна активна в группе; переключение между вариантами
ОбаСостояние сохраняется после submit; значение отправляется на сервер

Типичный баг: чекбокс "Согласен с условиями" не обязателен — форма отправляется без его отметки.

Модальные окна (Modals/Dialogs)

Что проверятьДетали
ОткрытиеПо клику на кнопку открывается?
Закрытие (кнопка X)Закрывается при клике на крестик
Закрытие по backdropКлик вне модала закрывает его? (зависит от требований)
Закрытие по ESCНажатие Escape закрывает модал?
Скролл страницыСтраница не скроллится пока открыт модал?
Стек модаловЧто если открыть модал внутри модала?

Таблицы (Tables)

ФункцияЧто проверять
СортировкаСортировка по каждому столбцу; обратная сортировка
ФильтрацияПравильные результаты; пустой результат
ПагинацияПереходы между страницами; последняя страница
Пустое состояниеНет данных — есть сообщение "Нет результатов"?
Длинные значенияДлинный текст в ячейке не ломает layout?

Формы (Forms)

Форма — набор элементов ввода плюс кнопка submit. Чеклист тестирования:

  1. Happy path: заполнить все поля корректно → успешная отправка
  2. Пустая форма: нажать Submit → сообщения об ошибках на всех обязательных полях
  3. По одному полю пустым: поочерёдно оставлять каждое поле пустым
  4. Сообщения об ошибках: понятны ли они пользователю? Рядом с нужным полем?
  5. Успешный результат: после отправки — что показывается? Success-сообщение? Редирект?
  6. Сброс формы: кнопка "Очистить" или "Отмена" — работает корректно?

Доступность (Accessibility)

Что проверятьКак
Навигация с клавиатурыTab — переход между полями, Enter — submit
Порядок фокусаЛогичный порядок обхода элементов по Tab
ARIA-меткиСкринридеры видят кнопки с описанием (aria-label)
КонтрастностьТекст читаем на фоне

Адаптивный дизайн

Размер экранаЧто проверять
Desktop (1280px+)Полная версия
Tablet (768-1024px)Адаптированный layout
Mobile (320-767px)Элементы не перекрываются, кнопки касаемые

Частые ошибки понимания

  • ❌ "Проверил happy path — форма работает" → обязательно проверяй граничные случаи и невалидный ввод
  • ❌ "Disabled кнопка не проблема" → убедись, что пользователь понимает, почему кнопка неактивна
  • ❌ "Модал закрывается — значит всё ок" → проверь все три способа закрытия (X, backdrop, ESC)

Что мы запомним

  • Каждый тип UI-элемента имеет специфические сценарии тестирования
  • Поля ввода: проверяй валидный, невалидный, пустой ввод, граничные значения и спецсимволы
  • Кнопки: двойной клик, loading state, disabled состояние
  • Формы: happy path + каждое поле пустым + сообщения об ошибках
  • Таблицы: сортировка, фильтрация, пагинация, пустое состояние
  • Всегда проверяй keyboard-навигацию и адаптивность на мобильном экране

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике