qué son los datos sintéticos
05/09/2023

¿Qué son los datos sintéticos y qué utilidades tienen?

Los datos sintéticos se han convertido en una estrategia clave para el desarrollo y las pruebas de software. Permiten a los equipos trabajar con conjuntos representativos y de calidad sin exponer información sensible, un equilibrio cada vez más difícil de sostener a medida que las normativas de privacidad se endurecen. En los entornos de testing, donde hacen falta datos fiables y a la vez conformes con la normativa, se han vuelto una pieza habitual del trabajo diario.

La Agencia Española de Protección de Datos recoge su uso entre las estrategias de seguridad, y el Supervisor Europeo de Protección de Datos ha señalado su crecimiento en ámbitos como el aprendizaje automático y el aseguramiento de la calidad.

En esta guía vemos qué son los datos sintéticos, para qué sirven, cómo se generan y por qué el enfoque de icaria TDM produce datos especialmente realistas para las pruebas de aplicaciones de negocio.

¿Qué son los datos sintéticos?

Los datos sintéticos son conjuntos de datos generados de forma artificial en lugar de recopilados de fuentes reales. Conservan las características y las propiedades estadísticas del conjunto original, pero sin corresponder a información real ni identificable.

Su primera aparición se sitúa en la década de 1990, de la mano del profesor de estadística de la Universidad de Harvard Donald B. Rubin. Su relevancia ha crecido con el auge de la inteligencia artificial y el aprendizaje automático, y con unas necesidades cada vez más complejas en torno al análisis y el uso de datos.

Se crean bajo demanda, por lo que pueden ajustarse a las necesidades específicas de cada proyecto. Su calidad depende, en gran medida, de la precisión de los algoritmos que los generan y de las suposiciones empleadas en su generación. Por eso su validación es determinante, para verificar que son representativos y, por tanto, útiles.

Para qué sirven los datos sintéticos

Los datos sintéticos vienen a resolver varios problemas y situaciones a los que se enfrentan las organizaciones:

El equilibrio entre privacidad y utilidad

Las empresas están obligadas a proteger los datos con los que trabajan y, al mismo tiempo, quieren extraer valor de ellos mediante su análisis o su incorporación a procesos internos. Los datos sintéticos permiten construir conjuntos útiles y seguros a la vez.

Compartir datos con terceros de forma segura

Resuelven el problema de intercambiar conjuntos insuficientemente anonimizados, que ponen en riesgo la privacidad y pueden acarrear problemas legales en el marco del Reglamento General de Protección de Datos.

Disponer de datos suficientes y de calidad

Cuando los datos reales resultan escasos para un proyecto, los sintéticos permiten cubrir escenarios poco frecuentes y casos extremos, y ayudan a reducir sesgos presentes en los datos originales al ampliar la variedad del conjunto.

Reducir la dependencia de los datos productivos

Generar datos sintéticos puede llevar minutos, frente a los días o semanas que suele exigir obtener datos productivos anonimizados. Esto agiliza los flujos de trabajo y evita los cuellos de botella asociados a los entornos de producción.

Su aplicación es cada vez más común en sectores donde el uso de datos reales está limitado o presenta riesgos, como la salud, las finanzas o el sector público. Entre sus usos principales está el desarrollo y las pruebas de software.

¿Datos sintéticos o datos anonimizados?

Los datos sintéticos y la anonimización son dos enfoques distintos para proteger la privacidad, cada uno con ventajas y limitaciones según el contexto.

Desde el punto de vista de la utilidad, los datos sintéticos pueden conservar el valor de los datos originales de forma más efectiva. Algunas técnicas clásicas de anonimización degradan la calidad de los datos y dificultan su uso; los sintéticos se crean, precisamente, para mantener la utilidad mientras se protege la información.

Hay además una diferencia normativa relevante. El RGPD considera que ciertas técnicas de anonimización son en realidad de "pseudonimización", ya que los datos pueden "atribuirse a una persona física mediante el uso de información adicional". La norma establece que esos datos deben tratarse como información sobre una persona identificable, de modo que sigue aplicando la legislación de privacidad. Los datos sintéticos, al generarse artificialmente, no contienen información directa sobre individuos, lo que reduce de forma significativa el riesgo de reidentificación.

Los datos sintéticos aportan también mayor flexibilidad, porque pueden representar una variedad más amplia de escenarios, y mayor control sobre el nivel de detalle y el ruido del conjunto. La elección entre uno y otro enfoque depende de la naturaleza de los datos, los requisitos de privacidad y la regulación aplicable. En muchos casos, una combinación de ambos es la solución más adecuada, y son los expertos en diseño de conjuntos de datos quienes deben decidirlo.

Datos sintéticos en el testing de software

En los proyectos de pruebas, los equipos deben enriquecer los entornos preproductivos con datos útiles sin descuidar el cumplimiento de normativas de privacidad cada vez más estrictas. Es un reto que se vuelve costoso e ineficaz sin las herramientas y los procesos adecuados. Los datos sintéticos son una de las respuestas más habituales a esa tensión.

Privacidad y cumplimiento normativo

Al no incluir información sensible, los datos sintéticos se alinean con las exigencias del RGPD, que reconoce tanto la anonimización como la generación de datos sintéticos como mecanismos válidos para proteger la privacidad. Con regulaciones similares apareciendo en distintos mercados, como la CPRA en California, su uso se ha consolidado como parte del testing moderno. Conviene recordar que las autoridades europeas de protección de datos han impuesto sanciones millonarias por incumplimientos en los últimos años, un riesgo que el uso de datos de prueba conformes ayuda a contener.

Cobertura de escenarios complejos y casos extremos

Los datos sintéticos permiten construir conjuntos bajo demanda, adaptados a escenarios poco comunes o condiciones extremas. Esto mejora la profundidad y la robustez de las pruebas, favorece la detección temprana de fallos y ayuda a eliminar sesgos presentes en los datos reales.

Menos dependencia de los datos productivos

Obtener datos productivos anonimizados puede llevar días o semanas. Generar datos sintéticos lleva minutos, y escalarlos o replicarlos es mucho más sencillo. El resultado son flujos de trabajo más ágiles y menos cuellos de botella.

Coherencia entre etapas

Unos buenos datos de prueba preservan la integridad referencial y las relaciones entre datos, lo que asegura la consistencia entre los entornos de desarrollo, preproducción y producción.

Gartner apunta en esta misma dirección. En su nota 3 Steps to Improve Test Data Management for Software Engineering, recomienda a los responsables de ingeniería de software impulsar el uso de herramientas de generación de datos sintéticos en las pruebas y acelerar la automatización combinando distintas técnicas de generación.

Cómo se generan los datos sintéticos

Existen tres grandes familias de técnicas de generación:

  • Generación basada en reglas. Se construyen conjuntos siguiendo reglas lógicas predefinidas. En una aplicación médica, por ejemplo: nombres ficticios, edades dentro de un rango, diagnósticos y tratamientos coherentes entre sí.

  • IA y aprendizaje automático. Modelos generativos como las redes generativas antagónicas (GAN), los autoencoders variacionales (VAE) o los grandes modelos de lenguaje (LLM) aprenden las características del conjunto original para reproducirlas con alta fidelidad.

  • Métodos estadísticos. Modelos matemáticos que reproducen las distribuciones originales mediante muestreo aleatorio, modelos paramétricos o redes bayesianas.

Cada técnica tiene sus propios requisitos de entrada y resulta óptima para un caso de uso distinto. La elección depende del tipo de datos que se necesita, de las exigencias de privacidad que hay que cumplir y del escenario en el que se van a usar.

Generación manual y automática de datos sintéticos

La generación de datos sintéticos puede hacerse de forma manual o automática, y cada vía responde a necesidades distintas.

La generación manual es la más extendida. Permite construir conjuntos concretos y a medida, pero es lenta, difícil de escalar y propensa a errores humanos, lo que la hace poco fiable para necesidades de prueba amplias.

La generación automática, mediante herramientas especializadas, produce con rapidez grandes volúmenes de datos diversos y complejos. Ahorra tiempo y mejora la cobertura de las pruebas, lo que contribuye a un software más robusto.

La dificultad de la vía automática es encontrar una herramienta capaz de producir datos lo bastante realistas para imitar escenarios operativos reales y, al mismo tiempo, mantenerlos anonimizados y conformes con la normativa de protección de datos. Ese equilibrio es más exigente cuanto más compleja es la aplicación que se va a probar.

Datos sintéticos para aplicaciones de negocio

No todos los casos de uso de generación de datos sintéticos son iguales. Generar datos sintéticos para un fichero de pruebas en un entorno de Big Data implica poca variación en las tecnologías de persistencia y en los tipos de datos, pocas relaciones entre ellos y, a cambio, un volumen enorme de registros.

Las aplicaciones de soporte al negocio plantean un problema distinto. En este caso el volumen no representa un obstáculo, y la dificultad está en las estructuras, porque los modelos de datos son complejos, las relaciones y dependencias entre datos son muy numerosas y, con frecuencia, intervienen varias tecnologías de persistencia a la vez. Pensemos en la generación de un cliente sintético para probar la contratación de un producto nuevo. En ese proceso participan las aplicaciones de CRM, facturación, cobros y provisión del servicio. Cada una tiene su propia base de datos, con una tecnología diferente, que alberga su propio modelo de datos y sus dependencias con las demás.

En este tipo de aplicaciones, la técnica de generación condiciona el resultado. Para las aplicaciones de negocio, la fidelidad que exige el testing integrado se obtiene partiendo de una estructura real y coherente. Generar registros de la nada, sin ese anclaje, difícilmente reproduce la integridad referencial entre sistemas que estas pruebas necesitan.

Por eso icaria TDM genera los datos sintéticos a partir de la estructura real. La idea de fondo es partir de una estructura de datos coherente, creada por las propias aplicaciones, que ofrece la integridad estructural necesaria en el dominio de datos relevante para la prueba. Sobre esa base se aplican reglas de generación que modifican solo los atributos necesarios. Con este método, icaria TDM genera clientes completos, con sus cuentas, contratos, movimientos, servicios, facturas y reclamaciones, para varias aplicaciones a la vez y con distintas tecnologías de base de datos, manteniendo la coherencia necesaria para las pruebas que afectan a varios sistemas (pruebas integradas).

Cómo genera datos sintéticos icaria TDM

La generación de icaria TDM parte de tres elementos.

  • Un dominio de datos. El conjunto de tablas y relaciones de todas las aplicaciones involucradas en la prueba que consumirá los datos generados. Este dominio define el perímetro sobre el que se va a trabajar.
  • Una instancia de datos. Un ejemplo real de datos disponible en las bases de datos de las aplicaciones, posiblemente procedente de producción. icaria TDM lo entrega en un entorno previo mediante segmentación, se ajusta a través de los aplicativos hasta constituir un modelo válido y se almacena de nuevo en un repositorio interno para preservarlo y reutilizarlo.
  • Un conjunto de reglas de generación. icaria TDM ofrece un catálogo amplio y extensible de reglas, que se aplican en los puntos necesarios de la estructura de datos y son de dos tipos. Las reglas técnicas generan atributos de carácter técnico, como los identificadores únicos. Y las funcionales aportan valores con sentido de negocio, como el nombre del cliente.
Reglas para la generación de datos sintéticos
Catálogo de reglas de generación

Una vez que el Arquitecto de Datos configura el proceso y lo publica en el portal de autoservicio, el usuario genera los datos que necesita en tres pasos:

  1. Selección de la plantilla de datos

    El usuario dispone de distintas plantillas según los datos que necesite. Cada plantilla cubre un dominio completo (el cliente, con sus cuentas, contratos y servicios, por ejemplo) para varias aplicaciones a la vez.

  2. Elección del modelo

    El usuario elige qué estructura de datos reales servirá de modelo para generar las copias sintéticas.

  3. Elección del repositorio

    El usuario decide el número de copias y dónde se almacenan. Habitualmente, las copias sintéticas se conservan en el repositorio interno de icaria TDM, de forma que se preservan y pueden entregarse por autoservicio en cualquier entorno tantas veces como lo requieran las pruebas.

    Todo el proceso funciona con especificaciones mínimas por parte del usuario. El trabajo de modelado lo asume el Arquitecto de Datos una sola vez, y los equipos de testing consumen los datos cuando los necesitan.

    Proceso de generación de datos sintéticos para testing
    Proceso de generación de datos sintéticos con icaria TDM.

    Los datos se entregan por autoservicio, e icaria TDM se integra con herramientas de terceros mediante API. Esto permite encajar la provisión de datos en los flujos de automatización de pruebas, sin depender de una preparación manual en cada ciclo.

    Real world data: datos realistas sin información sensible

    El resultado de este enfoque es lo que en icaria llamamos real world data: datos muy parecidos a los del mundo real, despojados de la información sensible que no debería salir de producción. Reproducen el comportamiento de los datos reales sin contener información personal identificable.

    Estos datos presentan las características que las pruebas de aplicaciones de negocio necesitan:

    • Profundidad histórica. Un cliente se representa con todo su histórico de cuentas, contratos, movimientos, facturas y reclamaciones, con la evolución que tendría en un sistema real.

    • Relaciones complejas. Las entidades se conectan entre sí y entre aplicaciones, con las dependencias propias de una arquitectura real.

    • Integridad referencial. Esas relaciones se mantienen coherentes a través de todas las aplicaciones implicadas, también cuando cada una usa una tecnología de base de datos distinta.
    • Convivencia con los datos originales. Los registros sintéticos pueden coexistir con los reales en el mismo entorno de pruebas sin romper su coherencia.
    • Sin información sensible. El motor de enmascaramiento y anonimización localiza los datos sensibles en las bases de datos y sustituye por valores sintéticos los atributos que identifican a personas, operando sobre el mismo metamodelo.

    Con datos de estas características, los equipos ejecutan pruebas fiables incluso en los escenarios más exigentes, como las pruebas integradas que afectan a varias aplicaciones a la vez.

    Datos sintéticos para tu proyecto

    Los datos sintéticos son hoy una herramienta esencial del testing y el desarrollo de software. Permiten entornos de prueba más eficientes, escalables y seguros, alineados con normativas como el RGPD. En las aplicaciones de negocio la complejidad estructural pesa más que el volumen, y generar datos verosímiles sin perder la integridad referencial entre sistemas requiere partir de una estructura real.

    icaria TDM ofrece la generación de datos sintéticos dentro de una plataforma integral de gestión de datos de prueba, en la que los equipos combinan datos reales y sintéticos para preparar sus entornos de testing. Si quieres valorar cómo encaja en tu proyecto, solicita una demo de icaria TDM y lo revisamos con tu equipo.

    icaria TDM - herramienta de gestión de datos de prueba para aplicaciones de negocio
    Compartir
    Financiado por
    Certificados y reconocimientos
    magnifiercrossmenuchevron-down