가짜 주소 생성기는 구조적으로는 올바르게 보이지만 실제 가구, 사업체, 사서함을 가리키지 않는 주소를 만듭니다. 이 구분이 제품의 핵심입니다. 출력물은 폼 테스트, 데이터베이스 시딩, 스크린샷 목업, 데모 환경을 위한 픽스처입니다. 실제 사람에게 연락하는 수단이 아니며, 주소 검증 서비스를 대체하지도 않습니다. 이 사이트가 반환하는 모든 주소는 합성 픽스처로 조립됩니다.
생성된 주소에서 유용한 부분은 그 형태입니다. 줄 순서, 우편번호 패턴, 주/도 코드, 문자 집합이 바로 그것입니다. 이것들은 운영 환경에서 폼을 깨뜨리는 요소이기도 합니다. 이를 무시한 생성 주소는 픽스처가 없는 것보다 나쁩니다. 폼은 통과하지만 실제 데이터에서는 실패하거나, 발생할 수 없는 이유로 폼이 실패하기 때문입니다. 이 가이드는 생성기가 반드시 지켜야 할 것, 시드 설정 방법, 그리고 합성 데이터가 절대 도달해서는 안 되는 곳으로 새어 나가는 경로를 다룹니다.
합성 주소에 실제로 담기는 것
각 결과는 국가 정의, 해당 국가의 다섯 개 도시 픽스처 중 하나, 거리명 목록, 건물 번호, 우편번호 패턴으로 조립됩니다. 생성기는 국가를 고르고, 그 안의 도시 픽스처를 고르고, 현지 순서대로 거리 줄을 만들고, 패턴에 따라 우편번호를 채웁니다. 배송 데이터베이스에서 샘플링하는 것도, 실제 사서함에서 복사하는 것도 없습니다.
여기서 보장되는 것 두 가지와 보장되지 않는 것 두 가지가 나옵니다. 보장: 형식이 해당 국가 관례를 따르며, 같은 시드는 같은 주소를 반환합니다. 보장되지 않음: 해당 번호의 거리가 실제로 존재하는지, 또는 미국 외 우편번호가 실제 배송 구역에 매핑되는지. 미국 ZIP의 경우 우편번호 검사기에서 40,979행 데이터셋을 대상으로 별도의 존재 여부 검사를 수행합니다. 미국 외 지역의 검사는 구조적 검사에 그치며, 사이트는 그 이상을 암시하지 않고 이를 명시합니다.
- 형식: 선택한 국가에 항상 올바름
- 재현성: 주어진 시드에 대해 결정적
- 존재 여부: 미국 ZIP 조회만, 40,979행 대상
- 배송 가능성: 절대 주장하지 않으며, 초록 체크 표시로 암시하지도 않음
- 개인 데이터: 실제 인물을 나타내지 않으므로 없음
일회용 데이터에도 형식 정확성이 중요한 이유
주소 폼은 주소 자체를 테스트하는 경우가 드뭅니다. 검증 계층, 마스킹, 길이 제한, 국가-지역 종속성, 그리고 행을 데이터베이스에 쓰는 직렬화기를 테스트합니다. 이미 잘못된 픽스처는 이 모든 것을 가립니다. 캐나다 픽스처가 "123 Main St, Toronto, ON 12345"라면, 폼은 실제 캐나다 우편번호가 절대 일치할 수 없는 패턴을 허용하게 되고 버그는 출시됩니다.
반대 방향의 실패도 흔합니다. 팀이 실제처럼 보이지만 해당 국가에는 틀린 픽스처를 직접 작성한 뒤, 검증기에 이를 허용하는 우회 코드를 추가합니다. 6개월 후 그 우회 코드는 핵심 의존성이 되고, 독일 우편 필드가 왜 문자를 허용하는지 아무도 기억하지 못합니다. 생성기 자체가 자신이 아는 것에 대해 정직하다면, 공개된 패턴을 따르는 생성 데이터는 양방향 드리프트를 모두 제거합니다.
합성 주소가 적합한 도구인 경우
합성 주소는 운영 환경 아래의 모든 계층에 속합니다. 파서와 검증기 단위 테스트, 주소 행을 쓰고 읽는 통합 테스트, 체크아웃 폼을 채우는 엔드투엔드 테스트, 실제 고객을 건드리지 않고 볼륨이 필요한 부하 테스트, 마케팅 페이지용 로컬라이즈 스크린샷 실행이 그 예입니다. 길이 제한이나 문자 집합의 경계값을 의도적으로 생성할 수 있으므로 퍼징에도 유용합니다.
실제 배송 지점에 의존하는 모든 작업에는 부적합한 도구입니다. 사기 검사, 신원 확인, 차단 회피, 계정 파밍, 리뷰 조작, 배송 통합의 엔드투엔드 테스트에 사용하지 마세요. 합성 주소에는 사서함이 없으므로 실제 운송사 스캔이 필요한 단계는 실패합니다. 또한 생성된 신원으로 상품이나 서비스를 얻는 것은 데이터가 어떻게 만들어졌든 사기입니다.
- 적합: 검증기 단위 테스트, 스테이징 시드, e2e 폼 채우기, 부하 볼륨
- 적합: 각 로캘에 그럴듯한 현지 주소가 필요한 로컬라이제이션 QA
- 적합: 절대 고객을 보여서는 안 되는 스크린샷 및 데모 환경
- 부적합: KYC, 사기 점수 산정, 제재 심사, 또는 배송을 기대하는 모든 것
- 부적합: 생성된 행이 전환 계산을 오염시키므로 운영 분석
지원 범위: 38개국, 각 5개 도시 픽스처
생성기는 38개국을 지원합니다. 각 국가에는 다섯 개의 도시 픽스처가 있으므로 총 190개의 도시 정의가 있으며, 모든 도시는 지역 코드, 우편번호 패턴, 현지 거리 관례를 알고 있습니다. 지원 범위는 주소 폼이 실제로 구축되는 시장, 즉 북미, 서유럽 및 북유럽, 그리고 규모가 큰 아시아태평양 및 라틴아메리카 시장에 치우쳐 있습니다.
이 집합에서 우편번호가 전혀 없는 국가는 두 곳입니다: 홍콩과 아랍에미리트. 생성기는 두 곳 모두 번호를 지어내지 않고 필드를 비워 둡니다. 이것이 올바른 동작입니다. 해당 국가에서 우편번호를 필수로 표시하는 폼은 잘못된 것이며, 가짜 코드를 제공하는 픽스처는 실제 사용자가 문제를 겪을 때까지 결함을 숨깁니다.
| 지역 | 픽스처 집합의 국가 | 수 | 우편번호 |
|---|---|---|---|
| 북미 | 미국, 캐나다, 멕시코 | 3 | 세 곳 모두 있음 |
| 서유럽 | 영국, 아일랜드, 프랑스, 독일, 네덜란드, 벨기에, 스위스, 오스트리아 | 8 | 여덟 곳 모두 있음 |
| 북유럽 | 스웨덴, 노르웨이, 덴마크, 핀란드 | 4 | 네 곳 모두 있음 |
| 남유럽 및 동유럽 | 스페인, 포르투갈, 이탈리아, 폴란드, 체코, 그리스, 루마니아, 헝가리 | 8 | 여덟 곳 모두 있음 |
| 아시아태평양 | 일본, 대한민국, 싱가포르, 호주, 뉴질랜드, 인도, 중국, 홍콩 | 8 | 홍콩은 없음 |
| 라틴아메리카 | 브라질, 아르헨티나, 칠레, 콜롬비아, 페루 | 5 | 다섯 곳 모두 있음 |
| 중동 및 아프리카 | 아랍에미리트, 남아프리카공화국 | 2 | 아랍에미리트는 없음 |
| 합계 | 38개국, 각 5개 도시 픽스처 | 38 | 코드 없는 곳 두 곳 |
확인할 수 있는 필드 순서와 우편번호 패턴
생성기의 품질은 국가 테이블의 품질을 넘지 못합니다. 아래 패턴은 미국식 단일 템플릿으로 평탄화되기 가장 쉬운 것들입니다. 일본은 순서가 완전히 반대이고, 네덜란드는 숫자 뒤에 문자가 오며, 브라질과 일본은 모두 구조적이기보다 관례적인 하이픈을 사용한다는 점에 주목하세요.
우편번호는 문자열로 저장해야 합니다. 독일, 프랑스, 스페인, 이탈리아, 폴란드는 모두 앞자리 0이 있는 코드를 발급하며, 정수 컬럼은 01067을 조용히 1067로 바꿉니다. 호주와 브라질 코드도 마찬가지입니다. 스키마에 숫자형 우편 컬럼이 있다면, 독일 주소를 시드하는 순간 픽스처가 이를 드러냅니다.
| 국가 | 줄 순서 | 우편번호 패턴 | 저장 참고 |
|---|---|---|---|
| 미국 | 거리, 도시, ST ZIP | 5자리 또는 12345-6789 | ZIP+4의 하이픈 유지 |
| 캐나다 | 거리, 도시, ST A1A 1A1 | 문자 숫자 문자, 공백, 숫자 문자 숫자 | 첫 문자로 D, F, I, O, Q, U 불허 |
| 영국 | 거리, 도시, A9A 9AA | 외부 2-4자, 공백, 내부 3자 | 공백은 하나만; 대문자 |
| 독일 | 거리, 5자리 도시 | 5자리 | 앞자리 0이 유의미함 |
| 네덜란드 | 거리, 4자리 AB 도시 | 4자리, 공백, 대문자 2자 | 문자는 코드의 일부 |
| 일본 | 우편번호, 도도부현, 도시, 거리 | 3자리, 하이픈, 4자리 | 가장 큰 단위가 먼저 |
| 브라질 | 거리, 도시 - ST, 12345-678 | 8자리, 다섯 번째 뒤 하이픈 | 하이픈은 관례적 |
| 홍콩 | 거리, 구, 홍콩 | 없음 | 코드를 절대 필수로 하지 말 것 |
| 아랍에미리트 | 거리, 도시, 토후국 | 없음 | P.O. Box가 일반적 관례 |
시딩: 같은 가짜 주소를 두 번 반환하게 만들기
호출할 때마다 다른 주소를 반환하는 생성기는 픽스처가 아니라 노이즈입니다. 시드 기반 생성은 입력을 고정하여 출력 시퀀스가 머신과 실행 전반에서 안정적으로 유지되게 합니다. 테스트에서 시드를 명시적으로 전달하고, 생성된 데이터셋과 함께 기록하며, 시드 변경은 검토가 필요한 픽스처 변경으로 취급하세요.
실용적인 패턴은 하나의 상위 시드에서 엔터티별 시드를 파생시키는 것입니다. 예를 들어 시드와 레코드 인덱스의 해시를 사용합니다. 이렇게 하면 데이터셋은 안정적으로 유지되면서 행마다 다른 값을 생성할 수 있습니다. 실패 재현성도 좋아집니다. CI가 잘못된 주소를 보고하면 시드와 인덱스만으로 해당 행을 정확히 재생성할 수 있습니다. 시드를 시계나 무작위 호출에서 파생시키지 마세요. 그렇게 하면 불안정한 테스트가 영구적인 미스터리가 됩니다.
- 시드는 주석이 아니라 생성된 데이터셋 옆에 저장
- 레코드 시드는 hash(seed, index)로 파생하여 순서 변경이 드러나게 함
- 테스트에서 Date.now()나 프로세스 무작위 소스로 시드하지 말 것
- 모든 데이터셋의 첫 레코드와 마지막 레코드만 스냅샷
- 가짜 주소의 대용량 JSON 덩어리를 커밋하지 말고 재생성
구조적 검증과 존재 여부 검사
이것은 서로 다른 두 가지 주장이며, 이를 혼동하는 것이 테스트 스위트가 소유자에게 거짓말하는 가장 흔한 방식입니다. 구조적 검사는 "이 문자열이 국가 패턴과 일치하는가"에 답합니다. 존재 여부 검사는 "이 코드가 참조 데이터셋에 나타나는가"에 답합니다. 이 사이트의 우편번호 검사기는 모든 국가에 대해 첫 번째를 수행하고, 40,979행을 조회하는 미국 ZIP에 대해서만 두 번째를 수행합니다.
구조적 통과는 폼이 올바른 형식의 값을 거부하지 않을 것임을 알려줍니다. 운송사가 그 주소로 배송할 수 있는지, 거리 번호가 해당 거리의 범위 내인지, 도시가 ZIP과 일치하는지에 대해서는 아무것도 알려주지 않습니다. 그러려면 이 사이트가 제공하지 않는 우편 참조 데이터가 필요합니다. 실제로 수행하는 검사에 맞게 단언을 작성하지 않으면 테스트 이름이 수년간 과장된 약속을 하게 됩니다.
| 검사 | 통과가 증명하는 것 | 증명하지 않는 것 |
|---|---|---|
| 국가 패턴 일치 | 값이 해당 국가에 맞게 올바른 형식임 | 코드가 실제로 할당되었는지 |
| 미국 ZIP 존재 여부(40,979행) | 5자리 ZIP이 데이터셋에 나타남 | 거리나 도시가 일치하는지 |
| 필수 필드 검사 | 폼이 제출됨 | 주소가 일관성 있는지 |
| 파서 왕복 | 문자열을 분할하고 재구성할 수 있음 | 분할이 의미상 올바른지 |
| 주소 생성기 출력 | 픽스처가 올바른 형태임 | 현실 세계에 관한 모든 것 |
이 생성기가 의도적으로 만들지 않는 필드
이 사이트는 사회보장번호, 결제 카드 번호, IMEI 또는 IMSI 값, 블루투스 주소, 기기 일련번호를 생성하지 않습니다. 이는 기능 누락이 아니라 의도된 경계입니다. 이러한 식별자는 체크섬, 할당 레지스트리, 법적 제한을 가지며, 그럴듯해 보이는 생성 값은 명백히 가짜인 값보다 훨씬 위험합니다. 순진한 검증기를 통과해 스크린샷, 티켓, 커밋에 남을 수 있기 때문입니다.
같은 경계가 연락처 데이터에도 적용됩니다. 생성된 이메일 주소는 항상 실제 사서함으로 확인될 수 없는 예약 도메인 example.test를 사용합니다. 생성된 전화번호는 미국과 캐나다의 NANP 555-0100부터 555-0199 블록, 즉 허구 사용을 위해 예약된 범위로 제한됩니다. 워크플로에 카드 번호나 세금 식별자가 필요하다면 결제 처리업체나 세무 당국이 공개한 공식 테스트 값을 사용하고, 생성기에서 긁어온 값을 절대 사용하지 마세요.
- 생성하지 않음: SSN, ITIN, EIN 또는 모든 국가 ID
- 생성하지 않음: Luhn 검증을 통과하는 번호를 포함한 신용 또는 직불 카드 번호
- 생성하지 않음: IMEI, IMSI, MEID 또는 블루투스 기기 주소
- 생성하지 않음: 일련번호, 번호판, 여권 번호
- 생성 이메일: 예약된 비확인 도메인 example.test만 사용
- 생성 전화번호: 미국 및 캐나다 NANP 555-0100부터 555-0199만 사용
질문
- 아니요. 모든 주소는 합성 픽스처로 조립되며 실제 배송 지점을 가리키지 않습니다. 사이트는 배송 가능성을 주장하지 않으며, 미국 ZIP만 40,979행 데이터셋을 대상으로 존재 여부를 검사합니다.
- 38개국이며 각각 다섯 개의 도시 픽스처가 있습니다. 홍콩과 아랍에미리트는 포함되지만 우편번호를 사용하지 않으므로 빈 우편번호를 반환합니다.
- 예. 생성은 시드 기반이므로 같은 시드와 인덱스는 어떤 머신에서든 같은 주소를 반환합니다. 실패를 재현 가능하게 유지하려면 데이터셋과 함께 시드를 저장하세요.
- 아니요. 테스트 픽스처입니다. 운영 분석이나 고객 테이블에 생성된 행이 들어가면 보고가 오염되고, 나중에 이를 실제 레코드로 취급하는 사람을 오도할 수 있습니다.
- 그러한 식별자는 규제 대상이거나 체크섬이 있거나 둘 다이며, 그럴듯한 가짜 값은 순진한 검증을 통과해 스크린샷과 티켓에 남을 수 있습니다. 대신 결제 처리업체나 당국이 제공하는 공식 테스트 값을 사용하세요.
주소가 실제인가요?+
생성기는 몇 개국을 지원하나요?+
같은 주소를 두 번 받을 수 있나요?+
생성된 주소를 운영 환경에서 사용할 수 있나요?+
도구가 SSN이나 카드 번호 생성을 거부하는 이유는 무엇인가요?+
예시는 합성 데이터입니다. 생성된 주소를 신원 확인, 계정 등록 또는 배송에 사용하지 마세요.