La testabilidad como requisito al usar agentes de código generados por IA
Gil Zilberfeld advierte que complejidad, observabilidad y seguridad son los tres pilares que pueden romper la testabilidad en código producido por IA.

Gil Zilberfeld vuelve a insistir en que la testabilidad es una característica que necesita ser definida y exigida, no algo que aparece por arte de magia cuando un agente de código genera la solución. En su artículo identifica tres factores críticos que pueden minar la testabilidad del código generado.
1. Complejidad – Cuanto más complejo es el algoritmo, mayor la carga de pruebas. La recursión es el ejemplo clásico: aunque ocupa pocas líneas, abre la puerta a infinitos casos de borde. Cuando un modelo de IA produce sistemas completos, la complejidad se hereda de los datos de entrenamiento y de las decisiones del propio modelo, lo que encarece la fase de pruebas.
2. Observabilidad – Sin métricas, logs o endpoints de lectura, la operación del sistema es opaca. Un único endpoint POST que persiste datos no brinda información suficiente para validar el comportamiento; añadir un GET de consulta mejora la observabilidad y, por ende, la testabilidad. Zilberfeld señala que los generadores de código a menudo omiten estos detalles, y que los equipos deben solicitar explícitamente los mecanismos de exposición de estado. Más información sobre observabilidad se encuentra en el artículo de Observability.
3. Seguridad – El código generado reproduce vulnerabilidades presentes en los ejemplos de entrenamiento. Además, los escáneres de seguridad que corrigen el código son a su vez alimentados por los mismos modelos, creando un círculo de confianza limitado. Para diseñar pruebas de seguridad efectivas hay que mapear el impacto en la aplicación, la base de datos, la red interna y otros componentes externos.
Zilberfeld propone un enfoque práctico: los testers deben conversar con los desarrolladores, pedir ver el código y establecer criterios claros de testabilidad antes de que el agente genere la solución. De esa forma se pueden incorporar guías de simplicidad, endpoints de observación y pruebas de seguridad desde el inicio.
En resumen, la aparición de agentes de código no elimina la necesidad de planificar la testabilidad; simplemente traslada la responsabilidad a la fase de especificación. Queda por ver cómo evolucionan las herramientas de IA para incluir, de forma automática, métricas de complejidad, observabilidad y controles de seguridad en los artefactos que generan.
