Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software...

47
Prueba del Software Elemento crítico para la garantía de calidad del software y representa una revisión final de las especificaciones, Curso 2005/2006 Ingeniería del Software 1 revisión final de las especificaciones, del diseño y de la codificación.

Transcript of Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software...

Page 1: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

Elemento crítico para la garantía de

calidad del software y representa una

revisión final de las especificaciones,

Curso 2005/2006 Ingeniería del Software 1

revisión final de las especificaciones,

del diseño y de la codificación.

Page 2: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Objetivos� Proceso de ejecución 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

Curso 2005/2006 Ingeniería del Software 2

� Buen caso de prueba -> Alta probabilidad de encontrar un error.

� Éxito de un prueba -> Descubrir error no detectado con anterioridad.

� GarantíasLas pruebas no garantizan la ausencia de defectos.

Page 3: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

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 2005/2006 Ingeniería del Software 3

� Gran nº errores en inspecciones de pocos módulos.

�Empezar por lo pequeño y progresar a lo grande.

� Imposibilidad de pruebas exhaustivas

� Gran efectividad -> Realización de pruebas por equipos independientes

Page 4: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Diseño de casos de prueba

� Prueba de caja blanca

Prueba de caja negra

Curso 2005/2006 Ingeniería del Software 4

�Prueba de caja negra

Entrada SalidaPrograma

Page 5: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Prueba de Caja blanca

� Ejercitar una vez todos los caminos

� Ejercitar todas las decisiones (V/F)

Curso 2005/2006 Ingeniería del Software 5

� Ejercitar todas las decisiones (V/F)

� Ejercitar todos los bucles (límites)

� Ejercitar las estructuras de datos

Page 6: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba del Camino Básico

� Prueba de la Estructura de Control

Curso 2005/2006 Ingeniería del Software 6

Page 7: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� 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 2005/2006 Ingeniería del Software 7

conjunto básico de caminos de ejecución.

Generar un caso de prueba para cada camino de

ejecución.

Page 8: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba del Camino Básico - Conceptos

X

XX

Curso 2005/2006 Ingeniería del Software 8

X

Secuencia

Si X entonces…

Hacer … hasta X

Mientras X, hacer …

Page 9: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba del Camino Básico - Conceptos

� Notación de grafo de flujo

� Nodos

Curso 2005/2006 Ingeniería del Software 9

� Nodos

� Aristas

� Regiones

Page 10: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico - Conceptos

1

2

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 10

36

2

4

57 891011

Page 11: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico - Conceptos1

2,3

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 11

4,5

1011

6

7 8

9R1

R2R3

R4

Page 12: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico - Conceptos� Complejidad ciclomática

Métrica del sw que da una medición de la complejidad de un programa.

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 12

la complejidad de un programa.

� Caminos independientes

� Nº de pruebas a diseñar y ejecutar� Nº caminos = Nº regiones = A-N+2

Page 13: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico - Conceptos� Complejidad ciclomática - Ejemplo

Conjunto Básico - 4 caminos

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 13

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

Page 14: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico - Conceptos� Obtención de Casos de Prueba

� Dibujar el grafo de flujo

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 14

� Calcular la complejidad ciclomática

� Determinar un conjunto básico

� Preparar los casos de prueba para el camino

básico

Page 15: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico1 Begin2 Lee DatosPersona3 CodigoBarras = CodigoBarras + 14 If Edad >= 30 and Persona = “VIP” then5 If Cargo =“Director” then6 ColorTarjeta = “Dorado”

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 15

6 ColorTarjeta = “Dorado”7 else8 Color Tarjeta = “Rojo”9 endif10 Else11 ColorTarjeta = “Blanco”12 Endif13 PrintTarjeta CodigoBarras, Nombre, Fnacimiento, ColorTarjeta14 End

Page 16: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico

Pruebas de Caja Blanca

1,2,3

5

A-N+2=9-8+2=3Nº Regiones + 1 = 3Caminos independientes:-1,2,3,4,10,11,12,13,14-1,2,3,4,5,7,8,12,13,14

Curso 2005/2006 Ingeniería del Software 16

7,810,11

6

9

12,13,14

45 -1,2,3,4,5,7,8,12,13,14

-1,2,3,4,5,6,9,12,13,14

Page 17: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba del Camino Básico

� Los casos de prueba:

Pruebas de Caja Blanca

Curso 2005/2006 Ingeniería del Software 17

� 1.- Edad = 35, Persona = “VIP”, Cargo = “Director”� 2.- Edad = 35, Persona = “VIP”, Cargo = “Secretario”� 3.- Edad = 25, Persona = “VIP”, Cargo = “Director”

Page 18: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba del Camino Básico

� Prueba de la Estructura de Control

Curso 2005/2006 Ingeniería del Software 18

Page 19: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de la estructura de control

� Camino básico ⊂ Estructura Control

� Otras variantes

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 19

� Otras variantes

� Amplían la cobertura de la prueba

� Mejoran la calidad

Page 20: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de la estructura de control

� Prueba de condición

� Prueba de flujo de datos

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 20

� Prueba de flujo de datos

� Prueba de bucles

Page 21: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Condición� Condición simple

� Variable lógicaTRUE / FALSE

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 21

TRUE / FALSE

� Expresión relacionalE1 (operador relacional) E2

� E1 y E2 son expresiones aritméticas � Operador Relacional (<, <=, >, >=, =, ≠)

Page 22: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba Condición� Condición compuesta

� Condiciones simples

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 22

� Operadores lógicosNOT, AND, OR

� Paréntesis

Page 23: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba Condición� Error en la condición

� Error operador lógico

Error variable lógica

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 23

� Error variable lógica

� Error expresión aritmética

� Error operador relacional

� Error paréntesis

Page 24: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba Condición� Estrategias de prueba

� Prueba de Ramificaciones

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 24

Prueba de Ramificaciones

�Condición Verdadera

�Condición Falsa

�Cada condición simple

Page 25: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba de Condición – Ejemplo

Condición V F

Edad >= 30 35 25

Curso 1999/2000 Ingeniería del Software 25

Edad >= 30 35 25

Persona = “VIP” VIP No VIP

Cargo = Director Director Otro Cargo

Page 26: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Pruebas de Caja Blanca

� Prueba de Condición – Ejemplo

� Casos de prueba : 8 diferentes� 25, No VIP, Secretario (F,F,F)

� 25, No VIP, Director (F,F,V)

Curso 1999/2000 Ingeniería del Software 26

� 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)

Page 27: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Bucles

� Bucles simples

� Bucles anidados

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 27

� Bucles anidados

� Bucles concatenados

� Bucles no estructurados

Page 28: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Bucles� Bucles simples - Conjunto de pruebas

� Ignorar el bucle� Pasar una vez

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 28

� Pasar una vez� Pasar dos veces� Pasar m veces (m<n, n: nº total iteraciones)� Pasar n-1, n y n+1 veces

Page 29: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Bucles� Bucles anidados

� Comenzar con el interior. Resto bucles en valores mínimos.

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 29

valores mínimos.� Aplicar prueba bucle simple, mantener valores mínimos. Otra prueba con valores fuera de rango.

� Progresar hacia el siguiente bucle y repetir. Ahora los bucles internos, poner valores típicos.

Page 30: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Bucles� Bucles concatenados

� Bucles independientes -> prueba bucle simple.

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 30

� Bucles NO independientes -> prueba bucle

anidado.

Page 31: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Prueba de Bucles

� Bucles no estructurados

¡¡¡ CORREGIR !!! -> Bucles estructurados

Pruebas de Caja Blanca

Curso 1999/2000 Ingeniería del Software 31

� ¡¡¡ CORREGIR !!! -> Bucles estructurados

Page 32: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Pruebas de Caja Negra

� Pruebas funcionales

Curso 2005/2006 Ingeniería del Software 32

� Complementarias a las de caja blanca

Page 33: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Pruebas de Caja Negra

� Tipos de errores

� Funciones incorrecta o ausentes

Curso 2005/2006 Ingeniería del Software 33

� Funciones incorrecta o ausentes

� Errores de interfaz

� Errores de acceso a BBDD externas

� Errores de rendimiento

� Errores de inicialización y terminación

Page 34: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Pruebas de Caja Negra

� Aplicación fase posterior a la prueba

Curso 2005/2006 Ingeniería del Software 34

� Ignora la estructura de control

� Atención a la información

Page 35: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Pruebas de Caja Negra� Diseño de pruebas

� Validez funcional

Curso 2005/2006 Ingeniería del Software 35

� Datos entrada -> Buen caso de prueba

� Volumen de datos

� Combinaciones de datos

Page 36: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Pruebas de Caja Negra

� Se consigue conjuntos casos prueba:

� En un nº menor y razonable

Curso 2005/2006 Ingeniería del Software 36

� En un nº menor y razonable

� Visión mayor sobre nº errores

Page 37: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Métodos de Pruebas de Caja Negra

� Partición equivalente

Curso 2005/2006 Ingeniería del Software 37

� Análisis de valores límite

Page 38: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

� Partición equivalente - Métodos

� Divide el dominio de entrada en clases de

datos

Pruebas de Caja Negra

Curso 2005/2006 Ingeniería del Software 38

datos

� Descubre clases de errores

� Reducir al máximo el nº total casos de

prueba

Page 39: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Partición equivalente - Métodos

� Diseño consiste:

� Identificar clases de equivalencia

Curso 2005/2006 Ingeniería del Software 39

� Crear los casos de prueba

� Clase de equivalencia: Conjunto de estados válidos o inválidos para condiciones de entrada

Page 40: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Partición equivalente - Métodos

� Identificar clases de equivalencia

� Rango

Curso 2005/2006 Ingeniería del Software 40

� Rango

� Valor

� Conjunto

� Lógico

Page 41: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Partición equivalente - Métodos� Reglas: (Identificación clases equival.)

� Rango de valores

Curso 2005/2006 Ingeniería del Software 41

Rango de valores

Alquiler para persones mayores 18 años

� Valor

Nº de películas que se alquilan

Page 42: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Partición equivalente - Métodos� Reglas: (Identificación clases equival.)

� Conjunto de valores específico

Curso 2005/2006 Ingeniería del Software 42

Conjunto de valores específico

Películas (Acción, Comedia, Infantil, Intriga)

� Lógico

¿Es socio?

Page 43: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Partición equivalente - Métodos

� Ejemplo: Registro de películas (datos por

fichero)

Curso 2005/2006 Ingeniería del Software 43

fichero)

� Título: 25 caracteres

� Año estreno: De 1925 a 2008

� Tipo película: {“Comedia, Infantil, Drama,

Terror...”}. Puede venir en blanco

Page 44: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software� Partición equivalente - Métodos

� Ejemplo: Registro de películas

Válidas Inválidas

Título 25 caracteres Mas de 25 caracteres

Curso 2005/2006 Ingeniería del Software 44

caracteresMenos de 25 caracteres

Año Estreno 1925<= Valor <= 2008 Año >2008Año < 1925

Tipo Película Comedia, Infantil, Drama, Terror, “ “

Cualquier otro valor

Page 45: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Análisis de valores límite - Métodos

�Complemento a las clases de equivalencia

Curso 2005/2006 Ingeniería del Software 45

�Condiciones límite -> Buen caso de prueba

Page 46: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Análisis de valores límite - Métodos

� Diferencias

� Considerar los límites de las clases

Curso 2005/2006 Ingeniería del Software 46

� Considerar los límites de las clases

� Considerar también la información de salida

Page 47: Tecnicas de Prueba del Software 0708 [Modo de compatibilidad]IS2_0910... · Prueba del Software Principios de la prueba Seguimiento hasta los requisitos. Planificación anterior a

Prueba del Software

� Análisis de valores límite - Métodos

� Ejemplo :

� Año estreno: 1925

Curso 2005/2006 Ingeniería del Software 47

� Año estreno: 1925

� Año estreno: 2008