Imagen del encabezado de la página

IV Congreso Internacional de Ingeniería Informática y Sistemas de Información

Generación de casos de pruebas unitarias a partir del código fuente para lenguaje Java

Danay Larrosa Uribazo, Perla Beatriz Fernández Oliva, Martha Dunia Delgado Dapena

Resumen

Las pruebas de software aumentan considerablemente la confiabilidad y calidad de los sistemas, contribuyendo así, a su posicionamiento en el mercado. Sin embargo, son costosas por lo que se hace necesaria su automatización con el propósito de disminuir su costo y aumentar su efectividad. Específicamente, las pruebas unitarias se encargan de probar que las unidades individuales del diseño de software, componente o módulo de software funcionan correctamente. Aunque existen herramientas que se encargan de ejecutar pruebas unitarias de manera automática, carecen de funcionalidades que asistan al desarrollador en el diseño de los casos de prueba. Además, las propuestas existentes para el diseño de los casos de pruebas unitarias, no se han insertado al entorno productivo y no permiten generar código de pruebas. Este trabajo describe la generación de casos de pruebas unitarias a partir del código fuente en lenguaje Java. Para el diseño de los casos de prueba se utilizó la técnica del camino básico. Teniendo en cuenta la técnica utilizada, se genera de forma automática el grafo de control de flujo del código fuente a probar, luego se generan los caminos independientes y, por último, se generan combinaciones de valores de prueba para satisfacer cada camino independiente. Se aplicaron algoritmos metaheurísticos para la generación de valores de prueba y de combinaciones de valores para cada camino. Se diseñó un caso de estudio para validar la solución propuesta. Por último, se compararon las combinaciones de valores obtenidas con otros algoritmos, propuestos por autores que trabajan el tema en la comunidad científica.


Palabras claves

pruebas unitarias; técnica del camino básico; generación automática de casos de prueba; algoritmos metaheurísticos