Pautas mínimas para definir una estrategia de automatización en un proyecto


¿Cuándo debemos de automatizar y cuando no?, ¿usar Selenium es la alternativa perfecta?, ¿existe un criterio en común para automatizar pruebas?


Estas preguntas y otras 1000, nos rondan la cabeza cuando entramos en el mundo de la automatización. Vamos a dar forma a algunos y a determinar los mínimos que debemos de cumplir, cuando tenemos que empezar a automatizar.

Lo primero, evidentemente, es valorar la herramienta de automatización. La más conocida, a día de hoy, es Selenium, un estándar para automatizar acciones dentro de un navegador, que “copia” los movimientos que puede hacer una persona en la pantalla. La comunidad de esta herramienta es brutal y a través del API de código abierto, se han realizado muchos plugins y mejoras que se utilizan actualmente en infinidad de proyectos.

Ahora bien, esta herramienta hay que utilizarla con inteligencia, si no, no vale de nada. La estrategia idónea que se debe de utilizar ahora, es automatizar una serie de test (ya sean de regresión o no) e introducirlos en el ciclo de integración o despliegue continuo. Esto nos determinará si es todo correcto y si no es así, no se desplegará al entorno correspondiente.

Lo más sencillo, para comenzar a automatizar un proyecto, es coger la batería manual de regresión y empezar a automatizarla. Esto nos ayudará a cubrir si algo se ha roto con la entrega actual.
Otro de los puntos que debemos de tratar es la integración o el despliegue continuo. Esta forma de trabajar ha venido para quedarse, y debemos de conocerla muy bien y, sobre todo, aprovechar los puntos fuertes que nos permiten el tener un control total de si se despliega o no, en base a los resultados que nosotros aportemos.

Los servicios de integración continua, nos permiten automatizar tareas que se realizaban manualmente por personas, habitualmente, administradores de sistemas y que ahora en un solo click, es posible el realizarlas.

La labor de las personas de QA es saber como funcionan los servicios de CI para tener un control total sobre los despliegues y poder aunar esto con las pruebas automáticas, permitiendo que no se ponga en producción un software defectuoso. Además, se agilizan las tareas de solicitud de despliegues o de espera a poner el software en el entorno de pruebas, ya que, la persona que valida, puede realizar el despliegue por si misma, validando los defectos que se han solucionado. Esto, es una relación directa con la automatización, pero sin tener que programar, simplemente, llamar a servicios que hacen las labores automáticas por nosotros mismos.

Otro punto que debemos de controlar es el acceso al historial de cambios e integraciones. Esto, desde el ámbito de QA, nos puede ayudar a saber que se está realizando en cualquier momento. Esto, unido a la iteración con desarrollo, para la realización de pruebas unitarias, nos lleva a que el código fuente esté mucho más cubierto y garantizado.

Hay infinidad de estrategias de automatización y de ponerlas a punto en un proyecto, pero cubriendo una serie de mínimas pautas o puntos, como los anteriores, tenemos bastante terreno cubierto y, al menos, podemos comenzar con una base sólida y unificada.

No hay comentarios:

Publicar un comentario