2016-11-21

Fantaseando con la automatización de pruebas

He notado que algunos tienen la fantasía de que, si trabajan duro e invierten, lograrán tener una biblioteca de casos automáticos que podrá ejecutarán por los siglos de los siglos, ahorrándose un montón de trabajo manual. Pues bien, tengo una buena y una mala noticia.

Empezando por la mala, la verdad es que no siempre lo lograrán. 

He visto muchas situaciones donde por distintas razones el reuso de los scripts se hace muy difícil y debemos estar siempre encima de ellos (arreglándolos, manteniéndolos/ajustándolos, descartándolos, agregando nuevos, etc.).

A veces tiene que ver con la aplicación (que cambia mucho, no madura o simplemente no anda), a veces con la arquitectura en la que trabajamos, con las herramientas que utilizamos (no sólo la de automatización), a veces con el tiempo que nos damos para automatizar (hacer las cosas más genéricas lleva más tiempo), a veces es por las personas que están automatizando, etc.

Siguiendo por la buena noticia, hay un montón de situaciones en que sí se logra y es mágico! Logramos tener un set de casos de regresión que nos permite estar probando todo el tiempo si los cambios que hacemos al software impactan o no. Nos da una confianza enorme en el producto pues tenemos alguien que nos dice cuando rompimos algo y cualquier cuenta de ROI que hacemos nos da.

Lo importante es saber que aún en los casos donde no estamos logrando nuestra "fantasía", estamos aportando valor pues estamos contribuyendo -como dicen en el blog de testing de Google- a mejorar la infraestructura de pruebas.

El testing automático ahorra tiempo pero no siempre suplanta a las pruebas manuales. Tal vez no nos cierre la ecuación costo beneficio, tal vez nuestra expectativa era ahorrarnos más tiempo. Pero cuidado, dejar de automatizar porque esto ocurre es un error.

Seguimos pensando..

No hay comentarios.:

Publicar un comentario

Muchas gracias por comentar. Por favor deja tu nombre y/o email, los comentarios son mucho más valiosos cuando se sabe quien los hace.