Mejorando las pruebas con sistemas virtualizados junto con entrega continua

La adopción de un modelo de entrega continua, permite
aumentar la flexibilidad respecto a la creación de software para diferentes clientes.









Esta estrategia de ciclos cortos, garantiza que el software
pueda ser lanzando, de forma segura, en un entorno de producción en cualquier
momento.





Si nos centramos en la frase “de forma segura”, hablamos de
ponerla en producción con garantía y hay que enfocarse en buenos procedimientos
de pruebas que, en la mayoría de los casos, es automática. Estas pruebas, tienen
que estar desatendidas y ser lanzadas en cada build y en cada integración que
queramos realizar al entorno deseado.





Para que todo funcione como debe, es necesario tener un
entorno, solo, de pruebas y que tenga todo el pack completo de dependencias,
funcionalidades y, sobre todo, que sea bajo demanda.





Si os habéis enfrentado a esta tesitura, ya sabréis que no
es algo fácil y que una de las opciones más exitosas es la virtualización de
servicios o de entornos.





Con la virtualización, podemos simular dependencias
complicadas y poder tomar el control total del entorno de pruebas.





Un sistema virtualizados, no necesita que las dependencias
estén disponibles, ya que se pueden “simular” para realizar las pruebas de la
manera con más garantía. Además, estos entornos son más rápidos de montar y
desmontar y solo gastaremos lo que tardemos en realizar las pruebas.





La virtualización ha aumentado en uso de manera exponencial
y permite que las organizaciones mejoren sus esfuerzos y presupuestos en las
pruebas, haciendo que los sistemas sean más efectivos e inteligentes. El
siguiente paso ha seguir, con este tipo de entornos, es que el desarrollo, las
pruebas y la implementación sean más flexibles y, sobre todo, como se comenta
arriba, bajo demanda.





Para trabajar en sistemas virtualizados, existen varias
soluciones que permiten levantar entornos de prueba bajo demanda con
contenedores, al igual que si fueran aplicaciones de pruebas. Además, se pueden
acompañar, directamente con las baterías de pruebas automatizadas.





Los beneficios de implantar sistemas virtualizados en ciclos
de integración continua, pasan por los siguientes puntos:





·     
La virtualización puede tratarse como artefactos
del proceso de desarrollo, por lo tanto, se pueden versionar, distribuir y
reutilizar y si existe algún tipo de problema, tendremos detectado el punto
exacto.


·     
La creación de entornos de pruebas se realiza de
manera muy sencilla ya que, una vez montado el primer contenedor, es cuestión
de lanzarlo tantas veces como queramos o aplicar todo a uno nuevo.


·     
Al tener los entornos virtualizados en contenedores,
el implementar varios, actualizarlos o restablecerlos si hubiéramos realizado
algo raro en él, es tan sencillo como tirarlo abajo y refrescarlo para volver a
levantarlo.





Actualmente, el proveedor más conocido es Docker, pero hay
variedad de ellos como Hoverfly, Virtualize de Parasoft o máquinas virtuales de
Azure (DevOps) que tienen equipado un motor de virtualización.





Adoptar este tipo de mecánicas de trabajo, puede hacer que
las organizaciones eliminen cuellos de botella con los entornos de prueba
tradicionales y sobre todo ser mucho más flexible y ágil.

0 Comentarios