Históricamente, al aumentar el número de pruebas automatizadas en los proyectos, surgían problemas: las pruebas se confundían, superaban los límites de tiempo de ejecución, y era difícil entender qué era responsable de qué. Además, aumentaba el riesgo de que surgieran dependencias entre diferentes partes del sistema de pruebas y se ralentizara el trabajo general de los pipelines.
El problema surge cuando la cantidad de pruebas crece más rápido que la capacidad arquitectónica para soportar la infraestructura de pruebas. Sin soluciones escalables, las pruebas se vuelven lentas, difíciles de mantener, y se complica la búsqueda y localización de defectos, además de que la deuda técnica aumenta rápidamente.
La solución radica en la implementación de estrategias especiales:
Características clave:
¿Se pueden hacer todas las pruebas solo integradas para cubrir más código de inmediato?
No, este enfoque disminuye la localización de defectos y lleva a un alto costo de mantenimiento, así como a la ralentización de la ejecución de regresiones.
¿Significa la escalabilidad de las pruebas automatizadas solo su aceleración?
La escalabilidad es tanto arquitectura, como mantenibilidad, aceleración y una infraestructura flexible. La aceleración es solo una consecuencia de un sistema grande bien diseñado.
¿Cómo escalar correctamente las pruebas para equipos que trabajan en diferentes zonas horarias?
Es importante prever la posibilidad de ejecución local e independencia de los entornos de prueba, de lo contrario habrá "conflictos" entre las tareas de los equipos.
En la empresa aparecieron varios equipos que agregaban nuevas pruebas automatizadas en una sola carpeta sin coordinar sus cambios. Después de unas semanas, las pruebas automatizadas comenzaron a fallar debido a discrepancias en los datos y dependencias, y el tiempo de ejecución superó las 2 horas.
Ventajas:
Desventajas:
En uno de los equipos, crearon una estructura modular, introdujeron CI separado por áreas de código, aumentaron la estabilidad e implementaron alertas automáticas sobre pruebas ineficaces.
Ventajas:
Desventajas: