Está en la página 1de 47

Prueba del Software

Elemento crtico para la garanta de calidad del software y representa una revisin final de las especificaciones, del diseo y de la codificacin.

Curso 2005/2006

Ingeniera del Software

Prueba del Software


Objetivos
Proceso de ejecucin de un programa con el fin de descubrir un error, con poca cantidad de tiempo y esfuerzo. Buen caso de prueba -> Alta probabilidad de encontrar un error. xito de un prueba -> Descubrir error no detectado con anterioridad.

Garantas
Las pruebas no garantizan la ausencia de defectos.
Curso 2005/2006 Ingeniera del Software 2

Prueba del Software


Principios de la prueba
Seguimiento hasta los requisitos. Planificacin anterior a realizacin. Gran n errores en inspecciones de pocos mdulos. Empezar por lo pequeo y progresar a lo grande. Imposibilidad de pruebas exhaustivas Gran efectividad -> Realizacin de pruebas por equipos independientes
Curso 2005/2006 Ingeniera del Software 3

Prueba del Software


Diseo de casos de prueba
Prueba de caja blanca Prueba de caja negra
Entrada

Programa

Salida

Curso 2005/2006

Ingeniera del Software

Prueba del Software


Prueba de Caja blanca
Ejercitar una vez todos los caminos Ejercitar todas las decisiones (V/F) Ejercitar todos los bucles (lmites) Ejercitar las estructuras de datos

Curso 2005/2006

Ingeniera del Software

Pruebas de Caja Blanca


Prueba del Camino Bsico Prueba de la Estructura de Control

Curso 2005/2006

Ingeniera del Software

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
Tcnica de prueba de caja blanca que define un conjunto bsico de caminos de ejecucin. Generar un caso de prueba para cada camino de ejecucin.

Curso 2005/2006

Ingeniera del Software

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
X X X

Si X entonces Secuencia Hacer hasta X Mientras X, hacer


Curso 2005/2006 Ingeniera del Software 8

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
Notacin de grafo de flujo

Nodos Aristas Regiones

Curso 2005/2006

Ingeniera del Software

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
1 2 3 6 7 11
Curso 2005/2006

4 5

8 10
Ingeniera del Software

10

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
1 2,3 6 7 R3 9 11
Curso 2005/2006

R2 8

4,5 R1

10
Ingeniera del Software

R4
11

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
Complejidad ciclomtica

Mtrica del sw que da una medicin de la complejidad de un programa. Caminos independientes N de pruebas a disear y ejecutar N caminos = N regiones = A-N+2
Curso 2005/2006 Ingeniera del Software 12

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
Complejidad ciclomtica - Ejemplo Conjunto Bsico - 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 2005/2006 Ingeniera del Software 13

Pruebas de Caja Blanca


Prueba del Camino Bsico - Conceptos
Obtencin de Casos de Prueba
Dibujar el grafo de flujo Calcular la complejidad ciclomtica Determinar un conjunto bsico Preparar los casos de prueba para el camino bsico
Curso 2005/2006 Ingeniera del Software 14

Pruebas de Caja Blanca


Prueba del Camino Bsico
1 Begin

2 Lee DatosPersona 3 CodigoBarras = CodigoBarras + 1 4 If Edad >= 30 and Persona = VIP then 5 If Cargo =Director then 6 ColorTarjeta = Dorado 7 else 8 Color Tarjeta = Rojo 9 endif 10 Else 11 ColorTarjeta = Blanco 12 Endif 13 PrintTarjeta CodigoBarras, Nombre, Fnacimiento, ColorTarjeta 14 End
Curso 2005/2006 Ingeniera del Software 15

Pruebas de Caja Blanca


Prueba del Camino Bsico
1,2,3 A-N+2=9-8+2=3 N Regiones + 1 = 3 Caminos independientes: -1,2,3,4,10,11,12,13,14 -1,2,3,4,5,7,8,12,13,14 -1,2,3,4,5,6,9,12,13,14 7,8 10,11 9

12,13,14
Curso 2005/2006 Ingeniera del Software 16

Pruebas de Caja Blanca


Prueba del Camino Bsico Los casos de prueba:
1.- Edad = 35, Persona = VIP, Cargo = Director 2.- Edad = 35, Persona = VIP, Cargo = Secretario 3.- Edad = 25, Persona = VIP, Cargo = Director

Curso 2005/2006

Ingeniera del Software

17

Pruebas de Caja Blanca


Prueba del Camino Bsico Prueba de la Estructura de Control

Curso 2005/2006

Ingeniera del Software

18

Pruebas de Caja Blanca


Prueba de la estructura de control
Camino bsico Estructura Control Otras variantes
Amplan la cobertura de la prueba Mejoran la calidad

Curso 1999/2000

Ingeniera del Software

19

Pruebas de Caja Blanca


Prueba de la estructura de control
Prueba de condicin Prueba de flujo de datos Prueba de bucles

Curso 1999/2000

Ingeniera del Software

20

Pruebas de Caja Blanca


Prueba de Condicin
Condicin simple

Variable lgica
TRUE / FALSE

Expresin relacional
E1 (operador relacional) E2 E1 y E2 son expresiones aritmticas Operador Relacional (<, <=, >, >=, =, )
Curso 1999/2000 Ingeniera del Software 21

Pruebas de Caja Blanca


Prueba Condicin
Condicin compuesta

Condiciones simples Operadores lgicos


NOT, AND, OR

Parntesis

Curso 1999/2000

Ingeniera del Software

22

Pruebas de Caja Blanca


Prueba Condicin
Error en la condicin

Error operador lgico Error variable lgica Error expresin aritmtica Error operador relacional Error parntesis
Curso 1999/2000 Ingeniera del Software 23

Pruebas de Caja Blanca


Prueba Condicin
Estrategias de prueba

Prueba de Ramificaciones
Condicin Verdadera Condicin Falsa Cada condicin simple

Curso 1999/2000

Ingeniera del Software

24

Pruebas de Caja Blanca


Prueba de Condicin Ejemplo Condicin Edad >= 30 Persona = VIP Cargo = Director
Curso 1999/2000 Ingeniera del Software

V 35 VIP Director

F 25 No VIP Otro Cargo


25

Pruebas de Caja Blanca


Prueba de Condicin Ejemplo Casos de prueba : 8 diferentes
25, No VIP, Secretario (F,F,F) 25, No VIP, Director (F,F,V) 25, VIP, Secretario (F,V,F) 25, VIP, Director (F,V,V) 35, No VIP, Secretario (V,F,F) 35, No VIP, Director (V,F,V) 35, VIP, Secretario (V, V, F) 35, VIP, Director (V,V,V)
Curso 1999/2000 Ingeniera del Software 26

Pruebas de Caja Blanca


Prueba de Bucles
Bucles simples Bucles anidados Bucles concatenados Bucles no estructurados

Curso 1999/2000

Ingeniera del Software

27

Pruebas de Caja Blanca


Prueba de Bucles
Bucles simples - Conjunto de pruebas
Ignorar el bucle Pasar una vez Pasar dos veces Pasar m veces (m<n, n: n total iteraciones) Pasar n-1, n y n+1 veces

Curso 1999/2000

Ingeniera del Software

28

Pruebas de Caja Blanca


Prueba de Bucles
Bucles anidados
Comenzar con el interior. Resto bucles en valores mnimos. Aplicar prueba bucle simple, mantener valores mnimos. Otra prueba con valores fuera de rango. Progresar hacia el siguiente bucle y repetir. Ahora los bucles internos, poner valores tpicos.
Curso 1999/2000 Ingeniera del Software 29

Pruebas de Caja Blanca


Prueba de Bucles
Bucles concatenados
Bucles independientes -> prueba bucle simple. Bucles NO independientes -> prueba bucle anidado.

Curso 1999/2000

Ingeniera del Software

30

Pruebas de Caja Blanca


Prueba de Bucles
Bucles no estructurados
CORREGIR !!! -> Bucles estructurados

Curso 1999/2000

Ingeniera del Software

31

Prueba del Software


Pruebas de Caja Negra
Pruebas funcionales Complementarias a las de caja blanca

Curso 2005/2006

Ingeniera del Software

32

Prueba del Software


Pruebas de Caja Negra
Tipos de errores
Funciones incorrecta o ausentes Errores de interfaz Errores de acceso a BBDD externas Errores de rendimiento Errores de inicializacin y terminacin
Curso 2005/2006 Ingeniera del Software 33

Prueba del Software


Pruebas de Caja Negra
Aplicacin fase posterior a la prueba Ignora la estructura de control Atencin a la informacin

Curso 2005/2006

Ingeniera del Software

34

Prueba del Software


Pruebas de Caja Negra
Diseo de pruebas
Validez funcional Datos entrada -> Buen caso de prueba Volumen de datos Combinaciones de datos

Curso 2005/2006

Ingeniera del Software

35

Prueba del Software


Pruebas de Caja Negra
Se consigue conjuntos casos prueba:
En un n menor y razonable Visin mayor sobre n errores

Curso 2005/2006

Ingeniera del Software

36

Prueba del Software


Mtodos de Pruebas de Caja Negra
Particin equivalente Anlisis de valores lmite

Curso 2005/2006

Ingeniera del Software

37

Pruebas de Caja Negra


Particin equivalente - Mtodos
Divide el dominio de entrada en clases de datos Descubre clases de errores Reducir al mximo el n total casos de prueba
Curso 2005/2006 Ingeniera del Software 38

Prueba del Software


Particin equivalente - Mtodos
Diseo consiste:
Identificar clases de equivalencia Crear los casos de prueba

Clase de equivalencia: Conjunto de estados vlidos o invlidos para condiciones de entrada


Curso 2005/2006 Ingeniera del Software 39

Prueba del Software


Particin equivalente - Mtodos
Identificar clases de equivalencia
Rango Valor Conjunto Lgico
Curso 2005/2006 Ingeniera del Software 40

Prueba del Software


Particin equivalente - Mtodos
Reglas: (Identificacin clases equival.)
Rango de valores

Alquiler para persones mayores 18 aos


Valor

N de pelculas que se alquilan

Curso 2005/2006

Ingeniera del Software

41

Prueba del Software


Particin equivalente - Mtodos
Reglas: (Identificacin clases equival.)
Conjunto de valores especfico

Pelculas (Accin, Comedia, Infantil, Intriga)


Lgico

Es socio?
Curso 2005/2006 Ingeniera del Software 42

Prueba del Software


Particin equivalente - Mtodos
Ejemplo: Registro de pelculas (datos por fichero)
Ttulo: 25 caracteres Ao estreno: De 1925 a 2008 Tipo pelcula: {Comedia, Infantil, Drama, Terror...}. Puede venir en blanco
Curso 2005/2006 Ingeniera del Software 43

Prueba del Software


Particin equivalente - Mtodos
Ejemplo: Registro de pelculas
Vlidas Ttulo 25 caracteres Invlidas Mas de 25 caracteres Menos de 25 caracteres Ao >2008 Ao < 1925

Ao Estreno Tipo Pelcula

1925<= Valor <= 2008

Comedia, Infantil, Drama, Cualquier otro valor Terror,


Ingeniera del Software 44

Curso 2005/2006

Prueba del Software


Anlisis de valores lmite - Mtodos
Complemento a las clases de equivalencia Condiciones lmite -> Buen caso de prueba

Curso 2005/2006

Ingeniera del Software

45

Prueba del Software


Anlisis de valores lmite - Mtodos
Diferencias
Considerar los lmites de las clases Considerar tambin la informacin de salida

Curso 2005/2006

Ingeniera del Software

46

Prueba del Software


Anlisis de valores lmite - Mtodos
Ejemplo :
Ao estreno: 1925 Ao estreno: 2008

Curso 2005/2006

Ingeniera del Software

47