top of page

Pienso (como tester), luego existo (como ingeniero de pruebas).

Ustedes saben que me encanta compartir un poco las vivencias que tengo como SDET en los diversos proyectos por los que paso. Este va a ser uno de esos posts. Preparen esos cafés, tés o mates y pónganse cómodos, porque vengo a decirles algo que a muchos quizás les choque!

Circuitos
Automatizar EN testing?

Un poco de contexto.


Cuando llego a un nuevo proyecto, un buen número de veces todo parece una maravilla. La automatización corre en segundos en sus pipelines de Jenkins, la gente baila tomada de la mano en verdes praderas ágiles de código deployado cada dos semanas en Producción y no hay nada que mejorar. Este fue el caso en la historia que les voy a contar, la cual pasó hace un tiempo.


En la misma entrevista me dijeron que tenían todo cocinado. Un framework sólido que brindaba todo el soporte que testers y devs necesitaban para automatizar las pruebas. Para mis adentros pensé "y para qué me están llamando si no tengo nada que mejorar?". Ohh iluso Yo del pasado! Ellos mismos sabían lo que estaba pensando, pero no lo querían admitir directamente. Cuando comencé mi primer día, luego de haber pedido todos los accesos pertinentes, entrenamientos y preguntar dónde está la máquina de café (el café de oficina en Nueva Zelanda es sorprendentemente bueno!) me puse a hacer lo que siempre hago al empezar un nuevo proyecto en un nuevo cliente: Ver sus procesos, investigar los repositorios asociados, el modelo de branching, el modelo de deploy a Producción y hablar con todos, desde los que diseñaron los frameworks a los que mantienen los pipelines en funcionamiento, a los que usan esas herramienta para llevar adelante su trabajo. En este caso, esos eran los Testers y Devs.


No tardaron en aparecer los comentarios de descontento con la actual manera. Pero bueno, muchas veces esos comentarios están porque, seamos honestos, es difícil mantener a todo el mundo contento. Pero cuando empecé a hacer preguntas clave y obtuve las respuestas (que fui muy cuidadoso de doble chequear con otras personas), me sorprendí muchísimo.


El actual repositorio donde para automatizar casos de prueba era una bestia enorme, con un tamaño colosal de clases sobre clases y más clases. El lenguaje era Java. Este repositorio tomaba como librería el framework propiamente dicho que se había creado para facilitar métodos que hiciesen todo por el tester/dev y no requiriesen mucho pensamiento. El mantenimiento se estaba haciendo difícil. Los muchos equipos que lo usaban pedían nuevos features para que sirva como herramienta en sus casos particulares. Aparecían errores que había que arreglar... nuevamente, estábamos ante un proyecto de automation que había crecido desmedidamente y ahora necesitaba trabajo en paralelo debido a su deuda técnica.