top of page

El cuello de botella del que nadie se hace cargo: El ambiente de pruebas.

Llegás a la mañana a la oficina (sigue existiendo eso?), te preparás un café mientras hablas sobre el clima (de nuevo) con un colega que fue a prepararse los cereales. Volvés contento con tu taza de calentita preparación y mirás los jobs en Jenkins...


Reunión de urgencia
Quién arregla este lío?

Todo rojo. Ya sabés lo que te espera al abrir los mails: varios managers, test leads y gente random preguntando por qué está fallando todo y planteándose si, en lugar de hacer una aplicación, deberían haberse dedicado a plantar girasoles en algún lugar soleado de Nueva Zelanda.


Necesitás una respuesta, así que empezás a ver el console output o bien los reportes de Cucumber para ver por qué los scripts están fallando si un día antes estaba todo perfecto. Y ahí llegás a la causa: Los Test Users no existen más. Hubo una limpieza de la base de datos y, al no poder loguear, implotaron todos los tests.


Alguien se olvidó de avisar, o de correr el job que crea los users y ahí tenemos la respuesta. Esto es algo que suele pasar más seguido de lo que nos gustaría en la práctica y es algo que impacta el trabajo de testing con tiempo dedicado a la resolución de un problema que no debería existir. Falsos negativos por una mala configuración del ambiente de pruebas... horrible.


No solo pasa con la data que usamos para testing, muchas veces un proxy, un puerto, un firewall u otra parte de la infraestructura necesitaba un poco de configuración y alguien se olvidó de hacerlo y eso termina en problemas, a veces, muy difíciles de discernir. Les cuento uno por ejemplo que me hizo perder al menos una hora de mi vida.


Estaba haciendo unos tests de integración en los que necesitaba autenticar dos vías: El servidor y el cliente. A pesar de tener todo bien, el TrustStore y el Keystore de Java, el socket para que Rest Assured use los certificados correctos y demás el tipo me tiraba un error que venía del lado del servidor (un quinientos algo, no recuerdo ahora). Saben qué era? El certificado del Servidor había expirado el día anterior.