120 likes | 280 Views
CANTATA “La solución para probar software en C”. Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia. Introducción. Necesidad de probar el software completa y sistemáticamente, en cada fase del ciclo de desarrollo Problema: probar es caro
E N D
CANTATA“La solución para probar software en C” Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia
Introducción • Necesidad de probar el software completa y sistemáticamente, en cada fase del ciclo de desarrollo • Problema: probar es caro • Dilema: Calidad <-> Coste
Cantata • Producto de verificación de software • Solución completa de verificación de software en C, en un único paquete • Integración en el entorno
Principales áreas: • Dynamic testing • ¿Hace lo que debería? • Coverage analysis • ¿Cómo son de buenas las pruebas?, ¿son completas? • Static analysis • ¿Es el SW mantenible? • ¿Cumple los estándares?
Dynamic testing (I) • Punto más importante de la verificación del software. • Comprueba que lo que el software hace es lo que se espera que haga • Cantata permite pruebas dinámicas en: • Unidades individuales de SW • Colecciones de unidades • Sistemas completos
Dynamic testing (II) • Estructura formal para: especificación, ejecución, documentación, reutilización y repetición de pruebas • Informe completo para diagnóstico y garantía de calidad
Dynamic testing (III) • Permite diversos tipos de prueba: • Funcional (caja negra) • Estructural (caja blanca) • Unidad (aislamiento) • Integración • Genera pruebas de test, las ejecuta, genera informe de resultados y análisis temporal
Coverage analysis (I) • Medida para comprobar la efectividad del dynamic test • Mide la proporción del software ejecutado durante la prueba • Identifica código no ejecutado • Requerido por bastantes estándares: • RTCA/DO-178B • Def Stan 00-55
Coverage analysis (II) • Se puede efectuar sobre: • Funciones simples • Módulos • Clases • Cualquier número de funciones integradas, módulos o clases • Aplicaciones completas
Static analysis • Aporta información sobre el código: • Mantenibilidad • Estructura • Legibilidad • Verificabilidad • Reforzar estándares de codificación • Valoración de la complejidad • Evalúa: • Complejidad • Mantenibilidad
Caso práctico: Función Convert • Analizaremos una función en C, que convierte un entero a formato string en decimal, octal o hexadecimal • Para ello utilizaremos una simulación de Cantata ...
Otros detalles • Portabilidad de los test (Windows, Unix, ...) • ANSI C • ISO 9000-3 • Usado en proyectos críticos de desarrollo en C (aviación, defensa, salud,...)