0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

多国籍住所フォームを壊さないためのテストデータ設計

0
Last updated at Posted at 2026-09-14

Web サービスを海外向けに展開すると、住所フォームは想像以上に壊れやすい部分になります。米国向けに作った City / State / ZIP Code の組み合わせを、そのまま日本、香港、ドイツへ適用すると、入力できない住所や誤ったバリデーションが発生します。

この記事では、登録画面や Checkout の QA で使える住所テストデータの設計方法を整理します。例に含まれる氏名と住所は架空のテストデータです。

住所を一つの文字列だけで保存しない

表示用の住所だけを保存すると、配送 API、税計算、CRM、CSV エクスポートへ渡す段階で再解析が必要になります。少なくとも次のフィールドを分けて保持します。

{
  "countryCode": "US",
  "locale": "en-US",
  "street": "123 Example Street",
  "city": "Seattle",
  "region": "Washington",
  "regionCode": "WA",
  "postalCode": "98101",
  "phone": "+1 206 555 0142",
  "fullAddress": "123 Example Street, Seattle, WA 98101, USA"
}

region は汎用的な内部名として使えます。画面では国に応じて State、Province、Prefecture、County、District など適切なラベルを表示します。

国ごとに確認したい違い

国・地域 主な違い テスト観点
米国 2 文字の州コードと 5 桁の ZIP Code City、State、ZIP の組み合わせを保存できるか
日本 都道府県と市区町村の階層、123-4567 形式の郵便番号 日本語文字と住所順序を失わないか
香港 すべての住所で使う共通郵便番号がない 郵便番号を空欄にして送信できるか
ドイツ 郵便番号が市名より前、ß などの文字を使う Unicode と表示順序を維持できるか
インドネシア Province と City/Regency を分ける 5 桁郵便番号と +62 電話番号を扱えるか

フロントエンドのバリデーションは国切り替え後に更新する

国を変更したのに、以前の国の正規表現や必須設定が残るバグはよくあります。次の順序でテストすると見つけやすくなります。

  1. 米国を選び、州と ZIP Code が必須になることを確認する。
  2. 香港へ変更し、郵便番号を空欄にできることを確認する。
  3. 日本へ変更し、日本語とハイフン付き郵便番号を入力する。
  4. ページを再読み込みし、保存した国とフィールド値が復元されることを確認する。
  5. API、CSV、管理画面にも同じ値が残っていることを確認する。

入力制限は必要ですが、国ごとのルールを一つの巨大な正規表現へ詰め込むと保守が難しくなります。国コードごとの設定として、ラベル、必須条件、郵便番号パターン、電話番号のヒントを分離した方が安全です。

空の郵便番号は欠損データとは限らない

香港のようなケースでは、空の postalCode が正しいテスト結果になることがあります。データベースで NOT NULL を設定している場合でも、空文字を許可するか、国別ルールに従って項目自体を省略できる設計を検討します。

function requiresPostalCode(countryCode) {
  return countryCode !== "HK";
}

このルールは配送会社や連携先によって変わるため、実運用では接続先の仕様も確認してください。

テストデータに現地言語を含める

ASCII 文字だけのテストでは、文字コード、CSV、PDF、メールテンプレートの問題を見逃します。日本語、繁体字、ドイツ語の特殊文字などを少数でも含めると、保存から表示までの経路を確認できます。

また、住所テストデータには実在する個人情報を使わず、用途を QA と開発に限定します。本人確認や郵便物の受け取りには使用しません。

テストデータを増やす場合

US Address Online のワークスペースでは、50 か国の構造化されたテスト用住所を生成できます。米国のフィールド構成は英語の US address generator ガイドでも確認できます。

自動テストへ組み込む場合は、生成結果を固定 fixture として保存し、国別バリデーションの境界値だけを別ケースとして追加すると、テストが不安定になりません。

まとめ

多国籍住所フォームでは、国コードを最初に決め、その国に合わせてフィールド名と必須条件を切り替えます。構造化された値と表示用住所を両方保存し、現地言語、郵便番号なしのケース、国際電話番号をテスト対象に含めると、多くの不具合をリリース前に発見できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?