Automatización de pruebas en CI/CD

Clase 7 de 9Curso de Introducción a la Automatización de Pruebas

Resumen

La industria del software evoluciona rápidamente, por lo tanto, se debe construir y entregar valor constantemente. La integración continua y el despliegue continuo (CI/CD) consiste en distribuir las aplicaciones lo más rápido posible con la ayuda de la automatización de pruebas.

En la siguiente imagen observarás la forma convencional (Waterfall approach) frente a la integración y despliegue continuo (CI/CD). La diferencia principal es la interconectividad del desarrollo del CI/CD.

Diferencia gráfica entre la manera convencional de despliegue frente la integración y despliegue contiguo

Ejemplos de soluciones automatizadas

El primer ejemplo consiste en un repositorio de código (GitHub, GitLab, entre otros), en el cual se construyen las soluciones (Build system), después se implementan las pruebas (Test framework), y finalmente se libera y despliega.

Esto ocurre cuando realizas un commit a una rama principal, entonces se ejecuta el build, después se realizan las pruebas. Esto permite integrar, liberar y desplegar de manera constante.

Forma visual de un ejemplo de integración y despliegue continuo

Pero esto puede cambiar dependiendo de las necesidades de la aplicación o de la empresa, por lo que puedes añadir más pasos, otras pruebas, validaciones, pero manteniendo el despliegue continuo.

Integración y despliegue continuo mediante pruebas unitarias y validaciones

Beneficios de la automatización de pruebas en CI/CD

Las ventajas que conlleva una integración y despliegue continuo son:

  • Mayor agilidad para un desarrollo más rápido.
  • Disminución de costos por la automatización de pruebas manuales y por la rapidez de entrega de valor de un producto.
  • Mayor seguridad en el despliegue a producción, evitando introducir bugs al momento de entregar el producto.
  • Aumento en la productividad y disminución de tiempos, permitiendo a los desarrolladores dedicar más tiempo a la solución de otros errores.

Finalmente, no existen desventajas en el uso de pruebas automatizadas en el flujo de integración y despliegue continuo.

Contribución creada por Andrés Guano.