Artículo: Automatización del pipeline de aprendizaje automático para la priorización de pruebas
Archivos
Fecha
Editor
Publicado en
Licencia Creative Commons
Resumen
La priorización de casos de prueba (TCP) consiste en ordenar y seleccionar los casos de prueba más relevantes para verificar que la funcionalidad actual de un sistema software no se ve afectada por cambios en el código. Recientemente, el aprendizaje automático (ML) se ha utilizado en TCP para predecir la probabilidad de fallo de cada caso de prueba. Sin embargo, los ingenieros de software pueden tener dificultades para identificar e implementar los modelos predictivos ad hoc más apropiados para cada problema de TCP. Por eso, a medida que se generen nuevas versiones y se validen con el conjunto de pruebas obtenido, es probable que el rendimiento del modelo disminuya. En este estudio, abordamos estos retos aplicando la composición automatizada de pipelines y la optimización de hiperparámetros. Ambas se consideran tareas dentro del ML automático (AutoML). Con este objetivo, nuestra propuesta emplea la programación genética guiada por gramáticas como método evolutivo para implementar el algoritmo AutoML. Nuestros resultados experimentales demuestran que nuestro enfoque puede adaptarse a las particularidades del sistema bajo prueba (SUT), seleccionando el pipeline y los hiperparámetros más adecuados para cada versión. Y lo que es más importante, nuestro enfoque elimina la necesidad de que los testers requieran de amplios conocimientos de ML, permitiéndoles generar pipelines adaptados a los sucesivos cambios en las versiones del SUT. El trabajo muestra además una discusión desde la perspectiva cualitativa de la idoneidad de la propuesta aplicada al problema TCP.


