Если ты разработчик или тестировщик и делаешь продукт для американского рынка, рано или поздно понадобится пачка адресов США: проверить форму оформления заказа, наполнить тестовую базу, сделать скриншот для документации. Американский адрес устроен иначе, чем российский: сначала номер дома, потом улица, в конце город, штат и пятизначный ZIP-код вместо нашего шестизначного индекса. ZIP может начинаться с нуля, а у города в названии бывает пробел. Генератор адресов США выдаёт до 50 таких адресов за раз, с настоящими городами и префиксами ZIP. Проверку адреса, оплату и доставку они не пройдут — и не должны.
Что такое генератор фиктивных адресов?
Генератор фиктивных адресов придумывает адреса, которые выглядят настоящими, но не взяты ни с чьего почтового ящика. Этот делает адреса США: номер дома, улицу, необязательную строку с квартирой или офисом, настоящий город США, его штат и ZIP-код, который начинается так же, как настоящие ZIP-коды в этом штате.
Выбираешь, сколько адресов нужно (от 1 до 50), выбираешь формат и нажимаешь «Сгенерировать». У каждого адреса своя кнопка копирования, а «Скопировать всё» забирает всю пачку. Всё происходит в браузере. Ничего не ищется в базах, не загружается и не сохраняется.
Смысл — тестовые данные, которые ведут себя как настоящие. Форма, которая видела только «123 Test St», никогда не встречала ZIP с ведущим нулём, город с пробелом в названии или адрес со второй строкой. В пачке из этого генератора есть все три случая.
Из чего собираются адреса
Каждый адрес складывается из пяти случайных выборов. Вот что именно входит в каждую часть:
| Часть | Откуда берётся | Пример |
|---|---|---|
| Номер дома | Случайное целое число от 100 до 9998 | 4518 |
| Название улицы | Одно из 29 распространённых в США названий улиц: Main, Oak, Maple, Washington, Lincoln, Sunset, Willow и другие | Willow |
| Тип улицы | Одно из 10 стандартных сокращений: St, Ave, Rd, Blvd, Dr, Ln, Ct, Way, Pl, Ter | Ln |
| Строка 2 (необязательная) | Apt, Unit, Suite или # плюс число от 1 до 999 — примерно у 40% адресов, если галочка включена | Apt 212 |
| Город, штат, ZIP | Один из 20 настоящих городов в 19 штатах, с ZIP-кодом, который начинается с настоящего трёхзначного префикса этого района и заканчивается двумя случайными цифрами | Tacoma, WA 98431 |
Города — от побережья до побережья: Brooklyn, NY; Cambridge, MA; Burlington, VT; Asheville, NC; Charleston, SC; Savannah, GA; New Orleans, LA; Springfield, IL; Madison, WI; Minneapolis, MN; Austin, TX; Boulder, CO; Albuquerque, NM; Tucson, AZ; Salt Lake City, UT; Boise, ID; Tacoma, WA; Portland и Eugene, OR; Berkeley, CA.
Префиксы ZIP — настоящие для этих мест. ZIP-коды Боулдера начинаются с 803, Бруклина — с 112, Остина — с 787. Кембридж (Массачусетс) получает 021, а Берлингтон (Вермонт) — 054, так что встретятся и ZIP-коды с ведущим нулём. Это классический источник багов: таблица или числовая колонка в базе данных превращает 02139 в 2139.
Всего получается больше 5,7 миллиарда возможных сочетаний улицы и ZIP-кода — без учёта второй строки, так что повторы в пачке из 50 адресов очень маловероятны.
Три формата вывода
Один и тот же адрес можно получить в трёх видах. Вот один адрес в каждом:
| Формат | Результат | Для чего |
|---|---|---|
| Многострочный (адресная этикетка) | 4518 Willow LnApt 212Tacoma, WA 98431 | Печать этикеток, блоки адреса в интерфейсе, скриншоты |
| Одна строка | 4518 Willow Ln Apt 212, Tacoma, WA 98431 | Поля адреса в одну строку, поисковые поля, тесты автодополнения |
| Через запятую | 4518 Willow Ln, Apt 212, Tacoma, WA 98431 | Вставка в таблицу или импорт с разбиением текста по столбцам |
«Скопировать всё» ставит пустую строку между многострочными адресами, а в двух других форматах — по одному адресу на строку.
Импортируешь в таблицу? Используй формат «Через запятую» и разбей текст по запятым. Две вещи, которые стоит знать: штат и ZIP попадут в одну колонку («WA 98431»), так что эту колонку нужно ещё раз разбить по пробелу. А у адресов со строкой 2 на одну колонку больше, чем у адресов без неё, — либо сними галочку строки 2, чтобы получить ровную сетку, либо отсортируй строки потом. Заранее сделай колонку ZIP текстовой, иначе ведущие нули пропадут.
Для чего годятся фиктивные адреса
Тестирование форм. Прогони пачку через форму регистрации или оформления заказа, чтобы проверить валидацию, разбор и сохранение. Принимает ли поле ZIP ведущий ноль? Влезает ли «Salt Lake City» в поле города? Сохраняется ли вторая строка адреса или исчезает на экране подтверждения?
Наполнение базы для разработки. Пятьдесят правдоподобных клиентов делают демо и исследовательское тестирование живыми. Данные реальной формы находят баги реальной формы — например, колонку таблицы, которая криво переносится, когда в названии города три слова.
Скриншоты, макеты и документация. Список клиентов на скриншоте продукта не должен показывать чей-то настоящий дом. Сгенерированные адреса не нужно размывать и не нужно ни у кого спрашивать разрешения.
Чтобы реальные данные не попадали в тестовые системы. Копировать настоящие записи клиентов в тестовую среду — риск для приватности, а во многих странах и юридический. Синтетические адреса снимают вопрос.
Полный тестовый профиль. Этот инструмент делает только адрес. Добавь генератор случайных имён, генератор случайных телефонных номеров и генератор UUID для ID клиентов — и у тебя полноценный фиктивный клиент для QA.
Для чего фиктивные адреса не годятся
Для всего, что проверяет адрес. Сервисы проверки адресов сверяются с официальным списком адресов Почтовой службы США (USPS). Сгенерированные адреса взяты не из этого списка, так что проверку они не пройдут. Это значит, что проверка работает, а не что сломался генератор.
Для тестирования платежей. При оплате картой адрес плательщика сверяется с данными карты. Придуманный адрес не совпадёт с настоящей картой. У платёжных песочниц есть собственные тестовые карты и адреса для каждого сценария — используй их.
Для отправки посылок. Посылка на сгенерированный адрес вернётся обратно или попадёт к незнакомому человеку, если такая улица вдруг существует.
Для обмана. Придумывать тестовые данные — обычная работа в разработке. Вписать выдуманный адрес в госанкету, заявку на кредит или куда-то ещё, чтобы кого-то ввести в заблуждение, — совсем другое, и это может быть мошенничеством. Этот инструмент — для первого.
Частые проблемы и как их решить
«Я сгенерировал один и тот же адрес дважды». Каждое нажатие создаёт новую пачку, и между нажатиями ничего не сохраняется. Если нужны одни и те же адреса в каждом прогоне тестов, сгенерируй один раз и вставь их в файл фикстур.
«Валидатор отклонил ZIP». Проверку формата (пять цифр) пройдёт любой. Проверку по настоящему списку ZIP-кодов — не обязательно, потому что последние две цифры случайные. Одни попадают в настоящие ZIP-коды, другие нет. Если тесту нужен ZIP, который действительно существует, генератор случайных ZIP-кодов выбирает настоящие, вместе с городом и штатом, к которым они относятся.
«Это настоящее место?» Города и штаты настоящие, а названия улиц настолько распространённые, что подходящая улица вполне может где-то существовать. Но номер, улица и ZIP собраны случайно, а не скопированы с настоящего адреса. Если какой-то совпадёт с реальным домом, это случайность.
«Мне нужны адреса в одном штате». Генератор выбирает случайно из всех 20 городов, фильтра по штату нет. Сгенерируй пачку из 50 и оставь нужные, или воспользуйся генератором случайных ZIP-кодов, если нужен только настоящий ZIP.
Частые вопросы
Сколько фиктивных адресов можно сделать за раз?
До 50 за одно нажатие. Нажми «Сгенерировать» ещё раз — получишь ещё 50. Дневного лимита нет, аккаунт не нужен.
Можно получить адреса не из США?
Нет. Генератор делает только адреса США. В других странах адреса и почтовые индексы устроены иначе, так что американский адрес не проверит как следует поле для британского почтового кода, немецкого PLZ или российского шестизначного индекса.
Там есть имя или номер телефона?
Нет, только адрес. Для полного тестового профиля сочетай его с генератором случайных имён и генератором случайных телефонных номеров.
Можно скачать адреса в CSV или JSON?
Файлом — нет. Нажми «Скопировать всё» в формате «Через запятую», вставь в таблицу и сохрани как CSV. Для JSON вставь CSV в конвертер CSV в JSON — предварительно разбив штат и ZIP на отдельные колонки.
Что значат St, Ave, Blvd и Ter?
Street (улица), Avenue (авеню, проспект), Boulevard (бульвар) и Terrace (терраса). Остальные — Road (Rd, дорога), Drive (Dr, проезд), Lane (Ln, переулок), Court (Ct, тупик или дворик), Way (путь) и Place (Pl, площадь, небольшая улица). Это стандартные сокращения Почтовой службы США, поэтому генератор пишет их коротко.
Почему в строке 2 иногда стоит «#», а не «Apt»?
Потому что так бывает и в настоящих адресах. «# 15» — распространённый способ записать номер помещения, и это хорошая проверка для форм, которые спотыкаются о символы.