Тестовые сценарии оформления адреса нужны, чтобы форма одинаково уверенно работала и на данных из соседней страны, и на адресе, который пользователь вставил из буфера. Одна и та же форма собирает адреса для десятков стран, а значит проверять её на единственном примере бессмысленно. Ниже — набор ситуаций, которые стоит пройти до выпуска, и то, как они влияют на устройство полей.
Какие сценарии нужны в первую очередь
Начинать стоит с самого простого: все обязательные поля заполнены, ничего лишнего. Такой прогон подтверждает, что базовый путь вообще работает.
Дальше — пустая форма. Проверяется не только появление сообщений об ошибках, но и то, что они понятны и не собираются все сразу в одну строку.
Затем — частично заполненная форма: обязательные поля пусты, а необязательные заполнены. Хороший результат — отказ по обязательным полям без потери уже введённого.
И последний базовый сценарий — предельно длинное значение в каждом поле. Он показывает, обрезается ли текст в интерфейсе и не разъезжается ли вёрстка.
Что происходит при смене страны?
Смена страны — самый богатый на ошибки сценарий, потому что от неё зависит состав полей. В одной стране регион обязателен, в другой его не спрашивают вовсе, а индекс может быть как обязательным, так и необязательным.
Правильное поведение: при смене страны набор полей перестраивается, но уже введённые значения не исчезают молча. Пользователь должен видеть, что именно изменилось.
Отдельно проверяются крайние переходы: из страны без индекса в страну с обязательным индексом и обратно. В первом случае форма должна потребовать индекс, во втором — не мешать оформить заказ без него.
Почему стоит проверять вставку и автозаполнение?
Значительная часть пользователей не набирает адрес, а вставляет его целиком одной строкой из другого источника. Этот путь отличается от посимвольного ввода и часто ломается отдельно.
Проверить стоит три вещи: разбирается ли вставленная строка на поля, не теряется ли часть данных при разборе и что происходит, если формат строки незнаком. Даже если автоматический разбор не предусмотрен, форма не должна превращать вставленный текст в мусор.
Автозаполнение браузера — родственный случай. Оно подставляет значения целыми группами, и полезно убедиться, что поля не перепутаны и что подставленные данные не конфликтуют с уже выбранной страной.
Отдельно стоит проверить предел длины. Адрес редко влезает в одну короткую строку, и форма должна либо разбивать его на поля, либо позволять перенос. Если значение обрезается при сохранении, ошибка обнаружится позже — при выгрузке или печати, и найти её будет заметно труднее.
Чем отличается доставочный адрес от платёжного
В заказе адресов обычно два, и путать их нельзя. Доставочный описывает, куда привезти заказ; платёжный — тот, который проверяет платёжная система.
Сценарий «совпадает с доставочным» экономит время, но проверять его нужно внимательнее обычного. Типичные ошибки: отметка остаётся включённой после изменения основного адреса, а вторая форма при этом сохраняет старое значение.
Отдельный случай — платёжный адрес в другой стране. Он допустим, и форма не должна считать это ошибкой.
| Сценарий | Что проверяем |
|---|---|
| Полностью заполненная форма | базовый путь |
| Смена страны | перестройку состава полей |
| Вставка одной строкой | разбор и потерю данных |
| Копирование доставочного адреса | синхронизацию двух форм |
Как прогнать эти сценарии на нашем генераторе
Генератор фальшивых адресов даёт сколько угодно разных адресов, поэтому один и тот же сценарий можно повторить с данными десятка стран, не выдумывая их вручную. Как устроен адрес конкретной страны, видно в разборе американского адреса, а правила проверки значений — в статье про проверку и нормализацию.
Адреса из генератора вымышлены. Они годятся только для проверки программ и не могут быть использованы для доставки или как подтверждение места жительства.
Как проверять подсказки и подстановку адреса
Современные формы редко заставляют вводить адрес целиком вручную: как только человек начинает печатать, появляются подсказки. Механизм удобный, но он добавляет сценариев, которые нужно пройти отдельно.
Первый: выбор подсказки. Он подставляет сразу несколько полей, и стоит убедиться, что заполненное не конфликтует с тем, что человек ввёл раньше, и что поля, которых в подсказке нет, не стираются молча.
Второй: отказ от подсказки. Часть адресов в справочник не попадает, и человек должен иметь возможность ввести свой вариант вручную. Если форма требует выбрать значение из списка, некоторые корректные адреса ввести просто невозможно.
Третий: недоступность сервиса подсказок. Проверьте, что происходит, когда внешний источник не отвечает: форма не должна блокировать ввод или терять уже набранное. Часто именно этот случай ломает оформление сильнее всего, потому что зависает запрос, а сообщение об ошибке так и не появляется.
Четвёртый: лишние подстановки. Автозаполнение браузера может решить, что поле города — это поле имени, и подставить туда значение из профиля. Такое поведение стоит проверять в обычных браузерах, а не только в тестовом окружении.
Проверять подсказки стоит и на медленном соединении: список, который приходит с задержкой, нередко перекрывает уже введённые значения или мешает нажать кнопку подтверждения.
Что важно разработчику
Первое: держите матрицу сценариев рядом с формой. Обычно достаточно таблицы из двух десятков строк, где по горизонтали страны, а по вертикали ситуации.
Второе: проверяйте не только отказ, но и текст сообщения. Строка «ошибка» на все случаи жизни заставляет пользователя угадывать, что именно не так.
Третье: помните о мобильной клавиатуре. Почтовый индекс удобнее вводить цифрами, название улицы — обычной раскладкой, и подстановка неподходящего типа клавиатуры раздражает сильнее, чем кажется.
Четвёртое: думайте о доступности. Подписи, связанные с полями, понятный порядок обхода и сообщения, которые нормально читаются вслух, важны не меньше, чем логика проверок. Готовые примеры данных для таких прогонов удобно держать в отдельном наборе.
Ещё один сценарий, который легко пропустить, — возврат к форме после ошибки. Человек исправляет одно поле, отправляет форму снова и получает отказ по другому поводу, причём уже введённые данные теряются. Проверить это просто: заполните форму с заведомо неверным индексом и посмотрите, сохранится ли остальное после отправки.
Полезно пройти и самый скучный случай — повторную отправку. Двойной щелчок по кнопке не должен создавать два заказа, а форма не должна отправляться, пока предыдущая попытка не завершилась.
Отдельно проверьте названия полей. Подпись «Штат» в форме для страны, где такого деления нет, сбивает человека сильнее, чем неверный порядок строк, потому что он не понимает, что от него хотят. Нейтральная подпись работает в любой стране, а конкретная подсказка появляется только там, где она уместна. Заодно убедитесь, что подписи не превращаются на узких экранах в нечитаемые обрывки и что обязательные поля отмечены одинаково для всех стран.
Что делать дальше
Возьмите адрес из генератора, заполните форму, а затем поменяйте страну на ту, где индекс необязателен или отсутствует. Посмотрите, сохранится ли введённое и как изменится подсказка: этот один переход находит больше дефектов, чем десяток прогонов с полностью правильными данными.