Asociación de Enseñantes Universitarios de la Informática (AENUI)
Abstract
La prueba del software es una etapa clave en el desarrollo de programas. A pesar de su importancia, y que el coste asociado a defectos en los programas está en relación a su complejidad, esta fase no suele recibir la atención necesaria. En estudios de ingeniería del software, las actividades de diseño y programación tienen una presencia dominante, provocando que los alumnos puedan ver la prueba de software más como una carga que como un beneficio. En este artículo, presentamos una experiencia para hacer más conscientes a los alumnos del valor de desarrollar pruebas de calidad, usando técnicas y herramientas especializadas en comparación con una generación de pruebas manual y sin guías. Para ello, diseñamos unas prácticas que enfrentan la percepción del alumno sobre la adecuación de sus pruebas contra una evaluación automática basada en la prueba de mutaciones (técnica indicativa de la capacidad de detección de fallos de la batería de pruebas). Como resultado, la práctica cumple su objetivo, pues se observa un descenso de las valoraciones subjetivas que los alumnos otorgan a sus propios conjuntos de pruebas (autoevaluación) y a los de sus compañeros (coevaluación) tras conocer un resultado más objetivo como el de la prueba de mutaciones.Software testing is a key phase in the development of programs. Despite its importance, and the fact that the cost associated with software defects increases as programs become more complex, this phase often does not receive the necessary attention. In the context of software engineering studies, design and coding activities have a predominant presence; as a result, students may tend to see software testing as a burden rather than a benefit for the final quality of the product. In this paper, we present the experience carried out to try to raise student awareness about the value of creating quality software tests, using specialized techniques and tools in comparison with manual and unguided development. To this end, we designed a practice that confronts the student’s perception of the adequacy of their tests against an automatic assessment based on the technique known as mutation testing (which is indicative of the fault detection ability of the test suite). In general, the practice meets its goals. We observe a decrease in the subjective assessments regarding their own test suites (self-assessment) and regarding those of their peers (co-assessment) after knowing the more objective result of mutation analysis.Este trabajo fue realizado con la ayuda del proyecto de innovación docente de la Universidad de Cádiz con código: sol-201700083450-tra