Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Elemento crítico para la garantía de calidad del software y representa una revisión final de las especificaciones, del diseño y de la codificación. Curso 1999/2000 Ingeniería del Software 1 Prueba del Software Objetivos Proceso de ejecución de un programa con el fin de descubrir un error. Buen caso de prueba -> Alta probabilidad de encontrar un error. Éxito de un prueba -> Descubrir error no detectado con anterioridad. Curso 1999/2000 Ingeniería del Software 2 Prueba del Software Objetivo principal Conseguir la detección de posibles errores con poca cantidad de tiempo y esfuerzo. Garantías Las pruebas no garantizan la ausencia de defectos. Curso 1999/2000 Ingeniería del Software 3 1 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a realización. Gran nº errores en inspecciones de pocos módulos. Curso 1999/2000 Ingeniería del Software 4 Prueba del Software Principios de la prueba (Cont.) Empezar por lo pequeño y progresar a lo grande. Imposibilidad de pruebas exhaustivas Gran efectividad -> Realización de pruebas por equipos independientes Curso 1999/2000 Ingeniería del Software 5 Prueba del Software Facilidad de la prueba Lo fácil que resulta probar un sw. Acuerdos con los programadores Existen métricas de medición. Curso 1999/2000 Ingeniería del Software 6 2 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Producto fácil de probar Operatividad Observabilidad Visualización de situaciones anómalas Controlabilidad Técnicas de automatización Capacidad de descomposición Modularidad e independencia Curso 1999/2000 Ingeniería del Software 7 Prueba del Software Producto fácil de probar (Cont.) Simplicidad Funcional, Estructural y de Código Estabilidad Pocos cambios, pocas interrupciones Facilidad de compresión Buen producto implica buenas pruebas Curso 1999/2000 Ingeniería del Software 8 Prueba del Software Atributos de buenas pruebas Alta probabilidad de encontrar un error No ser redundante Falta de tiempo -> Pruebas genéricas Pruebas normales (ni sencillas ni complejas) Curso 1999/2000 Ingeniería del Software 9 3 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Diseño de casos de prueba Prueba de caja negra Entrada Programa Salida Prueba de caja blanca Curso 1999/2000 Ingeniería del Software 10 Prueba del Software Prueba de Caja blanca Ejercitar una vez todos los caminos Ejercitar todas las decisiones (V/F) Ejercitar todos los bucles (límites) Ejercitar las estructuras de datos Curso 1999/2000 Ingeniería del Software 11 Prueba del Software Por qué prueba de Caja blanca Error inv. proporcional ejecución Camino lógico ejecución <> Camino real Errores tipográficos aleatorios Curso 1999/2000 Ingeniería del Software 12 4 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Prueba del Camino Básico - Conceptos Técnica de prueba de caja blanca que define un conjunto básico de caminos de ejecución. Curso 1999/2000 Ingeniería del Software 13 Prueba del Software Prueba del Camino Básico - Conceptos Notación de grafo de flujo Nodos Aristas Regiones Curso 1999/2000 Ingeniería del Software 14 Prueba del Software Prueba del Camino Básico - Conceptos 1 2 3 6 7 11 Curso 1999/2000 9 8 4 5 10 Ingeniería del Software 15 5 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Prueba del Camino Básico - Conceptos 1 2,3 6 7 R3 R2 8 R1 9 11 Curso 1999/2000 4,5 10 R4 Ingeniería del Software 16 Prueba del Software Prueba del Camino Básico - Conceptos Complejidad ciclomática Métrica del sw que da una medición de la complejidad de un programa. Caminos independientes Nº de pruebas a diseñar y ejecutar Nº caminos = Nº regiones = A-N+2 Curso 1999/2000 Ingeniería del Software 17 Prueba del Software Prueba del Camino Básico - Conceptos Complejidad ciclomática - Ejemplo Conjunto Básico - 4 caminos Camino 1: 1-11 Camino 2: 1-2-3-4-5-10-1-11 Camino 3: 1-2-3-6-8-9-10-1-11 Camino 4: 1-2-3-6-7-9-10-1-11 Curso 1999/2000 Ingeniería del Software 18 6 Universidad Rey Juan Carlos Universidad Rey Juan Carlos Prueba del Software Prueba del Camino Básico - Conceptos Obtención de Casos de Prueba Dibujar el grafo de flujo Calcular la complejidad ciclomática Determinar un conjunto básico Preparar los casos de prueba para el camino básico Curso 1999/2000 Ingeniería del Software 19 Prueba del Software Prueba del Camino Básico - Conceptos Matrices de grafos Otra forma de representación Matriz cuadrada, con nodos como filas y columnas. Contenido, si hay aristas entre nodos. Curso 1999/2000 Ingeniería del Software 20 7