Evaluación automática de casos de prueba de ejercicios de programación de computadores
Cargando...
Autores
Rivera Cárdenas, David Leonardo
Tipo de contenido
Document language:
Español
Fecha
Título de la revista
ISSN de la revista
Título del volumen
Documentos PDF
Resumen
El reciente crecimiento de plataformas de evaluación automática de ejercicios de programación de computadores ha ayudado a los docentes en la retroalimentación de las soluciones propuestas por los estudiantes; esto es un factor importante en el desarrollo de habilidades de programación de computadores. Sin embargo, los docentes enfrentan desafíos a la hora de conocer si los casos de prueba que han creado tienen la suficiente cobertura, la cual hace referencia a la cantidad o porcentaje de código que es alcanzado por las pruebas. El objetivo general del presente trabajo es proponer y desarrollar un prototipo funcional de una herramienta que mida, de manera automática, la calidad de un conjunto de casos de prueba usados para evaluar la solución de ejercicios de programación de computadores. La herramienta mide el nivel de cobertura de estos casos mediante métricas como cobertura de rama y línea, proporcionando información de su calidad. La metodología empleada incluyó una revisión de la literatura sobre técnicas, métricas y herramientas de evaluación de pruebas, seguida del diseño, implementación y validación del prototipo utilizando un conjunto de datos de soluciones y casos de prueba de 18 ejercicios del curso Introducción a la Programación en Python de la Universidad Nacional de Colombia. Los resultados muestran que la herramienta permite identificar deficiencias en la cobertura de los casos de prueba y, a partir de ellos, se sugieren oportunidades de mejora para fortalecer el proceso de creación de casos de prueba para la evaluación de ejercicios de programación. Este trabajo contribuye a la mejora continua de la enseñanza de programación de computadores, al ofrecer una solución automática para la evaluación de pruebas, que proporcione una orientación a los docentes para la generación de casos de prueba más completos y efectivos, por medio de la identificación del nivel de cobertura alcanzado. (Texto tomado de la fuente).
Abstract
The recent growth of automated evaluation platforms for computer programming exercises has helped teachers in providing feedback on the solutions proposed by students; this is an important factor in the development of computer programming skills. However, teachers face challenges in knowing whether the test cases they have created have sufficient coverage, which refers to the amount or percentage of code that is achieved by the tests. The overall objective of this work is to propose and develop a functional prototype of a tool that automatically measures the quality of a set of test cases used to assess programming exercise solutions. The tool evaluates the coverage level of these test cases using metrics such as branch and line coverage, providing valuable insights into their quality. The methodology employed included a literature review on test evaluation techniques, metrics and tools, followed by the design, implementation and validation of the prototype using a dataset of 18 exercises from the course Introduction to Python Programming of the National University of Colombia. The results show that the tool allows the identification of deficiencies in the coverage of test cases and, based on them, improvement opportunities are suggested to strengthen the process of creating test cases for the evaluation of programming exercises. This work contributes to the continuous improvement of computer programming education by offering an automated solution for test evaluation. It provides instructors with guidance for generating more comprehensive and effective test cases by identifying the achieved level of coverage.
Descripción
ilustraciones, diagramas