Sí, la IA está haciendo que la generación de pruebas sea mucho más fácil, ¿verdad? Ahora mismo, si vas a Qlarko, le pides que implemente un sitio web, implemente características, puede ir instantáneamente a añadir, lanzar algo de contexto gratuito. Por ejemplo, puede ayudarte a generar pruebas de extremo a extremo, pruebas unitarias, y ya no estarás bloqueado por las pruebas al final de la implementación donde tienes, solo quieres cargar tu PR, pero te olvidaste de las pruebas unitarias y ahora necesitas dedicar algo de tiempo para eso. Esto lo hace mucho, mucho más fluido, mucho más fácil. Pero eso también significa que se vuelve barato, tan barato generar pruebas. Sí, en realidad puedes olvidarte de eso, pero eso significa que cuanto más barata es la generación de pruebas, más barato puede ser tu código. La calidad de tu código también puede ser, y lo que significa que las malas pruebas ahora son muy baratas de surgir.
Veamos por qué quiero decir eso, ¿de acuerdo? Así que esta es la prueba. Esta es una prueba muy normal, prueba de integración, donde realmente probamos el proveedor, generamos capacidad de imagen, y validamos el resultado. Esta prueba es una prueba válida porque valida la integración real del proveedor. Valida la respuesta real, y cuando la ejecutas con la configuración correcta, te pasa localmente, ¿verdad? Pero, ¿significa eso que funciona? ¿Significa eso que realmente protege tu base de código? Bueno, mira la dependencia. Así que este tipo de prueba depende de tantas cosas imprevistas, como la estabilidad de la red, la latencia, el límite de tasa, el token, el presupuesto y el comportamiento del módulo, porque diferentes módulos de generación de imágenes se comportan un poco diferente de los demás.
Puede generar algo menos, algo más. Tal vez no genere nada en absoluto, o estás hablando de presupuesto, ¿verdad? Así que si colocas esta prueba en un CI-CD para PR, si algo sucede, algo causa que falle, ahora aquí hay un par de preguntas. ¿Cómo sabemos que la falla es causada porque algo está mal en nuestra lógica de implementación? ¿O porque algo más sucedió en una de las dependencias que discutimos? Bueno, esto es exactamente lo que llamo la trampa en la generación de pruebas, porque la prueba generada es inválida, pero el lugar donde la IA la puso es absolutamente en el lugar equivocado. Y porque en el lugar equivocado, en este punto, ya no es válida, porque lo que ejecuta, no puedes controlar si falla por nosotros, o falla por algo que no sabes.
Comments