Para probar software, ¿muchos datos o datos adecuados?

netzima

¿Calidad o cantidad? Esta cuestión se plantea habitualmente a la hora de probar software. 

En este artículo compartimos en qué casos tiene sentido copiar una base de datos de producción completa y cuándo es suficiente con una parte de ella. Además, identificaremos qué papel juega la segmentación de datos en este contexto.

Muchas empresas aún hoy en día copian la base de datos de producción completa en entornos previos para suministrar datos a sus equipos de pruebas de software.

Hay casos de uso para los cuales pueda ser necesario hacerlo. 

Por ejemplo, para ejecutar pruebas de rendimiento conviene disponer en el entorno de pruebas de un volumen de datos comparable al real, de igual forma que se necesita una infraestructura también comparable. En este caso, copiar la base de datos completa de producción y disociar los datos sensibles es una solución razonable.

Sin embargo, un volumen elevado de datos en entornos previos conlleva una serie de problemas que sería deseable evitar: 

  • El coste de almacenamiento e infraestructura necesarios para gestionar los datos es más elevado.
  • Los tiempos de los procesos funcionales son más largos.
  • Los procesos de administración, respaldo y restauración de copias de seguridad son más lentos y costosos. 

La mayor parte de las pruebas son de carácter funcional. Necesitan los datos adecuados, no muchos datos. 

Segmentación de datos.

La segmentación es el proceso de extracción de subconjuntos coherentes de datos de un entorno de origen y su entrega en un entorno de destino. Frecuentemente estos entornos son el de producción y el de pruebas, respectivamente. 

Los datos sensibles deberán ser disociados en el proceso.

Se trata, por ejemplo, de extraer un cliente junto con su información relacionada – cuentas, servicios, pedidos, facturas, reclamaciones – del entorno de producción, disociar sus datos sensibles y entregarlo en un entorno de pruebas.

El objetivo de la segmentación es, precisamente, suministrar a demanda los datos adecuados que necesitan las pruebas funcionales, no muchos, para que sea el probador el que se busque la vida (o no) para localizar los que de verdad necesita entre todos los existentes eficazmente. 

¿Cómo se realiza una buena segmentación de datos?

6 Pasos a seguir para realizar una buena segmentación para probar software.

La segmentación es un proceso que requiere de tiempo, conocimientos y, sobre todo, gran habilidad. Por ello, lo primero de todo debemos conocer es qué pasos seguir para conseguir una segmentación de calidad:

  1. Localizar las relaciones físicas (que existen en las bases de datos como restricción de integridad) o lógicas (que no están definidas en el modelo físico de datos).
  2. Identificar los  índices únicos y las claves primarias para evitar el conflicto en estas restricciones.
  3. Restringir el ámbito del movimiento al necesario, es decir, no incluir sistemas o ámbitos de datos periféricos si no se van a usar o no aportan valor.
  4. Traducir códigos, esto es, variar los identificadores que referencian tablas de catálogo para adaptar el dato entregado al entorno de destino.
  5. Gestionar las secuencias en las tablas a mover.
  6. Manejar los triggers y otras restricciones que podrían existir en el modelo de datos del destino.

Condiciones que debe cumplir una buena segmentación de datos para probar software.

Una vez conocemos cómo realizar una buena segmentación de datos debemos conocer las condiciones indispensables que se deben cumplir durante el proceso y que alimentan los pasos anteriormente descritos:

  1. Puede ser invocado a demanda, cuando el probador necesita los datos.
  2. Incorpora la política de disociación de datos sensibles, para facilitar el cumplimiento de GDPR.
  3. Permite la entrega repetitiva y coherente del mismo dato para poder repetir pruebas o reutilizar estructuras conocidas.

Dificultades en la segmentación de datos.

Evidentemente el diseño y la puesta en marcha de un proceso de segmentación de datos se enfrenta a dificultades. 

Lo sabemos porque hemos pasado por ello en numerosas ocasiones y en entornos muy variados. 

  • Gestionar los estados y el ciclo de vida del metamodelo de base de datos en los distintos sistemas. 

Los distintos entornos (producción, preproducción, desarrollo, pruebas…) manejan distintos ciclos de vida en la entrega del metamodelo de base de datos, es por ello que un campo, entidad o restricción puede existir en unos sistemas y no en otros. Una restricción no satisfecha imposibilita la entrega de un dato y, por tanto, es necesario revisar el estado del sistema en cada movimiento de forma automática.

  • Compatibilizar la gestión de los secuenciales en base de datos con los propios aplicativos que trabajan estos sistemas. 

icaria debe ser capaz de entender, modificar y generar secuenciales tal y como lo haría la aplicación nativa de esa base de datos.

  • Localizar las relaciones lógicas y que, por tanto, no existen con integridad referencial en el modelo de datos. 

Habitualmente  encontramos que la mayoría de los sistemas no disponen con integridad referencial,  es por eso que se hace imprescindible un primer proceso que explore las relaciones lógicas entre entidades.

  • Ser coherente con las respectivas entregas de un mismo dato. 

La entrega repetitiva de un mismo dato habitualmente conviene que genere un mismo resultado. De esta forma se facilita la repetición de pruebas hacia los desarrolladores y también a los automatismos que requieren de dichos datos.

  • Entrega coherente en todos los sistemas que componen la estructura. 

Una misma entidad fuerte, por ejemplo un cliente de una comercializadora de energía, se encontrará en múltiples sistemas (sistema de facturación, de cobro, de suministro…), por ello, la entrega debe ser coherente para que la ejecución de las pruebas de esa entidad consigan que el ciclo se pueda completar en todos los sistemas que lo requieran.

icaria TDM: la herramienta idónea para realizar segmentación de datos para probar software

Para conseguir una segmentación adecuada y con resultados fiables se debe contar con una herramienta tecnológica que te permita alcanzar esos resultados deseados.  Por ello, icaria TDM cuenta con funcionalidades como la prospección para localizar las relaciones lógicas, la posibilidad de crear un mapa de datos para identificar los identificadores que se expanden en los diferentes sistemas e incluso te ofrece realizar la gestión de reintentos en la entrega de datos para garantizar una entrega satisfactoria en aquellos sistemas en los que existen integridad referencial.

Además,  gracias a la trazabilidad con la que cuenta icaria TDM puede garantizar la repetición de entregas coherentes de datos.

¿Todavía tienes dudas de qué herramienta escoger?

 

Conclusión.

Aunque hay muchas empresas que copian sus datos directamente para testar aplicaciones de negocios, la disociación de sus datos sensibles es una alternativa más efectiva y segura a nivel de GDPR y ante posibles brechas de datos. 

Teniendo presentes los retos de espacio, costes y tiempos, a través de un proceso de segmentación y disociación podremos aumentar la calidad del software utilizando solo los datos que realmente necesitamos.

¿Necesitas ayuda para automatizar la segmentación y disociación de datos para probar software? Contacta ahora con icaria Technology y comienza a mejorar la calidad del software de gestión de datos de prueba.

También te puede interesar:

Segmentación: no toda la base de datos. Sólo una parte.

Compartir:

Share on facebook
Share on twitter
Share on pinterest
Share on linkedin