Data Testing


Hace muchos años escribí mi tesis de licenciatura sobre Data Testing. En ella definí un modelo de testing para datos, haciendo un paralelo con el de testing de software. En el trabajo se repensaron varios de los conceptos básicos del testing de software, como por ejemplo el de testing funcional, el de testing de caja blanca y hasta los distintos niveles de prueba (de unidad, integración y de sistema).


Días atrás, el director de aquella tesis me envió este articulo en el que se habla del mismo tema, pero 18 años después. Por un lado, reconocí en él varias ideas de aquella época como la de usar consultas sobre los datos para probar condiciones estructurales sobre la información (los llamados supuestos en el artículo) o la de escribir dichas consultas de una forma particular, haciendo que el resultado arroje sólo las tuplas [1] con error. Por otro, encontré nuevas ideas como la de hacer testing continuo sobre ellos, corriendo las consultas todo el tiempo.

En aquel entonces escribía que los datos no eran considerados con el mismo nivel de importancia que el software. Se hablaba mucho de calidad de software y nada sobre calidad de datos. Hoy, si bien es obvio que han ganado terreno en la batalla, siento que todavía falta. Mi sensación es que desde la perspectiva de la ciencia de datos vendrá el último empujoncito que se necesita.

Seguimos pensando..
[1] Decir "tuplas" es muy de Exactas. :-)

Comentarios

  1. Qué diferencia hay con integrity constraints? Suena muy parecido pero sin la parte prescriptiva. No se puede hacer la analogía con un motor que revisa los IC al hacer commit de la transacción? (i.e.esto es la periodicidad del chequeo)

    ResponderEliminar
    Respuestas
    1. Es similar aunque en aquel momento se pensaba en algo más general, no atado a una base de datos, sino que fueran reglas que pudieran abarcar todos los datos de una compañía o de un dominio de problemas.

      Respecto a cuando chequear en aquel momento se pensaba en que puede haber varios momentos de chequeo, no solo al momento de un commit. Podrían ser a posteriori también.


      Digo en aquel momento porque pasaron muchos años de aquella tesis :-)

      Gracias por el comentario.

      Eliminar

Publicar un comentario

Muchas gracias por comentar. Por favor deja tu nombre y/o email, los comentarios son mucho más valiosos cuando se sabe quien los hace.