Es fácil crear y probar software que usa la ubicación basándose por completo en ejemplos cómodos y bien formados: una dirección limpia en una gran ciudad, una dirección IP de banda ancha residencial, una ubicación bien alejada de cualquier frontera o límite de zona horaria. Cada una de esas pruebas pasará sin fallar, y cada una de ellas te dirá casi nada sobre cómo se comporta tu sistema en las situaciones con más probabilidades de causar un problema real cuando se encuentre con datos reales y más desordenados en producción.
Un conjunto de pruebas realmente útil para software de ubicación tiene que incluir a propósito los casos más difíciles que toda esta serie ha tratado por separado: una dirección en un país sin numeración convencional de viviendas, una consulta sobre una ubicación muy cercana a una frontera internacional, una marca de tiempo que cae justo dentro de un cambio de horario de verano, una dirección IP que se sabe que pertenece al pool CGNAT de un operador móvil o a un proveedor de internet por satélite, una coordenada cerca de los polos, donde las suposiciones basadas en la longitud empiezan a fallar, y un código postal de un país cuyos datos postales son relativamente poco detallados en lugar de uno de un país con datos de referencia inusualmente detallados.
Ninguno de estos es un escenario exótico e improbable inventado solo por exhaustividad. Cada uno representa una categoría real y recurrente de entrada que cualquier base de usuarios lo bastante grande y realmente global acabará enviándote de forma previsible, a menudo antes de lo que esperas. Un sistema que nunca se ha probado con ellos no fallará de forma ruidosa y evidente, fácil de diagnosticar. La mayoría de las veces fallará en silencio, devolviendo un resultado de apariencia plausible pero sutilmente erróneo que supera todas las comprobaciones superficiales y solo aflora como un problema real mucho más tarde, normalmente como un ticket de soporte confuso o una métrica de negocio inexplicable que no cuadra, momento en el que resulta bastante más difícil rastrearlo hasta su verdadera causa raíz.
Crear este tipo de conjunto de pruebas es en sí la misma disciplina descrita antes para medir tanto la precisión como la cobertura: una colección fija, variada a propósito y reutilizable de entradas de prueba, que se comprueba no solo para ver si llega alguna respuesta plausible, sino específicamente para ver si los campos precision y confidence de esa respuesta se comportan de forma sensata y coherente según la dificultad real de cada entrada. Un resultado de baja confianza y precisión aproximada para un caso realmente difícil es un resultado correcto y honesto, y debe considerarse un acierto. Un resultado erróneo con total confianza, o un error no controlado, es el fallo real que vale la pena detectar antes de que lo encuentren tus usuarios por ti.
Nuestra documentación cubre los campos exactos y el comportamiento que cabe esperar en cada endpoint, y es la referencia adecuada para empezar a crear este tipo de conjunto de pruebas deliberadamente adverso para los casos límite concretos que más importan a tu aplicación y a sus usuarios.
No todos los conjuntos de datos con información de ubicación de apariencia pública pueden usarse legalmente dentro de un producto de pago. Las condiciones de la licencia, y no la disponibilidad técnica, suelen marcar el límite real.
Cuando una consulta realmente no se puede resolver de forma fiable, no devolver nada es mejor respuesta que devolver una suposición disfrazada de hecho. Este es el razonamiento detrás de esa decisión.
Clasificar una dirección IP como empresarial o residencial es una señal realmente útil para muchas aplicaciones, pero es una inferencia a partir de las características de la red, no un hecho garantizado.