用边界情况而不只是理想路径来测试位置数据
一个位于地图完善的市中心的地址,几乎无法告诉您系统如何处理乡村路线、有争议的边界或靠近两极的查询。请有意识地测试这些困难情况。
人们很容易把位置数据看作一种固定的参考资料,编制一次之后就可以永远查询下去。实际上,每一类位置数据都会随时间变化,只是变化速度差异很大,而理解这些速度,是理解响应中某个字段所谓“最新”到底意味着什么的一部分。
地址数据会随着新建工程以及邮政部门调整投递区域或为发展中地区引入新编码而变化。在快速发展的地区,这可能意味着出现了一年前根本不存在的全新地址,这严格来说是覆盖范围上的缺口,而不是准确度错误,因为在地址存在之前,本就无所谓准确与否。
IP 分配数据的变化周期明显更快。地址段会在不同组织之间重新分配,互联网服务商会调整客户流量的路由方式,托管服务商也会定期启用和停用地址段。这是一个比实体地址数据活跃得多的类别,因为街道和建筑的真实地理位置不会移动,而某个 IP 段分配给哪个运营方却完全可能改变,有时就在几周之内。
时区规则数据从绝对意义上说变化最少,因为大多数时区很长时间都没有任何规则变化。但一旦发生变化,就需要立即、完整地传播到所有地方,因为过时的时区规则在被纠正之前,会让涉及该时区的每一次查询都得到错误的答案,而不只是稍有不精确。
威胁和网络分类数据,比如哪些地址段当前属于已知的 VPN 或托管服务商,是所有这些类别中过时最快的,有时几天之内就会明显变化,因为新服务不断上线,地址段在不同用途之间重新分配的周期,也比地理位置背后的实体或行政事实短得多。
这在实践中意味着,“这些数据应该有多新”并没有一个通用答案,而是取决于您问的是哪个字段。一个合理的系统会按照每个类别在现实世界中实际变化的速度,以相应的节奏更新该类别,而不是把所有数据都当作同样静态或同样易变。如果您构建的东西高度依赖某个特定类别,比如用于反欺诈的 IP 到组织的映射,或者用于配送服务的邮政边界,那么值得具体询问该类别是如何保持最新的,而不是假定一个关于“数据”的笼统回答同样适用于响应中的每个字段。