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.

0 Comentarios