[en] Testing and quality control processes are a main part of any software development project. In general, it is about ensuring the success of the final product through a cycle that includes design, implementation, testing, and deployment/integration, in that order. QA engineers work throughout the software development lifecycle using agile methodologies and testing all progress in small, iterative increments. Technological solutions based on Artificial Intelligence and Machine Learning naturally support iterative continuous learning processes. They require ensuring the quality of the input data, evaluating the expected output of the trained models using defined metrics, and exploring the parametric configurations of those models. On many occasions, the final solution requires combining different models, algorithms, heuristics and pre-/post-processing stages that increase the complexity of the testing and quality control processes. These processes must be incorporated not only in the stage prior to putting into production but also as part of ongoing maintenance whenever changes occur in any part of the system. This Master's Final Project addresses the review of the processes and tools of Quality Assurance typical of software development and its possible application to the area of Machine Learning. An analysis of the new Data Centric and MLOps methodologies for the quality control of complex technological solutions based on Artificial Intelligence is also carried out. Finally, the application of these strategies and concepts of Quality Assurance to a practical use case in the area of automatic document processing is proposed.

[es] Los procesos de pruebas y control de calidad son parte principal de cualquier proyecto de desarrollo de software. En general, se trata de asegurar el éxito del producto final mediante un ciclo que incluya diseño, implementación, prueba y despliegue/integración, en ese orden. Los ingenieros de control de calidad trabajan durante todo el ciclo de vida del desarrollo de software utilizando metodologías ágiles y probando todo el progreso en incrementos pequeños e iterativos. Las soluciones tecnológicas basadas en Inteligencia Artificial y Aprendizaje Automático soportan de forma natural los procesos iterativos de aprendizaje continuo. Requieren asegurar la calidad del dato de entrada, evaluar la salida esperada de los modelos entrenados usando unas métricas definidas y explorar las configuraciones paramétricas de dichos modelos. En muchas ocasiones, la solución final requiere combinar distintos modelos, algoritmos, heurísticas y etapas de pre-/post-procesado que elevan la complejidad de los procesos de pruebas y el control de calidad. Estos procesos deben ser incorporados no solo en la etapa previa a la puesta en producción sino también como parte del mantenimiento continuo cada vez que se producen cambios en alguna parte del sistema. El presente Trabajo Final de Máster aborda la revisión de los procesos y herramientas de Aseguramiento de la Calidad típicos del desarrollo software y su posible aplicación al área de Aprendizaje Automático. También se realiza un análisis de las nuevas metodologías Data Centric y MLOps para el control de calidad de soluciones tecnológicas complejas basadas en Inteligencia Artificial. Por último, se plantea la aplicación de dichas estrategias y conceptos de Aseguramiento de la Calidad a un caso de uso práctico en el área del procesamiento automático de documentos.