We're currently working on updating our website's content in order to provide you with a more thorough description of our technology and also update you on the significant improvements on our new Transformation Engines.
We invite you to come visit our new website in a few weeks. You'll discover INTEGRANOVA M.E.S. is the software development disruptor!

Subvención a proyecto de Innovación (IVACE)

Optimización de los procesos de desarrollo y prueba de software mediante programación automática de juegos de prueba unitarios para testeo de software.

Anunciamos que nos ha sido concedida recientemente una subvención para el proyecto de programación automática de pruebas unitarias de software.

Esta subvención se incluye dentro del programa PROYECTOS DE INNOVACIÓN DE PYME EN TEICS (INNOVA-CV) y actuación INNOVACIÓN DE PYME EN TEICS (INNOVATeiC-CV) 2020 del Instituto Valenciano de Competitividad Empresarial (IVACE) de la Generalitat Valenciana y con la cofinanciación de la Unión Europea a través del Fondo Europeo de Desarrollo Regional (FEDER).

Descripción y Objetivos

El objetivo de este proyecto es desarrollar una herramienta software que, a partir de la especificación funcional (requisitos) de un sistema (capturada en un modelo conceptual orientado a objetos), permita la generación completa, eficiente y fiable del código de las pruebas unitarias del sistema software correspondiente a dicha especificación, de forma totalmente automatizada y, de este modo, prescindir de acciones de programación manual por parte de los desarrolladores de juegos de prueba.

Esto es, automatizando la generación del código de las pruebas unitarias, estaremos también automatizando las tareas correspondientes a probar el software desarrollado, la cual cosa permitirá a la industria de desarrollo de software:

  • Reducir los tiempos de desarrollo de cualquier solución software.
  • Verificar el correcto y completo desarrollo de los requisitos.
  • Disminuir la cantidad de tareas repetitivas y de retroalimentación que comprenden estas fases del ciclo de desarrollo de software
  • Aumentar la calidad del software desarrollado, permitiendo su fácil adaptabilidad y reutilización. No se trataría, por tanto, de una solución a medida para un problema concreto, sino de una automatización aplicable a cualquier desarrollo
  • Generar importantes ahorros en costes económicos directos e indirectos referidos al ciclo completo de desarrollo de un sistema de información.

Resultados observables del proyecto

El presente proyecto se centrará en la generación del código de pruebas unitarias en Java para la funcionalidad de la lógica de negocio de un sistema de información.

Los procesos de generación automática de código de pruebas unitarias a partir de un modelo conceptual se integrarán en los Transformation Engine para la capa de lógica de negocio. Esto es, se integrarán en los generadores de código que, a partir de un modelo conceptual, generan código funcional para la capa de lógica de negocio.

Así, como resultado de la combinación de ambos procesos en un mismo Transformation Engine se espera que, como resultado de aplicar el Transformation Engine a un modelo conceptual, se obtenga, además del código funcional (el que implementa la lógica de negocio del sistema de información) el código de las pruebas unitarias (el que verificará el funcionamiento del código funcional).

Se espera también que el código de las pruebas unitarias pueda ser ejecutado de forma automática y que todas las pruebas pasen satisfactoriamente. Esto es, sin errores y sin discrepancias en cuanto a lo que cada prueba verifique.

Adicionalmente, se espera que el código de las pruebas unitarias alcance un nivel de cobertura del código funcional de, por lo menos, un 80%. Esto es, que el código de las pruebas unitarias verifique al menos el 80% del código funcional. Esto resultará en un aumento de la calidad del código generado automáticamente por los Transformation Engine.

Finalmente, se espera que el código generado (la combinación de código funcional y código de pruebas unitarias) se integre fácilmente en pipelines de CI/CD utilizando herramientas tales como Jenkins.

fondos Feder