メニュー

海外向けの住所フォームのテスト観点: 国を切り替えて何を確かめるか

住所フォームのテストは、国を切り替えたときの欄の増減、必須と任意の切り替わり、自動補完の挙動、入力値の保存のされ方を確かめます。観点の一覧と優先順位を整理します。

公開日

  • テスト
  • 住所

海外向けの住所フォームのテストは、日本語の住所だけを入力して通れば終わりではありません。国を切り替えたときに欄の構成が変わり、必須の条件が変わり、入力できる文字の範囲も変わります。この記事では、どこを確かめるべきかを優先順位の高い順に並べます。

国を切り替えると何が変わるのか

一つのフォームで複数の国を扱う場合、国を選んだ時点で次の四つが変わります。

  • 欄の数と種類。郵便番号を使わない国では、その欄が消えるか任意になります。行政区の欄が二層になる国もあります。
  • 必須と任意。同じ欄でも、国によって必須だったり任意だったりします。
  • 入力できる文字。英数字のみを想定する国と、記号やアクセント記号を含む国があります。
  • 並び順。番地が先に来る国と、行政区が先に来る国があります。

テストでは、この四つが国を切り替えるたびに正しく入れ替わるかを見ます。一つの国で通ったからといって、別の国でも通るとは限りません。少なくとも、郵便番号を持つ国と持たない国、行政区を一層だけ持つ国と複数層持つ国を組み合わせて確認します。

自動補完はどこまで信用してよいのか?

郵便番号から市や州を自動で埋める仕組みは便利ですが、テストの観点としては注意が必要です。補完された値が正しいかどうかを、フォーム自身は確かめていません。補完の結果を確定値として保存すると、誤った値が利用者の確認を経ずに残ります。

確かめるべきは三つです。補完の結果が利用者に提示され、修正できるか。補完に失敗したときに、手入力を妨げないか。補完の結果と、利用者がそのあと手で直した値のどちらが保存されるか。

特に三つめは事故になりやすいところです。補完が非同期で走る場合、利用者が先に手入力した値を、あとから届いた補完結果が上書きすることがあります。

保存された値は入力のままでよいのか?

入力をそのまま保存しているようで、実際には加工されている場合があります。確かめるべき点は次のとおりです。

  • 前導ゼロを持つ郵便番号が、保存と読み出しで変わらないか。数値として扱われていると、先頭のゼロが失われます。
  • 余分な空白や全角文字が、どの時点で整理されるか。整理の結果が表示にも反映されるか、保存値だけが変わるか。
  • アクセント記号を含む文字が、文字化けせずに往復するか。
  • 大文字と小文字の扱い。国や行政区の符号を小文字で入力したとき、保存値はどちらの表記になるか。

これらは画面上では違いが見えないため、保存された値と再表示の両方を確認します。検証と正規化の役割の違いは住所の検証と正規化の違いで扱っています。

開発者向け: テストを表で回す

住所フォームのテストは、値の組み合わせが国ごとに増えていくため、個別のテストを書き並べると管理しきれなくなります。国、入力値、期待する結果の三つを組にした表を用意し、同じ手順を表の行数だけ繰り返す形にします。

表の行は、次の観点を一通り覆うように作ります。郵便番号の前導ゼロ、郵便番号なしの国、英数字混在の郵便番号、行政区が二層の国、必須欄の欠落、長すぎる入力、記号を含む入力、そして空の入力です。

個別に確認したいのは、欄の増減のほうです。国を切り替えたときに前の国の入力値が残っていないか、必須の表示が切り替わるか、エラーの表示が前の国のまま残らないかを見ます。この三つは表ではなく、操作の順序として確かめる必要があります。

国ごとの書式の違いは郵便番号の書式に、符号の扱いはISO 国家コードと行政区コードに整理しています。電話番号欄を同じ画面に置いている場合は、電話番号の国番号の観点も加えてください。

優先順位のつけ方

すべてを同じ重さで確かめるのは現実的ではありません。優先度が高いのは、利用者が正しい値を入れられない不具合です。郵便番号を持たない国の利用者が、必須欄のために先へ進めない。拡張付きの郵便番号が弾かれる。アクセント記号を含む名前が文字化けする。これらは実害が大きく、発生も多い種類です。

次に優先度が高いのは、誤った値が静かに保存される不具合です。自動補完による上書き、前導ゼロの消失、前の国の値の残留がここに入ります。画面上は正常に見えるため、あとから気づくのが遅れます。

見た目の問題は、これらが片付いたあとで構いません。並び順やラベルの文言は、値の正しさに影響しないためです。ただし、並び順がデータの解釈に影響する実装になっている場合は、優先度を上げてください。

次のステップ

まず、自分のフォームで郵便番号を持たない国を選び、最後まで進めるかを試してください。進めないなら、そこが最優先の修正箇所です。次に、補完の結果を手で上書きしたときに、どちらの値が残るかを見ます。確認に使う値を増やしたいときはランダム住所生成で複数の国を選んで生成し、テスト固定装置の住所データの考え方で表にまとめると、同じ手順を繰り返し回せます。

続けて読む

ランダム住所生成の関連記事