INNOVACION
Desde la UNNE aportan soluciones para la instancia de pruebas en el desarrollo de “software de entrega continua”

En una investigación que implicó encuestas a más de 200 empresas desarrolladoras de software y expertos de todo el mundo, así como aplicaciones a casos concretos, un grupo de investigadores de la UNNE desarrolló un modelo que establece un conjunto de procedimientos a seguir para implementar mejoras en el proceso de pruebas en el desarrollo de “software de entrega continua”. El trabajo aporta soluciones a problemas comunes que afectan a la calidad de esta tipología de software.

 

La “Entrega Continua” es una práctica de la ingeniería del software en la que el software de alta calidad se crea en ciclos cortos de manera que se pueda lanzar en producción en cualquier momento de forma confiable.

Sin embargo, uno de los principales desafíos de este tipo de software es mantener la calidad del mismo gestionando adecuadamente el tiempo que se invierte en las pruebas. En este sentido, se han reportado numerosos problemas relacionados con la calidad del software al adoptar este enfoque.

En ese contexto, desde Grupo de Investigación en Calidad de Software de la Facultad de Ciencias Exactas y Naturales y Agrimensura (FaCENA-UNNE) desde hace algunos años viene trabajando en la búsqueda de soluciones para optimizar la calidad en desarrollos de “entrega continua”.

Así, en una primera instancia los investigadores de la UNNE realizaron un relevamiento del estado del arte de la calidad del software en entornos ágiles, especialmente en aquellos que utilizan el enfoque de entrega continua. El mismo abarcó problemas comunes que afectan a la calidad, las relaciones que existen entre ellos, y las pruebas continuas.

Dentro de los problemas más comunes, se encontró la ejecución de lotes de pruebas (regresiones) de larga duración, los resultados de pruebas no deterministas (flaky tests), y la baja cobertura de pruebas, entre otras.

Como continuidad a esa etapa diagnóstica, los miembros del Grupo de Investigación en Calidad de Software (FaCENA-UNNE) se propusieron como objetivo un análisis de las soluciones a estos problemas.

Así, recientemente se presentaron los resultados del desarrollo de un “modelo de pruebas continuas”, formado por un conjunto de procedimientos que una organización pueda seguir, para implementar el proceso de pruebas en entornos ágiles que buscan alcanzar exitosamente los enfoques de entrega continua.

“El trabajo aporta un modelo escalonado para la mejora de pruebas en software de entrega continua, una estrategia particular de prueba más moderna que surgió de un arduo trabajo de identificar a qué problemas se enfrentaban los desarrolladores” explicó el Licenciado En Sistemas Agustín Mascheroni, miembro del Grupo de Investigación en Calidad de Software (FaCENA-UNNE) y que se encuentra realizado su Doctorado en la Universidad Nacional de La Plata.

La realización del trabajo contó además con la colaboración del Dr. Emanuel Agustín Irrazabal, director del Grupo de Investigación en Calidad de Software (FaCENA-UNNE) y del Dr. Gustavo Héctor Rossi de la Universidad Nacional de La Plata.

 

PRESENTACION DE RESULTADOS

Los resultados del proyecto fueron aceptados para su presentación en el “ICSE 2021” o Conferencia Internacional de Ingeniería del Software, que es el evento más importante de la disciplina y además se considera entre los diez eventos más importantes a nivel mundial en el ámbito de la informática.

En el marco ICSE 2021, que en esta edición se realizará en modalidad virtual, habrá un Simposio de trabajos doctorales, relacionado con aspectos de pruebas de software, en el cual será expuesto el modelo desarrollado por los investigadores de la UNNE.

El modelo elaborado reúne propuestas y enfoques de diferentes autores que se presentan como buenas prácticas agrupados por tipo de pruebas y divididos en cuatro niveles. Estos niveles indican una jerarquía de mejora y un camino evolutivo en la implementación de pruebas continuas.

Además, una aplicación llamada EvalCTIM fue desarrollada para apoyar la evaluación de un proceso de prueba utilizando el modelo propuesto.

El modelo fue validado por expertos y aplicado a casos concretos de proyectos de software.

 

DETALLES DEL TRABAJO

En cuanto al proceso que implicó la elaboración del modelo propuesto, los investigadores detallaron que para la instancia de identificación de problemas de pruebas, se analizaron 56 estudios o trabajos científicos/académicos previos de los que se obtuvo una lista de 8 problemas principales para la prueba continua.

Posteriormente, se realizó una encuesta para validar si existían desafíos o problemas de prueba en la industria del software y revelar posibles soluciones para ellos.

Después de un período de encuesta de cuatro meses, un total de 287 proyectos de distintas partes del mundo respondieron el cuestionario, de los cuales, tras aplicar criterios de inclusión, se mantuvieron 255 proyectos para el análisis.

Tras el análisis de trabajos previos y las respuestas de los desarrolladores, se avanzó en la construcción del modelo o conjunto de prácticas bien estructuradas para adoptar gradualmente “pruebas continuas” dentro de una organización.

Este conjunto estructurado de prácticas agrupadas se propone como modelo con niveles de adopción llamados niveles de mejora.

El modelo propone cuatro niveles de mejoras y cinco etapas de verificación y validación que abarcan propuestas, herramientas y técnicas reportadas como un conjunto de buenas prácticas.

En cuanto a la instancia de mejoras se proponen cuatro niveles relacionados a  “implementación”, “gestión”, “confiabilidad” y “continuidad”.

Mientras que las etapas de “validación” y “verificación” abarcan diferentes tipos de pruebas que han sido definidas y propuestas por diferentes autores tanto en la industria como en la academia literatura.

Para la validación del modelo, en una primera instancia de validación teórica, 17 expertos revisaron el modelo y luego propusieron mejoras. La mayoría de los expertos tenían más de 10 años de experiencia trabajando con Prácticas de Desarrollo Continuo y el resto tenían experiencia en investigación en campos relacionados.

Posteriormente, el modelo fue implementado en 10 proyectos pertenecientes a empresas que desarrollan software. Esa implementación produjo resultados que generaron 30 mejoras.

“Tanto los expertos que fueron seleccionados para la primera validación (fase 1) y los especialistas que participaron en la implementación del modelo (fase 2) coincidieron que el modelo es una solución a los problemas de las pruebas continuas que existen hoy” destacó el Lic. Mascheroni sobre el modelo propuesto.

Por su parte, el Dr. Irrazabal resaltó la relevancia del trabajo realizado, que aporta una innovación concreta de aplicación disciplinar así como para la industria del software.

Señaló que la aceptación del trabajo para el “ICSE 2021” (Conferencia Internacional de Ingeniería del Software) es una muestra de la pertinencia del modelo desarrollado para atender una necesidad concreta de la disciplina.

La realización del trabajo a cargo del Lic. Mascheroni se enmarca además en los proyectos de investigación “Metodologías y herramientas emergentes para contribuir con la calidad del software” (PI 17F018 SCyT UNNE), y «Análisis e Implementación de tecnologías emergentes en sistemas computacionales de aplicación regional» (PI 17F017 SCyT UNNE), que son algunas de las líneas de abordaje del Grupo de Investigación en Calidad de Software (FaCENA-UNNE).