本文要点
- 收件人、街道、suburb/locality + 州代码 + postcode 是常见三行结构
- Postcode 是四位字符串,不应当作数学数值
- NSW、VIC、QLD 等缩写应与 suburb 联动
- Traditional Place name 可位于收件人与街道之间
作者与审核
查看编辑与审核原则- 作者
- Random Address Generator 编辑团队
- 审核
- 国际地址格式审核组
- 最近实质更新
- 依据 Australia Post addressing guidelines 核对 suburb、州缩写、四位 postcode 和 Traditional Place name 的行位置。
Australia Post 的三至四行结构
澳大利亚邮寄地址通常先写收件人,第二行写街道号与街道名,底部行写 suburb 或 locality、州或地区缩写和四位 postcode。国际邮件再在最后一行使用大写国家名。
表单上的 City 标签经常承载 suburb/locality 值。与其强迫所有国家理解美国式 City,不如在选择澳大利亚后将标签更改为 Suburb / locality。
数据字段与显示标签
澳大利亚州和地区代码可以用枚举存储,但 suburb 和 postcode 必须保留为同一参考记录。测试不应只检查 postcode 是四位数字,还要检查选择州后城市建议列表是否重新加载。
| 字段 | 示例 | 测试断言 |
|---|---|---|
| Address Line 1 | 42 Collins Street | 允许常见街道类型和单元信息 |
| Suburb / locality | Melbourne | 不自动改写为州名 |
| State | VIC | 显示全称时仍提交契约代码 |
| Postcode | 3000 | 固定当字符串处理 |
| Country | AU | 与州值分开 |
Suburb、州和 Postcode 要成组变化
仅将随机 suburb、随机州和随机四位数拼在一起,虽然能通过前端正则,却会让地区联动测试失去意义。样本应从预先核对的 suburb-state-postcode 记录中整组选择。
一个有价值的负向用例是故意将 Sydney 与 VIC 组合,检查产品能否说明“地区不一致”,而不是只提示“格式错误”。
- 正常记录:Melbourne + VIC + 3000
- 负向记录:Sydney + VIC + 3000
- 边界记录:Address Line 2 为空
- 界面记录:长 suburb 在移动端换行
Traditional Place name 如何不破坏数据模型
Australia Post 说明 Traditional Place name 可放在收件人或公司名之下、街道行之上。数据模型可以提供可选的 additional address line,而不要将这类名称强塞入 suburb 或 State。
对不使用该行的用户,字段应完全可选;对使用该行的用户,导出、打印和预览都必须保留原始字符。
格式样本不是发货地址
生成的街道和门牌组合可用于 UI、API 和数据库测试,但不能代替 Australia Post 的 postcode 查询或实际投递核验。发货前必须让用户确认并核对数据。
一次真实的澳大利亚地址审核应该看什么
我们在审核澳大利亚测试记录时,先固定一条地区元组,再改变街道和可选单元行。这样可以将“地区不一致”与“街道是合成的”两件事分开。如果每次点击都同时随机更改 suburb、州和 postcode,即使页面看起来正常,QA 也很难判断哪个字段导致失败。
其次用相同记录完成三次往返:表单提交到 API、API 写入数据库、数据库再返回编辑表单。每一次都比较原始文本、归一化值和打印行。最后切换到移动端尺寸,确认长 suburb、Traditional Place name 和错误提示不会把 postcode 挤出可见区域。
- 记录数据快照版本和生成 seed
- 分开断言可见标签、提交代码与打印文本
- 读回 CSV 而不是只检查文件已下载
- 在无地址建议服务时重跑主要流程
常见问题
澳大利亚地址中 City 应该填什么?
国际表单的 City 字段经常用来填 suburb 或 locality。界面最好根据国家将标签改成 Suburb / locality。
Postcode 应存数字还是文本?
存文本。邮编是标识符,不用于计算,文本类型也更适合统一国际地址模型。
通过四位数校验是否代表地址可投递?
不代表。这只说明字符形式像澳大利亚 postcode,不能证明它与 suburb、街道和门牌匹配。
