SI, con el Jenkins pero con Selenium webdriver aún no sabemos como hacer el build integrado sin necesidad de arrancarlo externamente.
Introducción a la automatización de pruebas
¿Qué es la automatización de pruebas?
Ventajas y desventajas de la automatización
Limitaciones de la automatización de pruebas
Automatización basada en tipos de pruebas
Automatización basada en tipos de pruebas
Tipos de framework de automatización
Tipos de framework de automatización
Proceso de automatización de pruebas
Proceso de automatización de pruebas
Automatización de pruebas en CI/CD
Automatización de pruebas en CI/CD
Herramientas para automatización
Herramientas para automatización de pruebas
Conclusión del curso
Sigue aprendiendo test automatization
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Javier Fuentes Mora
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.
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.
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.
Las ventajas que conlleva una integración y despliegue continuo son:
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 25
Preguntas 2
SI, con el Jenkins pero con Selenium webdriver aún no sabemos como hacer el build integrado sin necesidad de arrancarlo externamente.
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:
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.
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.
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?
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
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:
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.
En mi caso hemos sugerido lo de añadir las pruebas automatizadas al CI pero debido a la cantidad de trabajo, ha sido complicado abordar esa parte. Seguire sugiriendo espero que pronto se haga.
En mi empresa usamos Azure DevOps se crea una plantilla similar a la que muestran, se hace un build, test luego esto pasa a sonarCloud para un análisis, luego viene una fase de contenerización. Hemos tenido problemas con el dockerfile por aquí, luego sigue seguridad y despliegue. He ido aprendiendo en el camino un poquito de esto pero siempre que falla algo ya sean kubernetes o el docker, me sentía perdida jaja este clase me ha ayudado a comprender mucho mejor todo lo que hace mi pipeline. Yo soy front y poder comprender más sobre lo que está fuera de mis funciones habituales es genial.
Sería beno que mostraran los conceptos con ejempos mucho mas ilustrativos que solo diagramas, podrían mostrar un ejemplo un poco más práctico. La verdad es que habemos personas que apenas estamos empezando y quedamos confundidas.
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?