Concretización a Perl de casos de prueba abstractos generados a partir de especificaciones Z

Fecha

2020-11

Título de la revista

ISSN de la revista

Título del volumen

Editor

Facultad de Ciencias Exactas, Ingeniería y Agrimensura. Universidad Nacional de Rosario

Resumen

La investigacíón entorno a la especificación de sistemas de software se ha acrecentado los últimos años y se debe a la importancia que tienen éstas tanto para la construcción como para el mantenimiento de sistemas. La característica que hace a las especificaciones un punto clave en el desarrollo de software es la de proveer las herramientas necesarias para formalizar los requerimientos funcionales, comúnmente expresados en lenguaje natural y, por lo tanto, muy propensos a contener ambigüedades. La etapa de testing de software es otra de las áreas que se ve beneficiada por las especificaciones funcionales ya que el testing basado en modelos (MBT la siglas de su traducción del inglés Model-Based Testing) permite la generación de casos de prueba a partir de una especificación del sistema que se desea testear. Para su tesina de grado Pablo Rodríguez Monetti presenta una primera implementación de TTF (Test Template Framework) llamada Fastest. Esta herramienta es un framework de MBT que toma especificaciones en lenguaje Z como punto inicial del proceso. Esta implementación permite generar casos de prueba abstractos partiendo de una especificación Z. En sus respectivas tesinas de grado Diego Ariel Hollmann y Pablo Damián Coca extienden Fastest con módulos que permiten el refinamiento de casos de prueba abstractos, generados por Fastest, a casos concretos en los lenguajes C y Java, respectivamente. En su tesina Diego Ariel Hollmann presentó Test Case Refinement Language (TCRL de ahora en más), un lenguaje de refinamiento utilizado en ambos trabajos para establecer la correspondencia entre las variables de especificación y las de implementación. En esta tesina se presenta el lenguaje de refinamiento ATCAL, creado por el actualmente graduado en Licenciatura en Ciencias de la Computación Cristian Rosa como parte de un trabajo realizado para un post-doctorado. A éste, el autor hizo los agregados necesarios para completar su definición. En comparación con TCRL, se simplifican algunas de sus estructuras y se extiende su expresividad. Además, se implementa un nuevo módulo de Fastest que refina los casos abstractos de prueba a casos concretos en Perl. Junto con este desarrollo se presentan casos de estudio para ejemplificar el uso del lenguaje ATCAL como medio para describir los mapeos entre especificación funcional e implementación, además de los casos concretos generados, de modo tal que se hace posible realizar una comparación directa respecto a sus correspondientes casos abstractos.

Descripción

Palabras clave

perl, refinamiento, testing, especificaciones funcionales, automatización, fastest

Citación