Impacto de la inteligencia artificial generativa en la implementación de Test-Driven Development: evaluación de la calidad del código y su aplicabilidad en entornos académicos
Cargando...
Director
Tipo de contenido
Document language:
Español
Fecha
Título de la revista
ISSN de la revista
Título del volumen
Documentos PDF
Resumen
La inteligencia artificial generativa (IAG) ha acelerado la escritura de código, pero aún hay incertidumbre sobre riesgos en la calidad, la seguridad y la pertinencia de las soluciones. Este trabajo examina la integración de IAG en el Desarrollo Guiado por Pruebas (TDD) en un entorno académico controlado. Se empleó un diseño con dos condiciones (con y sin apoyo de IAG) en un reto de programación orientado a TDD, con instrucción previa homogénea, misma consigna y ventana temporal equivalente. La calidad del producto se evaluó mediante métricas estándar (complejidad ciclomática e índice de mantenibilidad), herramientas de análisis estático (Pylint/Flake8), seguridad (Bandit) y cobertura de pruebas; Además, se recogió la percepción de los participantes: antes del ejercicio, respecto a su propio nivel de programación y etapa académica; y después del ejercicio, en relación con la dificultad percibida y el grado de completitud alcanzado.
Los resultados no evidencian diferencias estadísticamente significativas en complejidad ciclomática ni en mantenibilidad entre los grupos CON IA y SIN IA. Gráficamente se observan algunas variaciones descriptivas entre ambos grupos, pero estas no alcanzan significancia estadística y deben interpretarse con cautela. La cobertura no presenta un patrón uniforme y depende de la calidad de los casos de prueba. En el caso de la métrica de seguridad, Bandit no reportó vulnerabilidades en ninguno de los proyectos, lo cual es consistente con el alcance acotado del reto y limita la posibilidad de extraer conclusiones generales sobre la seguridad del software. La evidencia cualitativa sugiere que la IAG puede favorecer la velocidad de avance y la estructuración inicial del código, pero requiere pautas de prompting y supervisión para evitar errores sutiles y dependencias excesivas. Se discuten amenazas a la validez y se proponen lineamientos prácticos para cursos de programación que deseen incorporar IAG sin desplazar el razonamiento propio del estudiante. (Texto tomado de la fuente).
Abstract
Generative artificial intelligence (GenAI) has accelerated code writing, but there is still uncertainty regarding its risks for solution quality, security, and appropriateness. This work examines the integration of GenAI into Test-Driven Development (TDD) in a controlled academic setting. A two-condition design (with and without GenAI support) was employed in a TDD-oriented programming challenge, using homogeneous prior instruction, the same task description, and an equivalent time window. Product quality was evaluated using standard metrics (cyclomatic complexity and maintainability index), static analysis tools (Pylint/Flake8), security analysis (Bandit), and test coverage. In addition, participants’ perceptions were collected: before the exercise, regarding their own programming level and academic stage; and after the exercise, regarding perceived difficulty and the degree of completion achieved.
The results do not show statistically significant differences in cyclomatic complexity or maintainability between the GenAI and non-GenAI groups. Some descriptive variations are observable between groups in graphical form, but these do not reach statistical significance and should be interpreted with caution. Test coverage does not exhibit a uniform pattern and depends on the quality of the test cases. For the security metric, Bandit did not report vulnerabilities in any of the projects, which is consistent with the limited scope of the challenge and constrains the possibility of drawing general conclusions about software security. Qualitative evidence suggests that GenAI may support faster progress and the initial structuring of code, but it requires prompting guidelines and supervision to avoid subtle errors and excessive dependence. Threats to validity are discussed, and practical guidelines are proposed for programming courses that wish to incorporate GenAI without displacing students’ own reasoning.
Descripción
ilustraciones, diagramas

