Un artículo reciente de Google mostró que la generación de pruebas especificadas aumentó la detección de errores en 9.8 puntos porcentuales en una muestra de su base de código. Pero su especificación se lee del código, lo que deja sin resolver la mitad que me importa. He estado argumentando durante meses que un conjunto de pruebas escrito por el mismo modelo que escribió el código no puede realmente discrepar de él, y para respaldar mi afirmación he desarrollado una nueva biblioteca de Python de código abierto.
Las pruebas de software se han movido en una dirección durante veinte años, y el Desarrollo Especificado (SDD) es donde ese movimiento ha llegado recientemente. Este artículo aboga por un paso más: SDD Independiente, o ISDD. TDD dijo que las pruebas son la especificación. BDD fue la respuesta a eso. SDD es la versión que llegó con los agentes.
Actualmente, el Desarrollo Especificado divide el trabajo. No divide quién tiene el conocimiento. La misma especificación va al planificador, al generador de pruebas y al agente de codificación. Mi argumento es cortar a lo largo de esa línea: dar al agente de codificación las decisiones y retener los criterios de aceptación, para que el conjunto de pruebas pueda decirle al código que está equivocado.
Un equipo de Google midió el paso antes de retener. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" hace algo más estrecho que mi argumento. Primero le piden que razone sobre el código y escriba su contrato. Ese documento se convierte en un andamiaje cognitivo y las pruebas se generan a partir de él. Los resultados, en errores de producción de la propia base de código de Google, mostraron que más de la mitad de las veces, un conjunto de pruebas generado...
Fuente: Towards Data Science · Resumido por HeadlinesBriefing