paint-brush
Los investigadores creen que la gamificación es la respuesta a los problemas de las pruebas de softwarepor@gamifications
Nueva Historia

Los investigadores creen que la gamificación es la respuesta a los problemas de las pruebas de software

Demasiado Largo; Para Leer

Investigadores en España han descubierto que la gamificación es mejor para motivar a los estudiantes de ingeniería de software a realizar tareas de control de calidad.
featured image - Los investigadores creen que la gamificación es la respuesta a los problemas de las pruebas de software
Gamifications FTW Publications HackerNoon profile picture
0-item

Autores:

(1) Raquel Blanco, Grupo de Investigación en Ingeniería del Software, Universidad de Oviedo, Departamento de Informática, Gijón, España ([email protected]);

(2) Manuel Trinidad, Grupo de Investigación en Mejora de Procesos de Software y Métodos Formales, Universidad de Cádiz, Departamento de Ingeniería Informática, Cádiz, España ([email protected]);

(3) María José Suárez-Cabal, Grupo de Investigación en Ingeniería del Software, Universidad de Oviedo, Departamento de Informática, Gijón, España ([email protected]);

(4) Alejandro Calderón, Grupo de Investigación en Mejora de Procesos de Software y Métodos Formales, Universidad de Cádiz, Departamento de Ingeniería Informática, Cádiz, España ([email protected]);

(5) Mercedes Ruiz, Grupo de Investigación en Mejora de Procesos de Software y Métodos Formales, Universidad de Cádiz, Departamento de Ingeniería Informática, Cádiz, España ([email protected]);

(6) Javier Tuya, Grupo de Investigación en Ingeniería del Software, Universidad de Oviedo, Departamento de Informática, Gijón, España ([email protected]).

Nota del editor: Esta es la primera parte de siete de un estudio que detalla los intentos de los investigadores de crear pruebas efectivas mediante la gamificación. Lea el resto a continuación.

Tabla de enlaces

Abstracto

Las pruebas de software son un área de conocimiento esencial requerida por la industria para los ingenieros de software. Sin embargo, los estudiantes de ingeniería de software a menudo consideran que las pruebas son menos atractivas que el diseño o la codificación. En consecuencia, es difícil involucrar a los estudiantes para crear pruebas efectivas. Para alentar a los estudiantes, exploramos el uso de la gamificación e investigamos si esta técnica puede ayudar a mejorar la participación y el rendimiento de los estudiantes de pruebas de software. Realizamos un experimento controlado para comparar la participación y el rendimiento de dos grupos de estudiantes que tomaron un curso de prueba de software de pregrado en diferentes años académicos. El grupo experimental está formado por 135 estudiantes del curso gamificado, mientras que el grupo de control está formado por 100 estudiantes del curso no gamificado. Los datos recopilados se analizaron estadísticamente para responder a las preguntas de investigación de este estudio. Los resultados muestran que los estudiantes que participaron en la experiencia de gamificación estaban más comprometidos y lograron un mejor rendimiento. Como hallazgo adicional, el análisis de los resultados revela que un aspecto clave para tener éxito es el diseño de la experiencia de gamificación. Es importante distribuir el estímulo motivador proporcionado por la gamificación a lo largo de toda la experiencia para involucrar a los estudiantes hasta el final. Dados estos resultados, nos planteamos reajustar el diseño de la experiencia de gamificación para aumentar el engagement de los estudiantes en la última etapa de la experiencia, así como realizar un estudio longitudinal para evaluar los efectos de la gamificación.


Palabras clave


Gamificación, pruebas de software, compromiso, rendimiento, eficacia de las pruebas, estudio empírico

1 Introducción

En la era de las tecnologías de la información, el software está presente en casi todos los aspectos de nuestras vidas. Es fundamental que los productos de software funcionen correctamente y como está previsto, ya que su mal funcionamiento podría producir pérdidas económicas tanto para los usuarios finales como para las empresas de software, pérdida de prestigio para las empresas de software, exposición de datos privados o incluso consecuencias trágicas para la vida humana. Para evitar estos efectos negativos, es esencial probar de forma adecuada y exhaustiva los productos de software con el objetivo de detectar y solucionar sus defectos (también llamados fallos o bugs) y fallos antes de lanzarlos a los usuarios finales. Para ello, la industria requiere probadores bien preparados y la educación tiene una responsabilidad en esa cuestión. Sin embargo, existe una brecha entre la industria y la educación en lo que respecta a los conocimientos de pruebas necesarios en la industria y lo que se enseña en las instituciones de educación superior. Por un lado, las pruebas de software no se enseñan con suficiente profundidad en la educación de ingeniería de software (Fraser et al., 2019; Jesus et al., 2020) y, a menudo, se incluyen en otros cursos de ingeniería de software en lugar de ser un curso dedicado (Silvis-Cividjian, 2021). Por otro lado, es difícil involucrar a los estudiantes, ya que tienden a considerar que las pruebas de software son una tarea aburrida y destructiva, y prefieren las tareas de diseño e implementación (Fraser et al., 2020). Como resultado, los estudiantes no adquieren la práctica que requiere la industria y prefieren trabajar en otras áreas de ingeniería de software en lugar de en pruebas de software; como se afirma en (Silvis-Cividjian, 2021), solo hasta el 20% de los estudiantes consideran una carrera en pruebas de software.


Para abordar el problema de la motivación de los estudiantes, hemos explorado el uso de la gamificación en un curso de pregrado de pruebas de software. La gamificación se ha adoptado en la última década como un medio para involucrar a los estudiantes en diferentes contextos educativos (Bodnar et al., 2016; Dichev y Dicheva, 2017; Milosz y Milosz, 2020; Subhash y Cudney, 2018; Vos et al., 2020), y ha dado resultados prometedores en la educación en ingeniería de software y pruebas de software (Alhammad y Moreno, 2018; Fraser, 2017; Garousi et al., 2020; Jesus et al., 2018; Kosa et al., 2016; Pedreira et al., 2015; Souza et al., 2018).


En este artículo, describimos y evaluamos la experiencia de gamificación llevada a cabo en clases de seminario de un curso de pruebas de software, donde los estudiantes tuvieron que crear casos de prueba efectivos para varios programas defectuosos con el fin de detectar sus defectos. Planteamos la hipótesis de que la gamificación tendría un impacto positivo en la participación y el rendimiento de los estudiantes. Los estudiantes participaron en una experiencia de gamificación basada en narrativa en la que participaron en una legendaria carrera olímpica por la inmortalidad, con el apoyo de una herramienta de gamificación llamada GoRace. La efectividad de sus casos de prueba determinó su progreso en la carrera. Esta efectividad es proporcionada por una herramienta llamada SQLTest, que está integrada con GoRace. Para probar nuestras hipótesis, definimos un conjunto de métricas para medir la participación y el rendimiento de los estudiantes y comparamos estadísticamente los resultados obtenidos por los grupos experimentales y de control para responder a las siguientes preguntas de investigación:


  • RQ1. ¿El nivel de compromiso de los estudiantes de pruebas de software que realizan actividades gamificadas es mayor que el de los que las realizan en un entorno no gamificado? Para responder a esta pregunta de investigación, definimos un conjunto de métricas relacionadas con la participación de los estudiantes en las actividades académicas.


  • RQ2. ¿El rendimiento de los estudiantes de pruebas de software que realizan actividades gamificadas es superior al de los que las realizan en un entorno no gamificado? Para responder a esta pregunta de investigación, definimos un conjunto de métricas relacionadas con la efectividad de los casos de prueba creados.


Las principales aportaciones de este trabajo son las siguientes:


  • Diseño de una experiencia de gamificación para un curso de pregrado de pruebas de software. Esta experiencia se llevó a cabo a lo largo de un semestre académico completo (15 semanas).


  • Análisis del impacto de la gamificación en la mejora de la implicación de los estudiantes y su rendimiento en la creación de casos de prueba eficaces. Los resultados indican que la gamificación tiene un impacto positivo tanto en la implicación como en el rendimiento de los estudiantes; además, también revelan que es crucial mantener el estímulo durante toda la experiencia para asegurar el éxito.


El resto de este artículo se organiza de la siguiente manera: la Sección 2 proporciona antecedentes sobre la gamificación y la educación en pruebas de software. La Sección 3 presenta el curso involucrado en la experiencia de gamificación, junto con los participantes y los materiales utilizados en la experiencia. Esta sección también describe el procedimiento seguido en la experiencia y las métricas definidas. La Sección 4 presenta los resultados del análisis estadístico realizado para probar las hipótesis que nos permiten responder a las preguntas de investigación. Estos resultados se discuten en la Sección 5. La Sección 6 enumera las amenazas a la validez de los hallazgos discutidos. Finalmente, extraemos nuestras conclusiones y describimos las implicaciones de nuestros hallazgos en la Sección 7.


Este artículo está disponible en arxiv bajo la licencia CC BY 4.0 DEED.