Cómo validar datos, análisis y visualizaciones de datos

Probar aplicaciones es una disciplina en proceso de maduración con herramientas que ayudan a los equipos de control de calidad a desarrollar y automatizar pruebas funcionales, ejecutar pruebas de carga y rendimiento, realizar análisis de código estático, empaquetar API con pruebas unitarias y validar aplicaciones frente a problemas de seguridad conocidos. Los equipos que practican devops pueden implementar pruebas continuas al incluir todas o un subconjunto de sus pruebas automatizadas en sus canalizaciones de CI / CD y usar los resultados para determinar si una compilación debe entregarse en el entorno de destino.

Pero todas estas capacidades de prueba pueden ignorar fácilmente un conjunto crucial de pruebas que es fundamental para el procesamiento de cualquier aplicación o la presentación de datos, análisis o visualizaciones de datos.

¿Son los datos precisos y los análisis válidos? ¿Las visualizaciones de datos muestran resultados que tienen sentido para los expertos en la materia? Además, a medida que un equipo realiza mejoras en las canalizaciones de datos y las bases de datos, ¿cómo deberían asegurarse de que los cambios no dañen una aplicación o un panel de control?

En mi experiencia en el desarrollo de aplicaciones ricas en datos y análisis, este tipo de prueba y validación suele ser un segundo pensamiento en comparación con las pruebas unitarias, funcionales, de rendimiento y seguridad. También es un conjunto de criterios de prueba más difícil de realizar por varias razones:

  • Validar datos y análisis es difícil para los desarrolladores, evaluadores y científicos de datos que generalmente no son expertos en la materia, especialmente en cómo se utilizan los paneles y las aplicaciones para desarrollar conocimientos o impulsar la toma de decisiones.
  • Los datos en sí mismos son imperfectos, con problemas de calidad de datos conocidos y, a menudo, desconocidos.
  • Intentar capturar las reglas de validación no es trivial porque a menudo hay reglas comunes que se aplican a la mayoría de los datos seguidas de reglas para diferentes tipos de valores atípicos. Intentar capturar y codificar estas reglas puede ser una propuesta difícil y compleja para aplicaciones y visualizaciones de datos que procesan grandes volúmenes de conjuntos de datos complejos.
  • Las organizaciones activas basadas en datos están cargando nuevos conjuntos de datos y canalizaciones de datos en evolución para mejorar la analítica y la toma de decisiones.
  • Los sistemas de procesamiento de datos suelen ser complejos, con diferentes herramientas para integrar, administrar, procesar, modelar y entregar resultados.

El hecho de que los equipos por primera vez presenten datos incorrectos o análisis no válidos a las partes interesadas suele ser la primera llamada de atención de que sus prácticas y herramientas pueden ser necesarias para probar, diagnosticar y resolver estos problemas de datos de manera proactiva.

Comprender el linaje y la calidad de los datos

Los problemas de datos se abordan mejor en sus fuentes y mediante las diversas transformaciones de datos realizadas al cargar y procesar los datos. Si los datos de origen tienen nuevos problemas de calidad de datos o si se introducen defectos en la canalización de datos, es mucho más eficiente identificarlos y resolverlos al principio de la canalización de procesamiento de datos.

Dos prácticas y herramientas relacionadas ayudan con estos problemas. Ambos permiten que los equipos de desarrollo y de datos identifiquen problemas de datos antes de que lleguen a las visualizaciones y aplicaciones de datos posteriores.

La primera práctica involucra herramientas de calidad de datos que a menudo son capacidades complementarias para extraer, transformar y cargar (ETL), así como algunas herramientas de preparación de datos. Las herramientas de calidad de datos sirven para múltiples propósitos, pero una cosa que pueden hacer es identificar y corregir problemas de datos conocidos. Algunas correcciones pueden automatizarse, mientras que otras pueden marcarse como excepciones y enviarse a administradores de datos para corregirlas manualmente o actualizar las reglas de limpieza.

Informatica, Talend, IBM, Oracle, Microsoft y muchos otros ofrecen herramientas de calidad de datos que se conectan a sus plataformas ETL, mientras que las herramientas de preparación de datos de Tableau, Alteryx, Paxata, Trifacta y otros tienen capacidades de calidad de datos.

La segunda práctica es el linaje de datos. Si bien la calidad de los datos ayuda a identificar problemas de datos, el linaje de datos es un conjunto de prácticas y herramientas que rastrean los cambios en los datos y las implementaciones subyacentes. Ayudan a los usuarios a comprender en qué parte del ciclo de vida de los datos se implementa una transformación, cálculo u otra manipulación de datos. Las herramientas de linaje de datos, los informes y la documentación se pueden usar para rastrear hasta una canalización de datos y ayudar a identificar en qué parte de un flujo de datos se introdujo un defecto u otro problema.

Usar conjuntos de datos dorados para validar visualizaciones de datos

Los análisis, los paneles y las visualizaciones de datos no operan en fuentes de datos estáticos. Los datos están cambiando a cierta velocidad y, al mismo tiempo, los desarrolladores y científicos de datos pueden estar modificando los flujos de datos, algoritmos y visualizaciones subyacentes. Cuando mira un tablero, es difícil separar si un problema de datos imprevisto se debe a un cambio programático o si está relacionado con los datos o cambios en la calidad de los datos.

Una forma de aislar los cambios es separar un conjunto de datos dorado conocido para ayudar a validar el flujo de datos, la aplicación y los cambios de visualización de datos. Con un conjunto de datos de oro, un equipo de pruebas puede definir pruebas de rendimiento, funcionales y unitarias para validar y comparar los resultados. Los evaluadores pueden ejecutar pruebas A / B, donde A es el resultado antes de que se introdujeran los cambios de implementación y B es el resultado después de que se realizaron los cambios. La prueba solo debe mostrar diferencias en la salida en áreas esperadas donde se cambiaron los flujos de datos, modelos, análisis, lógica de negocios o visualizaciones.

Si bien este es un concepto relativamente simple, no es trivial de implementar.

Primero, los equipos tienen que crear los conjuntos de datos de oro y decidir qué volumen y variedad de datos constituyen un conjunto de muestra completo para probar. También puede requerir múltiples conjuntos de datos para ayudar a validar diferentes segmentos de datos, condiciones de contorno o modelos analíticos. Una herramienta que puede ayudar a los equipos a gestionar los datos de prueba es Delphix para la gestión de datos de prueba; otros proveedores también ofrecen esta capacidad.

En segundo lugar, una vez que se crean los conjuntos de datos dorados, los equipos de prueba pueden requerir entornos o herramientas adicionales para cambiar las fuentes de datos subyacentes en sus entornos. Por ejemplo, los evaluadores pueden querer probar con los conjuntos de datos dorados y luego ejecutar una segunda vez con datos que son una réplica de los datos de producción. Los equipos que operan en entornos de nube y utilizan herramientas de infraestructura como código como Puppet, Chef y Ansible pueden construir y derribar múltiples entornos de prueba para estos diferentes propósitos.

Por último, los equipos de pruebas necesitan herramientas para implementar pruebas A / B de datos y resultados. Muchos equipos que conozco hacen esto manualmente escribiendo consultas SQL y luego comparando los resultados. Si los conjuntos de datos y las pruebas son simples, este enfoque puede ser suficiente. Pero si es necesario probar varios puntos en el flujo de datos, es probable que necesite herramientas dedicadas para centralizar las consultas de prueba, automatizarlas y usar informes para validar los cambios. Una herramienta, QuerySurge, está diseñada específicamente para implementar pruebas A / B contra flujos de datos, bases de datos y algunas herramientas de inteligencia empresarial.

Trabajar con expertos en la materia de manera eficiente

En algún momento, debe involucrar a expertos en la materia para usar visualizaciones de datos nuevas y actualizadas y proporcionar comentarios. Deben ayudar a responder preguntas sobre si el análisis es válido y útil para desarrollar conocimientos o ayudar en la toma de decisiones basada en datos.

El problema al que se enfrentan muchos equipos es obtener suficiente tiempo de los expertos en la materia para participar en estas pruebas. Esto puede ser un desafío importante cuando se intenta probar e implementar cambios con frecuencia.

Para usar su tiempo de manera eficiente, recomiendo tres actividades separadas:

  • Implemente tanta calidad de datos, linaje de datos y pruebas A / B como sea posible en conjuntos de datos dorados. Antes de involucrar a expertos en la materia, haga esfuerzos razonables para validar que los datos sin procesar y calculados sean correctos. Esto debe hacerse con confianza para que pueda explicar e, idealmente, ilustrar a los expertos en la materia que los datos, las transformaciones y los cálculos subyacentes son precisos, por lo que puede estar seguro de que no es necesario invertir mucho tiempo para probarlos manualmente.
  • Diseñe visualizaciones de datos para ayudar a los expertos en la materia a revisar y validar los datos y el análisis. Algunas visualizaciones pueden ser resultados de las pruebas A / B, mientras que otras deberían ser visualizaciones que exponen datos de bajo nivel. Cuando se implementan cambios de visualización, modelo, algoritmo o datos a mayor escala, a menudo resulta útil tener estas visualizaciones de datos de control de calidad para ayudar a los expertos en la materia a realizar validaciones rápidas.
  • Desea que los expertos en la materia realicen pruebas de aceptación del usuario (UAT) en las aplicaciones finalizadas y visualizaciones de datos. Para cuando lleguen a este paso, deben tener plena confianza en que los datos y los análisis son válidos.

Este último paso es necesario para determinar si las visualizaciones son efectivas para explorar los datos y responder preguntas: ¿Es la visualización fácil de usar? ¿Están disponibles las dimensiones correctas para profundizar en los datos? ¿La visualización ayuda con éxito a responder las preguntas para las que fue diseñada?

En este punto del proceso, está probando la experiencia del usuario y asegurándose de que los paneles y las aplicaciones estén optimizados. Este paso crítico se puede realizar de manera mucho más eficiente cuando hay comprensión y confianza en los datos y análisis subyacentes.