テストとQA · 6 分で読めます

偽住所ジェネレーター:有効なテスト用住所を作成する(2026年)

偽住所ジェネレーターは、フォームやQAテスト用に構造的に有効な合成住所を生成します。フィールド順のルール、38か国のカバレッジ、シード、制限事項を解説します。

著者: Charlie Simmon ·

偽住所ジェネレーターは、構造的には正しく見えるものの、実在の世帯・企業・私書箱を指さない住所を生成します。この区別こそが製品の本質です。出力はフォームテスト、データベースのシード、スクリーンショットのモックアップ、デモ環境向けのフィクスチャです。実在の人物に到達する手段ではなく、住所検証サービスの代替でもありません。このサイトが返す住所はすべて合成フィクスチャから組み立てられています。

生成された住所の有用な部分はその形です。行の順序、郵便番号のパターン、州・県コード、文字セット。これらこそが本番環境でフォームを壊す要素です。これらを無視した生成住所は、フィクスチャがないより悪い結果になります。フォームは通っても実データで失敗するか、起こり得ない理由でフォームが失敗するからです。このガイドでは、ジェネレーターが正しく実装すべき点、シードの方法、そして合成データが決して到達すべきでない場所へ漏れ出す仕組みを扱います。

合成住所に実際に含まれるもの

各結果は、国定義、その国の5つの都市フィクスチャの1つ、通りの名前一覧、建物番号、郵便番号パターンから組み立てられます。ジェネレーターは国を選び、その中の都市フィクスチャを選び、現地の順序で通りの行を構築し、パターンから郵便番号を埋めます。配送データベースからサンプリングすることも、実在の私書箱からコピーすることもありません。

これにより2つの保証と2つの非保証が生まれます。保証されるのは、形式がその国の慣習に従うこと、そして同じシードが同じ住所を返すことです。保証されないのは、その番号にその通りが実在すること、そして米国以外の郵便番号が実在の配送エリアに対応することです。米国のZIPについては、郵便番号チェッカー上の40,979行のデータセットに対する別個の存在チェックがあります。米国以外ではチェックは構造的なもののみであり、サイトはそれ以上のことを示唆せずにその旨を明記しています。

  • 形式:選択した国に対して常に正しい
  • 再現性:特定のシードに対して決定的
  • 存在:米国ZIPの検索のみ、40,979行に対して
  • 配送可能性:決して主張せず、緑のチェックマークで示唆することもない
  • 個人データ:実在の人物を表さないため、一切なし

使い捨てデータでも形式の正確さが重要な理由

住所フォームがテストするのは住所そのものではありません。検証レイヤー、マスキング、長さ制限、国と地域の依存関係、そして行をデータベースに書き込むシリアライザーをテストします。すでに不正な形式のフィクスチャは、それらすべてを隠してしまいます。カナダのフィクスチャが「123 Main St, Toronto, ON 12345」であれば、フォームは実際のカナダの郵便番号が決して一致しないパターンを受け入れ、バグは出荷されてしまいます。

逆の失敗も同じくらいよく起こります。チームが実在しそうだがその国には誤ったフィクスチャを手書きし、それを受け入れるためにバリデータに回避策を追加します。半年後、その回避策は不可欠なものになり、なぜドイツの郵便番号フィールドが文字を許可しているのか誰も覚えていません。公開されているパターンに従う生成データは、ジェネレーター自体が自分の知識について正直である限り、両方向のずれを排除します。

合成住所が適切なツールとなる場面

合成住所は本番より下のすべてのレイヤーに属します。パーサーやバリデータの単体テスト、住所行の書き込みと読み取りを行う統合テスト、チェックアウトフォームに入力するエンドツーエンドテスト、実在の顧客に触れずにボリュームを必要とする負荷テスト、マーケティングページ向けのローカライズされたスクリーンショット実行などです。ファジングにも有用です。長さ制限や文字セットの境界にある値を意図的に生成できるからです。

実在の配送地点に依存するものには不適切なツールです。不正チェック、本人確認、BAN回避、アカウント養殖、レビュー操作、配送連携のエンドツーエンドテストには使用しないでください。合成住所には私書箱がないため、実際の配送業者のスキャンを必要とするステップは失敗します。また、生成された身元を使って商品やサービスを取得することは、データがどのように生成されたかに関わらず詐欺です。

  • 適切:バリデータの単体テスト、ステージングのシード、e2eフォーム入力、負荷ボリューム
  • 適切:各ロケールに妥当な現地住所が必要なローカライゼーションQA
  • 適切:顧客を決して表示してはならないスクリーンショットやデモ環境
  • 不適切:KYC、不正スコアリング、制裁スクリーニング、配送を期待するあらゆるもの
  • 不適切:本番分析。生成された行はコンバージョン計算を汚染する

カバレッジ:38か国、各国5つの都市フィクスチャ

ジェネレーターは38か国をカバーしています。各国には5つの都市フィクスチャがあるため、合計190の都市定義があり、各都市は地域コード、郵便番号パターン、現地の通りの慣習を把握しています。カバレッジは、住所フォームが実際に構築される市場に重点を置いています。北米、西ヨーロッパと北ヨーロッパ、そしてより大きなアジア太平洋およびラテンアメリカ市場です。

セット内の2か国には郵便番号がまったくありません。香港とアラブ首長国連邦です。ジェネレーターは両国で番号を捏造せず、フィールドを空のままにします。これが正しい動作です。これらの国で郵便番号を必須とするフォームは壊れており、偽のコードを提供するフィクスチャは、実際のユーザーが遭遇するまで欠陥を隠してしまいます。

地域フィクスチャセットの国数郵便番号
北米アメリカ合衆国、カナダ、メキシコ33か国すべてあり
西ヨーロッパイギリス、アイルランド、フランス、ドイツ、オランダ、ベルギー、スイス、オーストリア88か国すべてあり
北ヨーロッパスウェーデン、ノルウェー、デンマーク、フィンランド44か国すべてあり
南ヨーロッパと東ヨーロッパスペイン、ポルトガル、イタリア、ポーランド、チェコ、ギリシャ、ルーマニア、ハンガリー88か国すべてあり
アジア太平洋日本、韓国、シンガポール、オーストラリア、ニュージーランド、インド、中国、香港8香港はなし
ラテンアメリカブラジル、アルゼンチン、チリ、コロンビア、ペルー55か国すべてあり
中東とアフリカアラブ首長国連邦、南アフリカ2UAEはなし
合計38か国、各国5つの都市フィクスチャ382か国はコードなし

確認できるフィールド順と郵便番号パターン

ジェネレーターの品質はその国のテーブル次第です。以下のパターンは、米国型の単一テンプレートに平坦化されがちなものです。日本は順序が完全に逆であること、オランダは数字の後に文字が来ること、ブラジルと日本はどちらも構造的ではなく慣習的なハイフンを使うことに注目してください。

郵便番号は文字列として保存する必要があります。ドイツ、フランス、スペイン、イタリア、ポーランドはすべて先頭ゼロのコードを発行しており、整数カラムは01067を黙って1067にしてしまいます。オーストラリアやブラジルのコードにも同じことが当てはまります。スキーマに数値の郵便番号カラムがある場合、ドイツの住所をシードした瞬間にフィクスチャがそれを露呈させます。

国行の順序郵便番号パターン保存上の注意
アメリカ合衆国通り、都市、ST ZIP5桁または12345-6789ZIP+4のハイフンは保持する
カナダ通り、都市、ST A1A 1A1文字 数字 文字、スペース、数字 文字 数字先頭文字にD、F、I、O、Q、Uを許可しない
イギリス通り、都市、A9A 9AA外側2〜4文字、スペース、内側3文字スペースは1つのみ、大文字
ドイツ通り、5桁の都市5桁先頭ゼロは意味を持つ
オランダ通り、4桁 AB 都市4桁、スペース、大文字2文字文字はコードの一部
日本郵便番号、都道府県、市区町村、通り3桁、ハイフン、4桁大きい単位が先
ブラジル通り、都市 - ST、12345-6788桁、5桁目の後にハイフンハイフンは慣習的
香港通り、地区、香港なしコードを決して必須にしない
アラブ首長国連邦通り、都市、首長国なしP.O. Boxが一般的な慣習

シード:同じ偽住所を2度返す方法

呼び出しごとに異なる住所を返すジェネレーターはフィクスチャではなくノイズです。シード付き生成は入力を固定し、出力シーケンスをマシン間および実行間で安定させます。テストではシードを明示的に渡し、生成されたデータセットとともに記録し、シードの変更はレビューが必要なフィクスチャの変更として扱ってください。

実用的なパターンは、1つの親シードからエンティティごとのシードを導出することです。たとえば、シードとレコードインデックスのハッシュです。これによりデータセットは安定したまま、行ごとに異なる値を生成できます。また、失敗を再現可能にします。CIが不正な住所を報告したとき、シードとインデックスだけでその行を正確に再生成できます。シードを時計やランダム呼び出しから導出しないでください。それがフレーキーテストを永久的な謎に変える方法です。

  • シードはコメントではなく、生成されたデータセットの隣に保存する
  • レコードのシードはhash(seed, index)として導出し、順序の変更が見えるようにする
  • テストではDate.now()やプロセスの乱数源からシードしない
  • すべてではなく、各データセットの最初と最後のレコードをスナップショットする
  • 偽住所の大きなJSONブロブをコミットするのではなく、再生成する

構造検証と存在チェックの違い

これらは2つの異なる主張であり、混同することがテストスイートがその所有者に嘘をつく最も一般的な方法です。構造チェックは「この文字列はその国のパターンに一致するか」に答えます。存在チェックは「このコードは参照データセットに現れるか」に答えます。このサイトの郵便番号チェッカーはすべての国に対して1つ目を行い、2つ目は米国ZIPのみで、40,979行を参照します。

構造チェックの合格は、フォームが整形式の値を拒否しないことを示します。配送業者がそこに配達できるか、その通りの番地が範囲内か、都市がZIPと一致するかについては何も示しません。それらにはこのサイトが提供しない郵便参照データが必要です。実際に行うチェックに合わせてアサーションを書かないと、テスト名は何年も過大な約束をし続けます。

チェック合格が証明すること証明しないこと
国のパターン一致値がその国にとって整形式であることコードが割り当てられていること
米国ZIPの存在(40,979行)5桁のZIPがデータセットに現れること通りや都市が一致すること
必須フィールドチェックフォームが送信されること住所が整合していること
パーサーの往復文字列を分割して再構築できること分割が意味的に正しいこと
住所ジェネレーターの出力フィクスチャが正しい形であること現実世界について何か

このジェネレーターが意図的に生成しないフィールド

このサイトは社会保障番号、支払カード番号、IMEIやIMSIの値、Bluetoothアドレス、デバイスのシリアル番号を生成しません。これは欠落した機能ではなく、意図的な境界です。これらの識別子にはチェックサム、割り当てレジストリ、または法的制限があり、もっともらしく見える生成値は明らかに偽の値よりもはるかに危険です。なぜなら、素朴なバリデータを通過し、スクリーンショット、チケット、コミットに紛れ込む可能性があるからです。

同じ境界は連絡先データにも適用されます。生成されるメールアドレスは常に予約済みのexample.testドメインを使用し、実在の私書箱に解決されることは決してありません。生成される電話番号は、米国とカナダのNANP 555-0100から555-0199のブロックに限定され、これはフィクション用に予約された範囲です。ワークフローがカード番号や納税者番号を必要とする場合は、プロセッサや税務当局が公開している公式のテスト値を使用し、ジェネレーターからスクレイピングした値は決して使わないでください。

  • 生成しない:SSN、ITIN、EIN、またはあらゆる国民ID
  • 生成しない:クレジットカードやデビットカード番号(Luhn検証を通るものを含む)
  • 生成しない:IMEI、IMSI、MEID、Bluetoothデバイスアドレス
  • 生成しない:シリアル番号、ナンバープレート、パスポート番号
  • 生成されるメール:example.testのみ、解決しない予約ドメイン
  • 生成される電話:米国とカナダのNANP 555-0100から555-0199のみ

よくある質問

住所は実在しますか?+
いいえ。すべての住所は合成フィクスチャから組み立てられ、実在の配送地点を指しません。サイトは配送可能性を主張せず、米国ZIPのみが40,979行のデータセットに対する存在チェックを受けます。
ジェネレーターは何か国をカバーしていますか?+
38か国で、それぞれ5つの都市フィクスチャがあります。香港とアラブ首長国連邦は含まれますが、どちらも郵便番号を使用しないため、空の郵便番号を返します。
同じ住所を2度取得できますか?+
はい。生成はシード付きなので、同じシードとインデックスはどのマシンでも同じ住所を返します。失敗を再現可能に保つため、データセットとともにシードを保存してください。
生成された住所を本番環境で使用できますか?+
いいえ。それらはテストフィクスチャです。本番分析や顧客テーブルに生成された行があるとレポートが汚染され、後でそれらを実在のレコードとして扱う人を誤導する可能性があります。
なぜツールはSSNやカード番号の生成を拒否するのですか?+
これらの識別子は規制され、チェックサムが付与されているか、その両方であり、もっともらしい偽の値が素朴な検証を通過してスクリーンショットやチケットに紛れ込む可能性があります。代わりにプロセッサや当局の公式テスト値を使用してください。

例は合成データです。生成された住所を本人確認、アカウント登録、配送に使用しないでください。

参照標準

次に読む

すべてのガイド