地址表单测试看起来简单,直到产品开始服务多个国家。能通过美国 ZIP code 的字段,可能会拒绝英国 postcode;一个叫做 “state” 的标签,放到加拿大、 日本或新加坡时可能并不合适;桌面端看起来正常的长城市名,也可能在移动端订单摘要里被截断。
这份清单帮助 QA 团队在问题影响用户之前,使用真实感更强的合成地址测试表单、展示和导出流程。
地址表单测试目标
目标不是证明“一条完美地址可以提交”。真正的目标是证明产品能够处理用户会输入的多种地址形态。
适合使用这份清单的场景包括:
- 注册和 onboarding 表单。
- 电商结账、收货地址和配送流程。
- 账单地址、税费预估和发票流程。
- 用户资料页里的已保存地址。
- 管理后台、客服工具和 CRM。
- CSV 导入、CRM 同步和仓库导出。
- 邮件、发票、PDF 和订单摘要。
可以从 GeoMock 国家地址生成器目录生成新的样例,并把少量国家级样例沉淀到 QA 计划中。
核心字段检查
先从用户直接填写的字段开始。
| 字段 | 测试用例 | 可能出的问题 |
|---|---|---|
| 国家 | 填写表单后再切换国家 | 旧地区或旧邮编校验仍然生效 |
| 姓名 | 很长的名和姓 | 收据、标签或卡片布局被截断 |
| 街道 | 长街道、短街道、门牌号、PO Box | 地址行换行异常或丢失门牌信息 |
| 城市 | 短城市名和长城市名 | 移动端卡片溢出 |
| 地区 | 州、省、都道府县、郊区或区 | 标签错误、下拉项错误、必填规则错误 |
| 邮编 | 数字、字母数字、可选、ZIP+4 | 正则过严或过松 |
| 电话 | 国家代码加本地号码 | 前导零被去掉,或国家代码错误 |
对美国表单来说,USPS Publication 28 对标准地址要素和缩写有参考价值。但全球产品仍然需要按国家处理地址,而不是用一套国内规则覆盖所有市场。
国家覆盖矩阵
选择能逼出不同 UI 和校验行为的国家。
| 国家页面 | 为什么要测 | 重点 |
|---|---|---|
| 美国地址生成器 | 常见 ZIP、州、城市模式 | ZIP code、州缩写、税费逻辑 |
| 英国地址生成器 | 字母数字 postcode 和地区格式 | Postcode 空格、换行 |
| 加拿大地址生成器 | 省份和字母数字邮编 | 省份标签、邮编大小写 |
| 日本地址生成器 | 都道府县和邮编约定 | 本地化标签、地址顺序 |
| 澳大利亚地址生成器 | 州或领地加邮编 | Suburb 和州字段 |
| 新加坡地址生成器 | 紧凑地址和六位邮编 | 可选地区字段 |
| 新西兰地址生成器 | 城市和邮编模式 | 不要假设必须有州 |
万国邮政联盟的 S42 标准强调国际地址组件和国家特定模板。对软件 QA 来说,这正是为什么全球地址表单应该按国家测试,而不是把一个国内表单拉伸到全世界。
校验检查
邮编校验最容易过拟合。除非产品背后有维护良好的国家规则表,否则不要依赖一个巨大的全局正则。
需要覆盖这些情况:
- 所选国家的有效邮编。
- 看起来有效但属于其他国家的邮编。
- 小写字母数字邮编。
- 带空格的邮编。
- 不带空格的邮编。
- 美国 ZIP+4 格式。
- 某些国家允许为空时的空邮编。
- 数字邮编里的前导零。
- 用户把完整地址粘贴进第一个字段。
校验失败时,错误信息应该告诉用户如何修复。“地址无效”不如“请输入有效的英国 postcode,例如 SW1A 1AA”有用。
布局检查
地址不是只存在于表单里。它会流入很多更窄、更复杂的界面。
- 移动端订单摘要。
- 已保存地址卡片。
- 结账页右侧摘要。
- 发票、邮件和 PDF。
- 客服后台侧栏。
- 表格列和 CSV 预览。
- 物流标签和打印视图。
测试长地址时,重点看文本是否换行、是否遮挡按钮、是否把重要字段隐藏在省略号后面。移动端至少要覆盖常见窄屏宽度。
回归测试建议
把地址测试分成两层:
| 层级 | 使用方式 | 目的 |
|---|---|---|
| 固定 smoke 样例 | 每次 PR 都跑 | 保证核心表单和结账流程不退化 |
| 轮换生成样例 | 发布前或 nightly 跑 | 捕捉新的布局、校验和国家差异问题 |
发现 bug 后,把生成地址的 JSON 一起贴到问题单里。这样开发可以复现同一个 payload,而不是根据截图猜字段。
安全边界
GeoMock 生成的是合成测试数据。它适合 QA、演示、截图、文档和可复现样例,但不应该用于真实配送、身份验证、支付审批、逃避税费或规避平台规则。

