No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Automatizaci贸n de pruebas en CI/CD

7/9
Recursos

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.

Aportes 18

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

SI, con el Jenkins pero con Selenium webdriver a煤n no sabemos como hacer el build integrado sin necesidad de arrancarlo externamente.

  • Beneficios:
    • Agilidad
    • Costo menor
    • Seguridad
    • Productividad

Automatizaci贸n de pruebas en CI/CD

CI: Continuous Integration
CD: Continuous Deployment

Las pruebas automatizadas ayudan a realizar las pruebas mas frecuentes sin sobrecargar, a los equipos de desarrollo y pruebas y poder entregar mayor valor al cliente.

VENTAJAS:

  • Ofrece mayor agilidad
  • Permite desarrollar mas r谩pido reduciendo el costo
    (debido a que el equipo de pruebas manuales no debe estar probando cada uno de las pruebas generando mayor seguridad y productividad.)

DESVENTAJAS
No tiene.
(No hay ninguna raz贸n por la cual no deber铆as integrar las pruebas automatizadas a tu flujo de CI/CD)

CI/CD Continuous Integration/Continuous Deployment
.
Hoy en d铆a la industria avanza muy r谩pido donde se tiene que construir y entregar valor constantemente por lo que la automatizaci贸n de pruebas es muy importante ya que permite mejorar la calidad de software que se entrega al cliente.
.
Las pruebas automatizadas ayudan a realizar las pruebas mas frecuentes sin sobrecargar, a los equipos de desarrollo y pruebas y poder entregar mayor valor al cliente.
.
Pros
Ofrece mayor agilidad permitiendo desarrollar mas r谩pido reduciendo el costo debido a que el equipo de pruebas manuales no debe estar probando cada uno de las pruebas generando mayor seguridad y productividad.
.
Contras.
No tiene.

Ni siquiera se que es CI y CD, o en que consiste, creo que para un curso futuro o un remake de 茅ste deber铆an incluir una mayor explicaci贸n sobre dichos temas, ya que muchos ignoramos estos conceptos.

En mi caso estoy tomando la escuela de programaci贸n y desarrollo de software y aun no vemos nada de eso, por lo que qued茅 muy confundido con los flujos y todo eso, ojal谩 se pueda explicar de mejor forma

Estas seguro que en CI vamos desarrollando, testeando, construyendo y liberando ? O sera desarrollando, construyendo, testeando y liberando pero de forma continua en cada sprint?

No he tenido la oportunidad de implementar el Continuos Testing, pero lo que he conocido es que muy interesante y cuenta con muchos beneficios tanto para el producto como para los equipos de trabajo, se reducen horas realizando actividades, se incentiva la agilidad y se genera productividad.
Hay algo muy cierto y es que Continuos testing no es nuevo para muchas empresas y profesionales, hoy en dia se presentan cursos, foros, material acad茅mico y demos , pero realmente lo que sucede es que hay compa帽铆as que realmente no lo implementan , aducen que implica inversi贸n o simplemente siguen usan los m茅todos tradicionales.
Hay otras empresas que si implementan el Continuos testing y son las que mas ganancias y reconocimiento por su producto tienen hoy en d铆a, sus equipos est谩n altamente capacitados y cada vez mas se genera inter茅s en otras personas que tal vez no hemos tenido la oportunidad de hacer parte de este.

lo mejor es jenkins y travis y nos funciona muy bien鈥
es lo que le ordeno a mis MINIONS usar y funciona muy bien鈥

incluso hay un curso de eso aqui en PLATZI.
uwu

Actualmente no estoy laborando, pero creo que a lo largo de 10 a帽os de trabajar en varias empresas lo maximo que llegue a ver fue la implementacion de git.

Desventajas:

  • No las hay, no hay ninguna raz贸n por la cual no deber铆as integrar las pruebas automatizadas a tu flujo de CI/CD

Usamos Jenkins y maven para crear los builds y ejecutar nuestras pruebas.

tristemente no tengo equipo ni empresa 馃槩, pero comenzar茅 a dise帽ar un sistema basado en CI/CD

realmente aun no he implementado estos m茅todos en alg煤n proyecto, pero me gustar铆a, para visualizar el proceso que tiene y as铆 saber cual es el mejor que se podr铆a adaptar para futuros proyectos de software.

Soy el Head of engineering en mi empresa y estamos en proceso de implementaci贸n de testing en nuestro flujo DevOps y son excelentes ejemplos de como implementarlo en este tipo de cultura

Si nos gustaria implementarlo, hasta el momento todo es manual, y como que si falta un poco mas de ejemplos paa poder saber como iniciar la automatizaci贸n

Estamos haciendo los primeros pasos para lograr avanzar en la adopci贸n de pr谩cticas autom谩ticas que permitan la optimizaci贸n de tiempos.

Esperamos poder implementar la integraci贸n cont铆nua, sin embargo a煤n existen limitantes como por ejemplo el n煤mero de personas responsables de desarrollo y testing vs el volumen de requerimientos (mejoras y soluciones) que no permite en el momento implementar CI/CD

Actualmente estoy en un proyecto que no me permite automatizar como nos gustar铆a pero otros proyectos con un n煤mero importante de combinaciones requiere algo as铆 para poder avanzar.