5. Integración continua - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

5. Integración continua

El sistema ML ejecuta pruebas para validar que el sistema funciona de principio a fin, comprobando los posibles puntos de fallo. Las pruebas se ejecutan automáticamente al confirmarse, y las pruebas más largas se ejecutan según un cronograma fijo. Las pruebas comprueban las áreas tradicionales de la ingeniería de software, como a nivel de unidad y sistema. Además, las pruebas capturan los detalles del aprendizaje automático al comprobar los datos, las características y el modelo.

5.1 Verificaciones de códigos locales

Antes de guardar el código en un repositorio de código centralizado, los desarrolladores realizan comprobaciones a nivel local, como pruebas unitarias básicas y análisis estáticos. Al ejecutar estas comprobaciones antes de confirmarlas, se aumenta la calidad general del código y se detectan los problemas antes de que se introduzcan en el control de versiones.

5.2 Análisis de código estático

El repositorio de código central tiene herramientas de análisis de código estático que se ejecutan rápidamente al confirmarse. Estas herramientas deberían mejorar el estilo y el formato del código. También debería comprobar si hay vulnerabilidades de seguridad comunes en el código fuente y de infraestructura, errores comunes y otros puntos débiles del código.

5.3 Pruebas de calidad de datos

Las pruebas de calidad de los datos deberían comprobar, como mínimo, que los datos no hayan infringido un esquema fijo. Un enfoque más completo consiste en calcular las estadísticas de los datos en el momento de la ingesta, establecer restricciones a los datos y realizar pruebas con ellas.

Es posible configurar las pruebas de calidad de los datos de forma independiente o como parte del proceso. Las estadísticas y las restricciones se reutilizan para la supervisión.

5.4 Pruebas de características

Como parte de un proceso completo, se genera la importancia de las características. Las pruebas de características afirman que la importancia de las características, o la forma en que el modelo atribuye los valores de las características, no cambia. Las pruebas de características pueden contribuir a la supervisión porque pueden alertar y rastrear las infracciones en las entradas de un modelo.

5.5 Pruebas unitarias

Las pruebas unitarias de todo el código (modelo, aplicación e infraestructura) se ejecutan antes de la confirmación y durante la confirmación. Cada prueba unitaria permite comprobar una parte importante del código para confirmar que funciona según lo esperado. En el caso del código ML, se pueden ejecutar pruebas para comprobar la corrección algorítmica.

5.6 Pruebas de integración

Una prueba de integración verifica que la tubería funcione correctamente de principio a fin, incluida la instalación de la infraestructura asociada a la tubería. Esta prueba valida que el sistema funciona y se registra según lo esperado. Si la implementación es independiente, también debería realizarse una end-to-end prueba para garantizar que la implementación funcione.

5.7 Pruebas de humo

El sistema cuenta con pruebas de humo que se ejecutan en una regresión mínima y rápida de cada una de las funcionalidades. Las pruebas de humo forman parte de la integración continua y pueden ejecutarse en un entorno contenerizado para imitar la funcionalidad de la nube.

5.8 Pruebas de carga

Se están realizando pruebas de carga bajo demanda. Además de capturar el comportamiento del sistema de aprendizaje automático con cargas altas y bajas, las pruebas de carga proporcionan estadísticas sobre el rendimiento o la latencia de todo el sistema. Los datos recopilados mediante las pruebas de carga proporcionan información sobre el tamaño de los recursos y las políticas de escalado.

5.9 Modele pruebas funcionales

Las entradas y salidas del modelo se someten a pruebas funcionales automatizadas. Para comprobar un comportamiento dentro de una capacidad, tanto las salidas como las entradas del modelo se prueban con datos reales o falsos con ejemplos básicos.

5.10 Modele pruebas de inferencia con casos extremos

Como parte de las pruebas de funcionalidad mínima, las pruebas del modelo deberían comprobar si se ha producido un comportamiento extremo con determinadas variables antes de promocionarlo. Esto coloca una barandilla adicional para ayudar a prevenir comportamientos inesperados.