Te va a interesar!

6/recent/ticker-posts

Docker: Un aliado que vas a querer tener en testing.

 


Bienvenidos a un nuevo post de The Free Range Tester! Espero que, desde donde me estén leyendo, se encuentren más que bien. Como les estuve contando en la última edición del newsletter (si lo querés recibir, te suscribís acá: https://www.getrevue.co/profile/Thefreerangetester ), voy a estar dedicando posts, videos y tutoriales sobre todo lo relacionado a Docker y su potencial en testing. 

Pero, me parece que un primer post debería ser sobre qué es exactamente Docker. Muchas veces, antes de usarlo, nos parece algo lejano, usado solo por hipster cools con gorritos de lana en Silicon Valley. Bueno, nada más lejos de la realidad. Todos podemos usarlo y ser igual de cool (el gorro de lana es opcional). 

Qué es Docker?

Desde su creación, Docker ha tenido una adopción como pocas veces he visto en empresas. Por qué? Bueno, en principio porque es open source, gratis de usar. Eso siempre es algo a favor. Segundo porque simplificó mucho lo que antes se solía hacer con Virtual Machines. Pero... cómo? Por qué? 

Docker y sus containers usan un sistema operativo compartido, una instancia de Linux, a diferencia de una Virtual Machine que intenta emular todo, hardware incluido, lo que las hace monstruos hambrientos de recursos. 

De ahí que puedas dejar atrás todo lo que consumía recursos y dedicar el container para lo que te interesa: Tu aplicación, ambiente de pruebas o lo que sea, aislado y encapsulado. Imaginen que, en lugar de las VMs, pueden tener 4, 5 veces lo mismo en containers y obtener un rendimiento superior. Las empresas lo adoptan ciegamente porque simplemente tiene sentido gastar menos para lograr lo mismo. 

Otro motivo que lo hace muy popular es que es muy sencillo de usar con herramientas de CI/CD. Tener una instancia de Jenkins (que incluso podrías tener en Docker) y que los tests se ejecuten en otro container con todo encapsulado agiliza mucho en términos de recursos, control y velocidad.



Pero... y qué puedo hacer con Docker?

Como testers vamos a poder experimentar con imágenes de un sinfín de aplicaciones y tenerlas en nuestras máquinas para jugar con ellas. El caso de Jenkins, herramientas de monitoreo como Grafana, Cypress, Selenium y muchísimas más cuentan ya con sus imágenes listas para darnos un container con todo instalado y listo para usar. 

Si ya usan Jenkins en sus trabajos pueden encapsular sus tests en una imagen, levantar un container y ejecutar todo ahí (en lugar de otras soluciones como crear un fatJar del proyecto y ejecutar todo desde ahí). 

Si sus desarrolladores y empresa lo permiten, podrían hacer el deploy de la app en un container, los tests en otro y usar Docker Compose para que los tests se ejecuten en la aplicación de forma completamente aislada y controlada. 

Las aplicaciones son muchísimas y cada vez hay más, gracias a la excelente adopción que tiene y la ayuda que es en metodologías Agile y cultura DevOps

Conclusión.


Y lo mejor es que es algo que podemos empezar a usar ya mismo, en nuestras computadoras personales y sin costo alguno. Instalar Docker, tener una imagen con, por ejemplo, browsers y cypress instalado para correr todo sin tener siquiera Cypress instalado en nuestra máquina nos muestra el potencial que tiene Docker. 

También voy a cubrir cosas que un Test Engineer tiene que saber, como deploy de ambientes de prueba en containers, creación de Jenkins en un container, Docker compose para comunicar containers y mucho más!

Publicar un comentario

0 Comentarios