Тестирование веб-элементов и форм

Интерактивная "песочница" с живыми примерами и чек-листами для тестирования.

Текстовые поля

Что проверять?

  • Позитивные кейсы: Ввод валидных данных (кириллица, латиница, цифры).
  • Негативные кейсы: Ввод спецсимволов (' " / \ & < >), SQL-инъекций (' OR 1=1;--).
  • XSS-уязвимости: Ввод HTML-тегов (<script>alert('XSS')</script>) и CSS для проверки их обработки.
  • Граничные значения: Проверка минимальной и максимальной длины вводимого текста.
  • Пустое значение: Отправка формы с пустым обязательным полем.
  • DevTools: Изучить элемент, проверить атрибуты maxlength, required, pattern.

Email и Пароль

Что проверять?

  • Email: Ввод без @, без домена, с некорректным доменом (test@test.test), с кириллицей.
  • Пароль: Проверка требований к сложности (длина, цифры, спецсимволы, регистр).
  • Конфиденциальность: Проверить, что пароль не передается в открытом виде (вкладка Network в DevTools).
  • Функционал: Работа иконки "показать/скрыть пароль", работа функции восстановления (если есть).

URL-поля

Что проверять?

  • Валидные URL: Ввод корректных URL с http, https, ftp.
  • Невалидные URL: Ввод без протокола (example.com), с неправильным протоколом (htp://), с пробелами или спецсимволами.
  • Международные домены: Ввод URL с кириллическими символами (президент.рф).

Поля для телефона

Что проверять?

  • Форматы: Ввод номеров в разных форматах (+7999..., 8999..., (999)...). Проверить, применяется ли маска ввода.
  • Невалидные значения: Ввод букв, спецсимволов. Ввод неполного или слишком длинного номера.
  • Международные форматы: Проверка ввода номеров с кодами других стран.

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

Что проверять?

  • Чекбоксы: Возможность выбрать несколько, один или ни одного варианта. Корректная работа состояния "по умолчанию".
  • Радио-кнопки: Возможность выбрать только один вариант из группы. Невозможность "снять" выбор (только переключить).
  • Кликабельность: Убедиться, что элемент выбирается при клике как на сам контрол, так и на его название (label).
  • DevTools: Проверить, что у радио-кнопок в одной группе одинаковый атрибут name.

Выпадающие списки

Что проверять?

  • Проверить, что список содержит все ожидаемые значения и в верном порядке.
  • Проверить, что значение по умолчанию выбрано верно.
  • Убедиться, что неактивные (disabled) опции нельзя выбрать.
  • Проверить поведение списка, если в нем очень много элементов (наличие скролла, работа поиска).

Загрузка файлов

Что проверять?

  • Позитивные кейсы: Загрузка файлов с валидным расширением и размером.
  • Негативные кейсы: Попытка загрузить файл с невалидным расширением, слишком большого размера, файл с 0 размером.
  • Названия файлов: Проверить загрузку файлов с длинными именами, спецсимволами, кириллицей в названии.
  • UI: Корректное отображение прогресс-бара, сообщения об успешной/неуспешной загрузке.

Календарь

Что проверять?

  • Выбор даты: Корректный выбор даты через виджет календаря.
  • Ручной ввод: Ввод валидных и невалидных дат вручную (e.g., 32.13.2023).
  • Ограничения: Проверить, что нельзя выбрать недоступные даты (прошедшие, будущие), если есть ограничения (атрибуты min, max).
  • Високосный год: Проверить корректность отображения 29 февраля.

Капча

Пример капчи

Что проверять?

  • Основной сценарий: Проверка работы при верном и неверном вводе.
  • Регистр: Проверить, важен ли регистр символов.
  • Обновление: Корректная работа кнопки "обновить картинку".
  • Доступность: Наличие альтернативы для слабовидящих (аудио-капча).

Динамические элементы

50

Представьте, что при выборе опции в списке ниже, здесь появляется новая форма.

Что проверять?

  • Слайдеры: Точность и чувствительность, корректное поведение на крайних значениях.
  • AJAX-обновления: Проверка обновления содержимого страницы без перезагрузки (например, при фильтрации товаров).
  • Зависимые поля: Корректное поведение зависимых полей (например, список городов меняется после выбора страны).

Многостраничные формы

Шаг 2 из 3

Что проверять?

  • Сохранение данных: Введенные данные сохраняются при переходе между шагами (вперед и назад).
  • Потеря данных: Данные не теряются при перезагрузке страницы на одном из шагов (если это требуется).
  • Валидация: Валидация полей срабатывает на каждом шаге перед переходом к следующему.
  • Навигация: Корректная работа кнопок "Далее" и "Назад".