top of page

El mantenimiento en Automation: Algo malo, necesario o bueno?

Actualizado: 4 oct 2022

Quién no vio alguna vez, la recurrente crítica a Automation de que "hay que hacer mucho mantenimiento" o "cuesta mucho mantener y por eso terminó fracasando en el proyecto". Estoy seguro que más de uno! Pero qué hay de real y qué está distorsionado sobre este tema? De eso les vengo a hablar hoy.

Robot siendo arreglado
Cambio de aceite a los robotitos

De qué tipo de mantenimiento estábamos hablando?


Las aplicaciones cambian, es su naturaleza. Se introducen nuevas funcionalidades, se mejoran otras, se remueven algunas...pasa de todo. Acorde a eso, hay que actualizar los casos de prueba que usamos para validar el estado de la app. Mucha gente piensa no tiene en cuenta esto a la hora de calcular el retorno de la inversión del trabajo en automation y se da la cabeza contra la pared. Está la idea flotando de que lo que se automatiza no debería tocarse jamás, porque si se hace, significa mantenimiento y costo en lugar de entregar valor agregado.


Este mantenimiento se tiene que tener en cuenta, como se tiene en cuenta el actualizar los casos de prueba que usan los tester funcionales en sus pruebas manuales. Es algo que ocurre y es necesario tener cubierto y hacerlo a conciencia para no tener un montó de pruebas automatizadas fallando inútilmente porque no se actualizan.


Por supuesto que hay formas de minimizar los impactos que puedan tener los cambios en la aplicación en este tipo de mantenimiento y es algo que tenemos que tomar nota y hacer. Les hablé en más de un ocasión de las mejores prácticas, de la prioridad de automatizar en la capa de WebServices antes que en el E2E en UI y de cómo los tests de UI deberían ser lo suficientemente escasos y sencillos como para que no sea un infierno hacer el mantenimiento.


Eso no nos va a salvar de que, si remueven una funcionalidad o cambian sustancialmente algo, no tengamos que hacer cambios en nuestros casos automatizados, pero si va a simplificar la tarea lo suficiente como para no perder tiempo en esto y poder seguir operativos a un ritmo aceptable. Y ojo, me refiero a "perder tiempo" cuando toma más de lo que debería, no a la tarea de actualizar las pruebas. Esa actualización es algo inherente a la naturaleza del SDLC. La app cambia, los criterios de validación también, las actualizaciones tienen que ser realizadas. Simple. No es culpa de Automation ni debe tomarse como algo negativo.