Тестирование полей и форм

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

  • Начальный уровень представляет из себя простые позитивные и негативные кейсы (в основном на валидацию):

    • Обязательные поля отмечены *

    • Обязательные поля заполнены/нет

    • Галочки на соглашениях проставлены/нет

    • Поле password и подтверждение имеет соответствующий тип (в полях формы прописан корректный атрибут TYPE, сообщающий браузеру тип элементов формы.)

    • Проверяется, что пароли одинаковы

    • Имя пользователя валидируется как минимум на длину и спец. символы, остальное по ТЗ

    • Адрес почты валидируется в соответствии со стандартом (наличие символа @, несколько символов @, длины частей до и после @, допустимые символы до и после, наличие пробелов перед адресом и после, корректная доменная часть и т.п.)

    • Поля с ожидаемым числовым вводом и текстовым соответственно проверить позитивными и негативными кейсами по типам данных

  • Следующий уровень:

    • Все из предыдущего

    • Кроссбраузерность

    • Понятность формы. Присутствует описание полей или плейсхолдеры

    • Сенситив данные не должны передаваться в URL

    • Проверяем, как форма отображается до сабмита и после

    • Поведение, если нажать сабмит несколько раз подряд

    • Если формы очищаются после сабмита, проверить регистрацию существующего пользователя

    • Проверка глобализации - номер телефона, дата, почтовый индекс, валюта, вертикальное или RTL письмо и т.п. (опционально)

    • Проверка простых инъекций

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

    • Для полей, предполагающих загрузку файлов, прописан атрибут accept, определяющий тип загружаемых документов

    • Текстовое многострочное поле при вводе объемного сообщения изменяет высоту либо в правой части появляется скроллбар для просмотра всего содержимого

    • Для авторизованного пользователя в поля формы автоматически подставляются все известные о посетителе данные.

    • Форма сохраняется в веб-формах (админ-панели) или SQL-таблицах.

    • Прописан реальный e-mail лица, отвечающего за обработку заявок (если предполагается ОС)

    • Опционально. Пользователь получает уведомление на свой e-mail об успешно полученной заявке и последующих действиях, которые от него требуются.

    • Прописан атрибут autocomplete для полей, поддерживающих это значение

  • Extra:

    • Проверяем, отправились ли данные после сабмита

    • Проверяем, добавились ли соответствующие записи в бд

    • Проверка загрузки формы и сабмита при медленном/нестабильном интернет-соединении

    • Корректность cookies/токена и т.п. после сабмита

Доп. материал:

Last updated