Текстовые поля
Что проверять?
- Позитивные кейсы: Ввод валидных данных (кириллица, латиница, цифры).
- Негативные кейсы: Ввод спецсимволов (
' " / \ & < >
), 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 февраля.
Капча
Что проверять?
- Основной сценарий: Проверка работы при верном и неверном вводе.
- Регистр: Проверить, важен ли регистр символов.
- Обновление: Корректная работа кнопки "обновить картинку".
- Доступность: Наличие альтернативы для слабовидящих (аудио-капча).
Динамические элементы
Представьте, что при выборе опции в списке ниже, здесь появляется новая форма.
Что проверять?
- Слайдеры: Точность и чувствительность, корректное поведение на крайних значениях.
- AJAX-обновления: Проверка обновления содержимого страницы без перезагрузки (например, при фильтрации товаров).
- Зависимые поля: Корректное поведение зависимых полей (например, список городов меняется после выбора страны).
Многостраничные формы
Шаг 2 из 3
Что проверять?
- Сохранение данных: Введенные данные сохраняются при переходе между шагами (вперед и назад).
- Потеря данных: Данные не теряются при перезагрузке страницы на одном из шагов (если это требуется).
- Валидация: Валидация полей срабатывает на каждом шаге перед переходом к следующему.
- Навигация: Корректная работа кнопок "Далее" и "Назад".