가상 주소라는 검색어는 성격이 전혀 다른 두 가지를 함께 끌어옵니다. 하나는 사업자가 우편물을 대신 받아 주는 실제 건물의 주소이고, 다른 하나는 소프트웨어 시험과 개인정보 보호를 위해 만들어 낸 합성 주소입니다. 두 가지를 같은 것으로 여기면 기대할 수 없는 일을 기대하게 되므로, 이 글에서는 먼저 두 개념을 갈라 놓고 합성 주소로 할 수 있는 일과 할 수 없는 일을 차례로 짚어 보겠습니다.
가상 주소라는 말이 가리키는 두 가지
첫 번째는 우편 대행 주소입니다. 실제로 존재하는 건물에 사업자가 자리를 잡고, 그 주소로 배달된 우편물을 대신 받아 보관하거나 다른 곳으로 다시 보내 줍니다. 지도에서 찾을 수 있는 실재하는 위치이고, 이용에는 계약과 요금이 따릅니다.
두 번째는 합성 주소입니다. 시험 데이터 생성기가 만들어 내는 값이 여기에 속합니다. 도로명은 공개된 지명 목록에서 가져오지만 번지와 층수는 무작위로 조합되므로 세상 어디에도 대응하지 않습니다. 우편물이 도착할 수 있는 곳이 아니고, 누군가의 집도 아닙니다.
두 개념을 구분하는 가장 쉬운 질문은 이것입니다. 그 주소로 온 봉투를 누군가 손에 들고 있을 수 있는가. 우편 대행 주소는 그 답이 그렇습니다. 합성 주소는 그 답이 아니오입니다. 이 한 가지 차이가 이후에 나오는 모든 사용 범위를 갈라 놓습니다.
이 글의 나머지는 두 번째, 즉 시험과 개인정보 보호를 위한 합성 주소를 기준으로 이야기합니다.
우편 대행 주소는 무엇을 해 주나요?
우편 대행 주소의 값어치는 물건을 받는 데 있지 않고 서류와 우편물을 놓치지 않는 데 있습니다. 세금 고지서, 등기 우편, 계약서처럼 서면으로 오는 연락을 실제 사업장과 분리해 받아 둘 수 있고, 필요하면 내용을 알려 주거나 다른 주소로 다시 보내 달라고 요청할 수 있습니다.
그래서 사업자 등록이나 명함에 표시할 주소가 필요하지만 사무실을 따로 두지는 않는 경우에 자주 쓰입니다. 다만 이 주소는 어디까지나 우편물 수령을 위한 것이고, 그 건물에 사람이 살고 있다는 뜻은 아닙니다. 방문객을 맞이할 수 있는 장소인지, 회의실을 쓸 수 있는지는 전혀 다른 계약 조건입니다.
가상 주소로 택배를 받을 수 있나요?
받을 수 없습니다. 합성 주소는 애초에 대응하는 건물이 없으므로 배송 기사가 찾아갈 곳이 없습니다. 우편 대행 주소로 택배를 받는 경우에도 대행 사업자가 물건까지 받아 주는지가 계약에 들어 있어야 하고, 그렇지 않으면 그대로 반송됩니다.
쇼핑몰의 배송지 입력란에 합성 주소를 넣고 주문하는 일은 피해야 합니다. 주문은 결제까지 진행되지만 물건은 돌아오지 않고, 반송 처리와 환불 문의로 시간을 쓰게 됩니다. 배송지 입력이 필요한 시험은 실제로 물건을 보내지 않는 결제 시뮬레이션이나 자체 스테이징 환경에서 하는 편이 안전합니다.
거주지 증명이나 본인 확인에 쓸 수 있나요?
쓸 수 없고, 써서도 안 됩니다. 본인 확인 절차는 주소 자체를 보는 것이 아니라 그 주소에 대한 증빙 자료나 공공 기록과 대조하는 방식으로 이루어집니다. 대응하는 실체가 없는 주소는 대조 단계에서 걸리게 되어 있고, 걸리지 않도록 꾸미는 행위는 서비스 약관 위반이며 경우에 따라 법률 위반이 됩니다.
주소를 만들어 주는 도구는 이런 목적으로 존재하지 않습니다. 시험과 개인정보 보호라는 원래 목적을 벗어난 사용은 도구의 취지와도 어긋나고, 다른 사람의 권리를 침해할 소지도 있습니다.
합성 주소는 어떤 자리에서 쓰나요?
가장 흔한 자리는 가입과 주문 흐름의 자동 시험입니다. 주소 양식이 국가마다 요구하는 항목이 달라지는데 실제 주소를 그만큼 준비할 수는 없으므로, 형식이 맞는 값을 만들어 넣고 화면이 어떻게 반응하는지 확인합니다.
두 번째는 스테이징 데이터베이스 채우기입니다. 고객 데이터를 복사해 오지 않고도 목록 화면, 검색, 정렬, 페이지 나누기가 실제와 비슷한 크기에서 어떻게 동작하는지 볼 수 있습니다. 이때 합성 주소라는 사실이 데이터에 드러나 있어야 나중에 실수로 실제 고객에게 연락이 나가는 일을 막습니다. 관련 원칙은 주소 데이터와 개인정보에서 더 자세히 다룹니다.
세 번째는 개인정보 보호입니다. 교육 자료나 발표 화면, 질문 답변에 실제 주소를 넣으면 그 자체로 개인정보가 퍼집니다. 같은 모양의 합성 주소로 바꾸면 화면은 그대로인 채 위험만 사라집니다.
네 번째는 문서와 교육 자료의 예시입니다. 안내 문서에 실제 주소를 예로 들면 그 값이 배포본마다 따라다니고, 나중에 회수하기도 어렵습니다. 처음부터 합성 주소를 예시로 쓰면 문서를 다시 고칠 일도, 값을 걷어낼 일도 줄어듭니다.
주소 형식 자체를 확인하는 시험에도 씁니다. 여러 국가의 값을 나란히 만들어 두고 저장 길이, 표시 순서, 문자 처리 같은 공통 규칙이 제대로 동작하는지 비교할 수 있습니다.
랜덤 주소 생성기에서 직접 만들어 보기
랜덤 주소 생성기는 국가를 고르면 도로명, 도시, 행정구역, 우편번호, 전화번호를 같은 지역 데이터에서 함께 만들어 줍니다. 항목끼리 어긋나지 않으므로 양식 검증 시험에 그대로 넣을 수 있고, 각 줄을 따로 복사할 수도 있습니다.
여기서 나오는 값은 알고리즘이 합성한 것이며 실존하는 거주지나 수취인과 무관합니다. 소프트웨어 시험용으로만 쓰고, 실제 배송이나 신원 확인에는 사용하지 마세요.
개발자를 위한 메모: 주소 필드와 안내 문구를 분리하라
시험 데이터를 설계할 때 자주 나오는 실수는 우편 대행 안내나 배송 주의 문구를 주소 필드 안에 넣는 것입니다.
- 주소 줄에는 주소만 넣습니다. 영업시간, 방문 안내, 수령 방법 같은 문장은 별도 필드로 분리합니다.
- 합성 데이터임을 식별할 수 있는 표식을 값이나 메타데이터에 남깁니다. 나중에 실제 고객 데이터와 섞이는 사고를 막아 줍니다.
- 우편번호와 행정구역이 서로 맞는지 확인하는 검사를 스테이징에도 그대로 둡니다. 검사를 끄면 실제로 잡아야 할 오류를 시험에서 놓칩니다.
- 배송할 수 없는 주소를 시험에 써야 한다면 주문 흐름 자체를 막는 대신 시뮬레이션 모드로 우회하도록 설계합니다.
다음 단계
주소 형식이 국가마다 어떻게 달라지는지 먼저 정리하고 싶다면 국제 주소 형식을 읽어 보세요. 바로 시험에 쓸 값이 필요하다면 랜덤 주소 생성기에서 국가를 몇 개 골라 생성해 보고, 양식이 요구하는 항목과 실제로 만들어지는 항목이 맞는지 비교해 보는 것이 가장 빠릅니다.