Tecnología UniTESK

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 22 de diciembre de 2020; la verificación requiere 1 edición .

UniTESK (Unified Testing & Specification ToolKit) es una tecnología para probar software y hardware basada en especificaciones formales , desarrollada en el Instituto de Programación de Sistemas de la Academia Rusa de Ciencias . La tecnología es una combinación de técnicas bien establecidas que se pueden aplicar en varias combinaciones, combinándose y reforzándose mutuamente. Esto hace que la tecnología sea flexible y personalizable para los procesos de desarrollo existentes en todas las etapas del ciclo de vida del desarrollo de software, desde la recopilación y el análisis de requisitos hasta el mantenimiento.

La base para emitir veredictos sobre la corrección del comportamiento del sistema bajo prueba son las especificaciones del contrato en forma de condiciones previas y posteriores , escritas en extensiones de lenguajes de programación tradicionales como C , Java , y que permiten hacer un veredicto completamente automático. Las especificaciones son una representación de los requisitos funcionales de un sistema. La forma de las especificaciones y los criterios de cobertura basados ​​en ellas aseguran la trazabilidad de los requisitos .

Usadas con éxito en la práctica, las técnicas para construir pruebas basadas en el recorrido de gráficos de estado pueden minimizar significativamente la cantidad de código de programa creado manualmente , mientras que al mismo tiempo aseguran la diversidad y la masividad del conjunto de prueba.

Las técnicas de abstracción de datos y los criterios de cobertura basados ​​en requisitos permiten un control flexible sobre el tamaño del conjunto de prueba y la generación directa para cubrir requisitos específicos, lo que minimiza el tiempo de ejecución del conjunto de prueba.

Una capa intermedia especial disponible en la tecnología le permite personalizar rápidamente el conjunto de pruebas para diferentes implementaciones con la misma funcionalidad.

Todas estas técnicas proporcionan pruebas de alta calidad, trazabilidad de los requisitos y un alto nivel de reutilización de los componentes del conjunto de pruebas con un mínimo de trabajo manual y un tiempo de ejecución de prueba aceptable.

Pasos tecnológicos

Definición de la parte del sistema bajo prueba En este paso se determina la funcionalidad probada, es decir, parte de las capacidades del sistema bajo consideración que necesita ser probada, y la interfaz probada, es decir, la forma de acceder a las capacidades probadas. Definición y análisis de requisitos para el sistema bajo prueba Con base en el análisis de todos los datos de entrada, la comunicación con el cliente, los expertos y los usuarios, se identifican y sistematizan los requisitos para el sistema bajo prueba. Que se presentan además en forma de un modelo formal. Definición y análisis de requisitos para la integridad de las pruebas Se destacan criterios de exhaustividad de las pruebas, que se reflejan en el modelo formal. Desarrollo de pruebas Desarrollo de fuentes de datos de prueba y modelo de prueba en general.
Técnicas Básicas .
Enumeración de conjuntos finitos, enumeración de combinaciones, enumeración de valores límite y cercanos a ellos, enumeración de valores nodales y cercanos, enumeración de estructuras gramaticales usando generadores modulares, enumeración con filtrado, enumeración de gráficos y secuencias atribuidas.
Autómatas finitos, sistemas de transición etiquetados, representación implícita de modelos de autómatas, pruebas capa por capa de modelos complejos. Desarrollar adaptadores que vinculen las pruebas a la implementación bajo prueba Depuración y ejecución de pruebas Análisis de los resultados de las pruebas

Historial de creación

Aplicación en la práctica

La tecnología se ha aplicado con éxito en muchos proyectos. Más interesantes:

Apoyo instrumental


Literatura

Enlaces