SEGURIDAD DEL SOFTWARE Unidad 5 – Prueba del Software Facultad de Ingeniería Lic. Patricia Aballay – Lic. José Peralta UNIDAD 5: PRUEBA DEL SOFTWARE 1 • Fundamentos de la Prueba 2 • Pruebas de Caja Negra 3 • Casos de Prueba 4 • Partición Equivalente 2 Prueba del Software Las pruebas del software representan el mayor porcentaje de esfuerzo técnico en el proceso del software. El objetivo de las pruebas de software es descubrir errores. 3 Repaso de Conceptos Claves La Prueba es un proceso por el cuál se ejecuta un software con la intención de descubrir errores. “El proceso de ejecutar un sistema o componente bajo unas condiciones especificadas, observando o registrando los resultados, y haciendo una evaluación de algún aspecto del sistema o componente”. Un Caso de Prueba es el conjunto de valores de variables y condiciones lógicas que fuerzan la ejecución del software de una manera determinada. “Conjunto de entradas, condiciones de ejecución y resultados esperados desarrollados para un objetivo particular tal como ejercitar un camino en un programa o verificar la conformidad de un requisito específico”. 4 Fundamentos de la Prueba PRINCIPIOS: • Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces. • Una prueba es exitosa si descubre un error no detectado aún. OBJETIVO: • Diseñar pruebas que sistemáticamente saquen a la luz diferentes clases de errores, haciéndolo con la menor cantidad de tiempo y esfuerzo. • Como aporte adicional, la prueba establece un valor de la fiabilidad del software, lo que indica, de alguna manera, la calidad del software. "Una Prueba no puede asegurar la ausencia de defectos; sólo puede demostrar que existen defectos en el software..." 5 Flujo de Información en la Prueba Software Corregido Depuración Codificación Software con errores Software Prueba Prueba Prueba Plan de Pruebas Software Validado Instalación Indice de errores 6 Categorías de Técnicas de Diseño de Casos de Prueba a) Pruebas de Caja Negra: – Se aplican típicamente sobre interfaz del Software. Permiten validar los requisitos funcionales. Se centran en el ámbito de la información de un programa. – "prueba a gran escala" b) Pruebas de Caja Blanca: – Se aplican sobre los detalles procedimentales. Se centran en la Estructura de Control de la ejecución del programa. – "prueba a pequeña escala" 7 PRUEBAS DE CAJA NEGRA Partición Equivalente DEFINICIÓN: Es una técnica de prueba de Caja Negra que divide el dominio de entrada de un programa en clases de datos de los que se pueden derivar casos de prueba. El diseño de estos casos de prueba para la partición equivalente se basa en la evaluación de las clases de equivalencia. 8 Partición Equivalente CLASE DE EQUIVALENCIA: Es la porción del dominio de una entrada o una salida para la cual se asume que el comportamiento de un componente o sistema, basado en la especificación, es el mismo. Por lo tanto, bajo ese supuesto, si probamos un valor dentro de un rango de datos de entrada, y el software ofrece un cierto comportamiento, suponemos que mantendrá ese comportamiento para todos los valores posibles de datos de entrada del rango elegido. 9 Partición Equivalente TÉCNICA: Identificar las condiciones de las entradas del programa y a partir de ellas, se identifican las clases de equivalencia: • De datos válidos • De datos no válidos Ej: El nro. de documento de un ciudadano vivo, con documento argentino, no debería ser inferior a 1.000.000 (o el exacto valor que indique el organismo pertinente); ni debería ser mayor a un valor establecido (por ej. 99.000.000) CLASE DE EQUIVALENCIA VALOR Nro. De Documento DNI < 1.000.000 Entre 1.000.000 y 99.000.000 > 99.000.000 VÁLIDO / INVÁLIDO Inválido Válido Inválido 10 Partición Equivalente REGLAS PARA IDENTIFICAR CLASES: Cada campo de entrada de datos es candidato a ser considerado una Clase de Equivalencia. Tener en cuenta que, en la interfaz, el programador puede haber limitado los datos a registrar, minimizando la posibilidad de error del software. Sin embargo, a veces los valores válidos se pueden elegir de entre varias opciones (ej. Género), pero el software no propone por defecto a ninguno. En esos casos se debe probar también qué pasa si NO ELIJO NINGUNO. 11 Partición Equivalente REGLAS PARA IDENTIFICAR CLASES: También podría darse que la selección de un valor, para un campo, está asociada con cambios en el comportamiento de la interfaz. Por ej: cuando seleccionamos Tipo Denunciante “Personal Policial”, toda la carga de datos cambia y se registrarán sólo ciertos datos, muy distintos de los asociados a la opción “Civil”. Se debería entonces probar qué pasa en la interfaz si se registra cada opción. 12 SEGURIDAD DEL SOFTWARE Unidad 5 – Prueba del Software Facultad de Ingeniería Lic. Patricia Aballay – Lic. José Peralta