Professional Documents
Culture Documents
Prueba de Software Objetivos y principios de la prueba. Tcnicas y mtodos de prueba. La Prueba en el contexto de la calidad. Estrategias de prueba. Niveles de prueba. Organizacin y ejecucin de la prueba.
Objetivos de la Prueba
Segn Glen Myers:
Proceso de ejecucin de un programa con la intencin de descubrir errores. Un buen caso de prueba es aquel con alta probabilidad de descubrir un error no encontrado hasta el momento. Una prueba tiene xito si descubre errores.
Principios de la Prueba
Segn Alan M. Davis:
Debe existir trazabilidad de ida y vuelta entre los requerimientos y los casos de prueba. Se debe planificar la prueba antes de construir el sistema. Aplicar el principio de Pareto (80/20). Las pruebas deben ir de lo pequeo a lo grande. No son posibles pruebas exhaustivas Tcnicas Realizar las pruebas por un equipo independiente.
Ingeniera de Software. Prueba de Software.
Defecto o falla: anomala del producto de software durante su ejecucin. Error: problema de calidad descubierto por el desarrollador antes de entregar el producto. Corolario: los sistemas tienen defectos o fallas a consecuencias de errores introducidos por los desarrolladores.
Ingeniera de Software. Prueba de Software.
Tcnicas de Prueba
Prueba de caja negra (funcional).
Ejecutando la aplicacin. A partir de la interfaz del usuario. Se pretende demostrar que son correctas y completas las entradas y las salidas.
Dos tcnicas:
Prueba del camino bsico (grafos - CCC). Prueba de la estructura de control.
Ingeniera de Software. Prueba de Software.
Se aplica a la pruebas de bajo nivel del software. Se aplica en las primeras fases de la prueba.
10
CP Basados en Funciones
Se especifica el caso de uso. Se especifican distintos valores para las distintas variables de los casos de uso. Se generan n casos de prueba por caso de uso. Para la especificacin de valores se puede usar:
Particin equivalente (clases de equivalencia). Anlisis de valores frontera o lmites.
Caso de Uso
Un caso de uso tiene:
Nombre, Actor/es que intervienen, Descripcin, Puede contener:
pre- condiciones, post- condiciones, cursos alternativos.
11
12
Definiciones
Curso alternativo: es un flujo de eventos diferente del normal del caso de uso. Escenario: es una instancia de un caso de uso, interaccin con el sistema de datos concretos.
13
14
15
16
Del CU al CP
Paso 1: Crear Lista de Escenarios Paso 2: Generar Escenarios Paso 3: Generar Casos de Prueba Paso 4: Generar Datos de Prueba
17
18
Escenarios Posibles
Escenario 1 Escenario 2 Escenario 3 Escenario 4 Curso normal
Curso alternativo 2
Escenario 2
Curso alternativo 5
Escenario 3
Bsico
CA5
Curso alternativo 8
Escenario 4
Bsico
CA8
19
20
N/V
Los datos a ingresar pueden ser valores vlidos o no vlidos o valores no disponibles para ingresar, segn cada escenario. Es importante especificar el resultado esperado porque permite analizar el resultado (xito o fracaso) del caso de prueba.
Ingeniera de Software. Prueba de Software.
CP4
Escenario 4
N/V
21
22
CP2
Deben corresponder a datos vlidos o no vlidos de la aplicacin segn lo establecido en cada caso de prueba.
CP3
CP4
15632. QR1111. Martn La Prez Eneida 15632. AW1234. Escenario 4 Martn La Illada Prez
Cancela
23
24
25
26
Aplicacin de PE
Requerimientos.
Cdigo de rea: en blanco o nro. de 3 dgitos > 0.
Caso de prueba.
Cdigo de rea: Si condicin de entrada es lgica => puede ser nulo. Si condicin de entrada es rango => Clase de equivalencia correcta = 1 a 300. Clase de equivalencias no correctas = -100 a -1 y 301 a 500.
Ingeniera de Software. Prueba de Software.
27
28
Prueba de GUIs
Para ventanas:
Forma de abrir ventanas: teclado, mouse, men. Tamao, movimiento y despliegue de ventanas. Acceso de informacin disponible a mouse, teclas de funcin, flechas y otros. Se regenera al sobrescribir y volver abrir. Estn todas las funciones de la ventana operativas? Estn disponibles en la ventana los menes emergentes, barra de herramientas, barras deslizantes, cuadros de dilogo, botones, conos, etc.? etc.
Ingeniera de Software. Prueba de Software.
29
30
Prueba de GUIs
Para menes:
Se muestra la barra de men apropiada en el contexto apropiado? Funcionan adecuadamente las funciones de despliegue? Estn todas las funciones del men accesibles con el mouse? Se ejecutan todas las funciones de cada men como se anunciaba? Si el ratn tiene varios botones, se reconocen en el contexto? Cambia adecuadamente el cursor en el orden del procesamiento? etc.
Ingeniera de Software. Prueba de Software.
Prueba de GUIs
Para entrada de datos:
Se repiten y son introducidos adecuadamente los datos alfanumricos en el sistema? Funcionan adecuadamente los modos grficos de entrada de datos como por ej. , una barra deslizante? Se reconocen adecuadamente los datos no vlidos? Son comprensibles los mensajes de entradas de datos?
31
32
Prueba Cliente/Servidor
Comprobar aplicaciones clientes. Comprobar servidor de aplicaciones. Comprobar servidor de BD. Comprobar servidor de transacciones. Comprobar servidor de comunicaciones. Se prueba fundamentalmente desempeo.
33
34
PE)
35
CALIDAD
INGENIERIA DE PROCESOS: Definicin de procesos. Procedimientos. Estndares SQA: V&V mediante: Revisiones. Auditoras.
PRUEBAS.
37
38
ESRE
CP
ESDI
CP+
Fuentes y Exes
CP++
Ingeniera de Software. Prueba de Software.
R E S U L T A D O S
Diseo Codificacin
40
Pruebas de Regresin
Cada vez que se agrega o modifica el software, ste cambia. Puede verse afectado el funcionamiento previo de una o varias funciones. Aseguran que un cambio no introdujo un comportamiento no deseado o errores adicionales. Clases de casos de prueba:
Muestra representativa que ejecuta todas las funciones. Pruebas adicionales de las funciones de SW probablemente afectadas Pruebas centradas en los componentes de SW que cambiaron
Niveles de Prueba
Prueba de Unidad.
Prueba cada componente individualmente. Se basa en los requerimientos (especificaciones del componente) de la unidad.
Prueba de Integracin.
Prueba conjunto de componentes. Se basa en los requerimientos del conjunto. Requerimientos: especificaciones de diseo y arquitectura.
Prueba de Validacin.
Prueba toda la aplicacin de software. Se basa en los requerimientos del software. Requerimientos: ESRE del software.
41
42
Prueba de Unidad
Interfaz.
Correctitud y completitud de parmetros y argumentos. Variables globales de intercomunicacin. Operaciones de E/S: Archivos (apertura, cierre, manejo, buffers, etc.).
Estructuras de datos.
Tipos de datos. Inicializacin. Nombres de variables. Condiciones de borde o de overflow.
Condiciones lmites.
Anlisis de valores lmite. Loops y alternativas.
RESGUARDO1
...
RESGUARDON
RESULTADOS
CASOS DE PRUEBA
43
44
Prueba de Integracin
Big bang.
Se integran todos los componentes. Se prueban todos juntos No recomendado. Incremental. Descendente. Se utilizan resguardos. Se puede realizar en: pre/in/pos order. Ascendente. Se utilizan conductores. Se puede realizar en inversa de: pre/in/pos order. Requiere prueba de regresin. Repetir casos de prueba si hay modificaciones.
Ingeniera de Software. Prueba de Software.
Prueba de Validacin
Se prueba el sistema como un todo. Contra requerimientos (ESRE). Se utilizan criterios de validacin. Procedimiento:
1. 2. 3. 4.
45
Prueba de Seguridad.
Contra intrusos. Descubrir las claves de seguridad. Intentar bloquear el sistema. Intentar acceder durante la recuperacin.
48
Responsabilidades en la Prueba
EQUIPO INDEPENDIENTE: V&V Ing. de Req. del Sistema Ing. de Req. del Software Diseo Codificacin Prueba del Sistema Prueba de Validacin Prueba de Integracin Prueba de Unidad
50
Metodologa de Prueba
Planificacin de la Prueba
Creacin del plan (objetivos, qu probar, mtodos, recursos, productos a generar y responsables)
Diseo de la Prueba
Cmo probar, cmo utilizar los mtodos, criterios de aceptacin.
Ejecucin de la Prueba
Ejecutar los casos de prueba segn el procedimiento planificado y registrar los incidentes o problemas encontrados
51
54
Chequeadores de estructura.
Generan grafos de la aplicacin. Muestran la ubicacin sentencias que nunca se ejecutarn.
Auditores de datos.
Chequean definicin e interfaces de estructuras de datos. Muestran existencia divisiones entre cero. Detectan pasajes de parmetros incorrectos.
Chequeadores de secuencias.
Verifican el correcto orden de los eventos. Ej.: Intento de uso de archivo no abierto.
Ingeniera de Software. Prueba de Software.
55
56
58
Resumen
59
Objetivos y principios de la prueba. Tcnicas y mtodos de prueba. La Prueba en el contexto de la calidad. Estrategias de prueba. Niveles de prueba. Organizacin y ejecucin de la prueba. Metodologa de la prueba
60
Bibliografa
Captulos 16 y 17, Ingeniera del Software, 4ta. Edicin, Pressman. Generating Test Cases from Use Cases, Jim Heumann,
http://www.computing.dcu.ie/~ltuohey/CA314_2004_2005/GeneratingTestCasesFromUseCasesJune01.pdf
61