Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio...

64
Tema 4: Pruebas - Conceptos Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es

Transcript of Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio...

Page 1: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Tema 4: Pruebas - Conceptos

Departamento de Lenguajes y Sistemas Informáticos II

www.kybele.urjc.es

Page 2: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Índice

Conceptos previos.

Prueba del software.

Enfoque caja blanca.

Enfoque caja negra.

Conjetura de errores.

Enfoque aleatorio.

Documentación.

Validación y verificación

Page 3: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Conceptos previos Verificación y Validación

¿Qué significa verificar el software?

Determinar si los productos de una fase dada satisfacen las condiciones impuestas al inicio de la fase.

¿Qué significa validar el software?

Evaluar un sistema o uno de sus componentes, durante o al final de su desarrollo, para determinar si satisface los requisitos.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Conceptos previos

Enfoque aleatorio

Prueba del software

Validación y verificación

Page 4: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Conceptos previos Defecto/fallo/error

¿Qué es un defecto en el software?

Una definición de datos incorrecta.

Un paso de procesamiento incorrecto en el programa.

¿Qué es un fallo en el software?

Es la incapacidad de un sistema para realizar las funciones requeridas dentro de los requisitos de rendimiento especificados.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Conceptos previos

Enfoque aleatorio

Prueba del software

Validación y verificación

Page 5: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Conceptos previos Defecto/fallo/error

¿Qué es un error en el software?

Un defecto.

Un resultado incorrecto.

Acción humana que lleva a un resultado incorrecto.

La diferencia entre un valor calculado y el verdadero.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Conceptos previos

Enfoque aleatorio

Prueba del software

Validación y verificación

Page 6: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Conceptos previos Defecto/fallo/error

Un error del programador introduce un defecto y este defecto produce un fallo.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Conceptos previos

Enfoque aleatorio

Prueba del software

Validación y verificación

Page 7: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Prueba del Software

¿Qué es la prueba del software?

Una actividad en la que un sistema, o uno de sus componentes, se ejecuta en circunstancias previamente planificadas. Los resultados se observan, se registran y se realiza una evaluación.

Es un 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.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 8: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Prueba del Software

¿Qué es un caso de prueba?

Un conjunto de:

Entradas.

Condiciones de ejecución.

Resultados esperados.

Este conjunto se llama escenario.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 9: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Objetivos Proceso de ejecución de un programa con el

fin de descubrir un error, con poca cantidad de tiempo y esfuerzo.

Las pruebas permiten verificar y validar el software.

Buen caso de prueba Alta probabilidad de encontrar un error.

Éxito de una prueba Descubrir error no detectado con anterioridad.

Las pruebas no garantizan la ausencia de defectos.

Prueba del Software

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 10: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Principios

Planificación anterior a la realización (Plan de prueba).

Imposibilidad de hacer unas pruebas exhaustivas.

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

Gran efectividad Realización de pruebas por equipos independientes.

Se deben incluir tanto entradas correctas como incorrectas.

Las pruebas se deben documentar detalladamente.

Prueba del Software

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 11: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Prueba del Software Proceso

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 12: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Prueba del software Diseño de pruebas

Probar exhaustivamente un software es imposible. Necesitamos técnicas que nos ayuden a confeccionar casos de prueba que me aseguren una evaluación eficiente del software.

La mejor técnica es aquella que con menos casos de prueba me lo certifique.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 13: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Prueba del software Diseño de pruebas

4 enfoques para la construcción de casos de prueba:

Enfoque de caja blanca (Estructural).

Enfoque de caja negra (Funcional).

Conjetura de errores.

Enfoque aleatorio.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 14: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca

Principios Ejercitar una vez todos los caminos. Ejercitar todas las decisiones (V/F). Ejercitar todos los bucles (límites). Ejercitar las estructuras de datos.

Para cumplir con los principios anteriores

disponemos de 2 pruebas:

Prueba del camino básico. Prueba de la estructura de control.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 15: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

.

Enfoque de caja blanca Prueba del camino básico

¿Qué es un camino?

Es por donde el flujo de ejecución debe pasar

Técnica de prueba de caja blanca que define un conjunto básico de caminos de ejecución

Se debe generar un caso de prueba para cada camino de ejecución.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 16: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

¿Cómo descubrir los caminos?

Mediante el diagrama de flujo.

Enfoque de caja blanca Prueba del camino básico

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 17: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca Prueba del camino básico

¿Cómo construir un diagrama de flujo a partir del código?

1. Señalar todas las decisiones de las sentencias

1. If-then

2. Case-of,

3. While

4. Until.

2. Agrupar resto de sentencias.

3. Señalar los end if y end while.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 18: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Condición 1 Condición 3

Condición 2 Decisión

Enfoque de caja blanca Prueba del camino básico

Principios

If____or ____and_____then

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 19: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Secuencia

X

Si X entonces…

X

Hacer … hasta X

X

Mientras X, hacer …

Enfoque de caja blanca Prueba del camino básico

Principios

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 20: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

1

2,3

4,5

10 11

6

7 8

9 R1

R2

R3

R4

Nodo

Arista

Región

Enfoque de caja blanca Prueba del camino básico

Principios

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 21: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca Prueba del camino básico

Complejidad ciclomática de McCabe:

Métrica del sw utilizada para determinar el número máximo de caminos independientes.

◦ Fórmula de las regiones: V(G)=A-N+2

◦ Fórmula de las decisiones: V(G)=C+1 (C nodos de decisión).

◦ Las Regiones: V(G)=R

A-N+2 = C+1 = R

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 22: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca Prueba del camino básico

Procedimiento:

Dibujar el grafo de flujo.

Calcular la complejidad ciclomática.

Determinar el conjunto de caminos independientes.

Preparar el caso de prueba para cada camino.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 23: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca Prueba de la estructura de control

P. camino básico P. estructura de

control.

Amplía la cobertura de la prueba.

Mejoran su calidad.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 24: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja blanca Prueba de la estructura de control

Grado de cobertura: por qué sentencias se debe pasar para considerar que se ha pasado la prueba.

Según la cobertura:

Prueba de sentencia.

Prueba de decisión.

Prueba de condición.

Prueba de decisión/condición.

Prueba de bucles.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 25: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja negra

Se utilizan particiones/clases de equivalencia. Ignora la estructura de control.

Se divide el dominio de los valores de entrada en diferentes clases/particiones.

Cada clase de equivalencia posee unos ciertos valores ->Estos valores dan resultados iguales ->Para realizar la prueba cogemos un único valor representante de cada clase.

2 métodos de pruebas de Caja negra:

◦ Partición en clases de equivalencia.

◦ Análisis de valores límite (AVL).

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 26: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja negra Partición en clases de equivalencia

Procedimiento

Identificar clases de equivalencia.

Crear los casos de prueba.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 27: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Identificar clases de equivalencia

De cada clase se deben obtener datos válidos y no válidos.

Enfoque de caja negra Partición en clases de equivalencia

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 28: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Reglas para la identificación de clases equivalencia

Rango: si se especifica un rango de valores para los datos de entrada se creará una clase válida y dos clases no válidas.

Ej: Alquiler para personas entre 18 y 80 años ◦ < 18 años

◦ > 80 años

Enfoque de caja negra Partición en clases de equivalencia

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 29: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Valor: si se especifica un valor se creará una clase válida y dos no válidas.

Ej: El nombre debe tener 10 caracteres

< 10 caracteres

> 10 caracteres

Enfoque de caja negra Partición en clases de equivalencia

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 30: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Lógico: si se especifica una situación del tipo booleano se identifica una clase válida y una no válida.

Si se sospecha que ciertos elementos de una clase no se tratan igual deben dividirse en clases menores.

Si se especifica un conjunto de valores y el programa los trata de diferente manera, se identifica una clase válida y otra no válida para cada valor.

Enfoque de caja negra Partición en clases de equivalencia

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 31: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Principios

Para cubrir todas las clases válidas se tratará de preparar casos de prueba que cubran el máximo nº de clases válidas no cubiertas.

Para cubrir todas las clases no válidas se preparará un caso de prueba para cada clase no válida sin cubrir.

Enfoque de caja negra Partición en clases de equivalencia

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 32: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja negra Análisis de valores límite

Es una técnica complementaria a la partición en clases de equivalencia.

Explora las condiciones límites de un programa. Se eligen valores en los márgenes de la clase.

No sólo se fija el dominio de entrada sino también el dominio de salida.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 33: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja negra Análisis de valores límite

Principios

1. Rango: Si una condición de entrada especifica un rango de valores, se deben generar casos válidos con los extremos del rango y casos no válidos para situaciones justo más allá de los extremos.

2. Valor: Si la condición de entrada especifica un valor se deben generar casos para el número máximo, mínimo, máximo+1 y mínimo-1.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 34: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de caja negra Análisis de valores límite

3. Usar la regla 1. para la condición de salida.

4. Usar la regla 2. para la condición de salida.

◦ Los valores límite de entrada no generan necesariamente los valores límite de salida.

◦ No siempre se pueden generar resultados fuera del rango de salida.

5. Si la entrada o la salida de un programa es un conjunto ordenado, los casos se deben concentrar en el primer y último caso.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 35: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Conjetura de errores

Enumerar una lista de errores comunes.

En función de ella elaborar los casos de prueba.

El valor 0 es una situación propensa a error, tanto en la salida como en la entrada

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 36: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque aleatorio

Se crean datos que sigan las frecuencia y la secuencia que tendrían en la práctica.

Se simula la entrada de datos

Se usan generadores de prueba.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Documentación

Prueba del software

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 37: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Plan de Pruebas

Especificación de diseño de

pruebas

Especificación de casos de

pruebas

Especificación de procedimientos

de pruebas

Ejecución

Informes

Documentación de la fase de pruebas

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Prueba del software

Documentación

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 38: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Especificación de diseño de

pruebas

Especificación de casos de

pruebas

Especificación de diseño de

pruebas

Documentación de la ejecución

¿Qué se obtiene en la ejecución?

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Prueba del software

Documentación

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 39: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Documentación Depuración

Es el proceso de localizar, analizar y corregir los defectos que se sospecha que contiene el software.

La depuración es síntoma de una prueba con éxito.

La localización de un defecto conlleva mayor esfuerzo que la corrección.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Prueba del software

Documentación

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 40: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Documentación Análisis de Errores

¿Qué se registra?

Cuándo se cometió.

Quién lo hizo.

Qué se hizo mal.

Cómo se podría haber prevenido.

Cómo se encontró el error.

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Prueba del software

Documentación

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 41: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Código

Prueba Unidad

Prueba integración

Prueba sistema

Prueba validación

Documentación Ciclo de vida de pruebas

Enfoque de caja blanca Enfoque de caja negra

Conjetura de errores

Prueba del software

Documentación

Enfoque aleatorio

Conceptos previos

Validación y verificación

Page 42: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Enfoque de las pruebas del sw

42

A

B

C D

E

A

B

C D

E

Proceso de Ingeniería

Pruebas del software

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 43: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Estrategias de prueba para arquitecturas convencionales

43

Prueba de Unidad

Prueba de Integración

Prueba de validación

Prueba del Sistema – TOTAL: personal, HW, otros sistemas, etc.

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 44: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 44

Estrategias de prueba para arquitecturas convencionales

Prueba de Unidad

Verificar el módulo o componente

Orientada a Caja Blanca

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 45: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 45

Prueba de Unidad

Interfaz

Estructuras de datos locales

Condiciones límite

Caminos independientes

Rutas de manejo de errores

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 46: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 46

Prueba de Unidad - Consideraciones

Interfaz: fluidez de información desde y hacia la unidad de programa

Nº de argumentos = Nº parámetros

Orden correcto de los parámetros

Valores válidos de los argumentos

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 47: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 47

Prueba de Unidad - Consideraciones

Estructuras de datos: Integridad de los datos durante la ejecución

Inicialización o valores erróneos

Tipos de datos inconsistentes

Desbordamiento

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 48: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 48

Prueba de Unidad - Consideraciones

Condiciones límite: Asegurar el funcionamiento en las restricciones

Muy apropiados para descubrir todo tipo de errores

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 49: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 49

Prueba de Unidad - Consideraciones

Caminos independientes: Asegurar la ejecución de todo (al menos una vez)

Cálculos incorrectos

Comparaciones incorrectas

Flujos de control inapropiados

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 50: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 50

Prueba de Unidad - Consideraciones

Caminos de manejo de errores: asegura fin limpio al producirse un error

No implica “no realizar pruebas”

Descripción insuficiente del error

Primar intervención del manejo de error

Estrategias de prueba para arquitecturas convencionales

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 51: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 51

Procedimiento de prueba de unidad

Crear conductor (programa principal)

Crear resguardo (módulo subordinado)

Dependencia del módulo -> sobrecarga de trabajo

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 52: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Procedimiento de prueba de integración

52

Verificar la estructura del programa

Aumento de la interacción

Integración, nunca BIG BANG

Integración siempre incremental

Errores fáciles de asilar

Errores fáciles de corregir

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 53: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 53

Procedimiento de prueba de integración

Estrategias de integración incremental

Descendente

En profundidad

En anchura

1

2

3 4

5 6

1

2

5 6

3 4

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 54: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 54

Procedimiento de prueba de integración

Estrategias de integración incremental descendente

Pasos a seguir

Programa principal y resguardos (módulos subordinados inmediatos)

Ejecutar pruebas

Sustituir resguardo por módulo real y agregar resguardos a ese módulo

Ejecutar pruebas

Problema

Necesidad de un proceso inferior para la prueba de niveles superiores

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 55: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 55

Estrategias de integración incremental descendente

Soluciones

Retrasar la prueba (no determinación de errores)

Resguardos que simulen el proceso (exceso de esfuerzo)

Integrar desde abajo hacia arriba (integración ascendente)

Procedimiento de prueba de integración

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 56: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 56

Estrategias de integración incremental ascendente

Hacer grupos con módulos atómicos

Crear controlador para la prueba

Probar el grupo

Eliminar controlador y subir de nivel

Procedimiento de prueba de integración

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 57: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Procedimiento de prueba de integración

57

Descendente para niveles superiores

Ascendente para los inferiores Prueba de

unidad Prueba de

integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 58: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Pruebas de regresión

58

Asegurar el correcto funcionamiento cuando se produce un cambio en un sistema que ya estaba funcionando

Documentación

Ámbito - Qué se prueba

Plan de pruebas

Qué estrategia de integración

Fases

Planificación

Software adicional (resguardos, controladores)

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 59: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 59

Pruebas de regresión

Documentación

Procedimiento de prueba

Detalle de las pruebas

Orden de integración

Lista de los casos de prueba

Resultados esperados

Resultados obtenidos

Importante para el mantenimiento del SW

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 60: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Pruebas de validación

60

Prueba de que el software funciona como espera el cliente

Prueba de caja negra

Criterios

Plan de pruebas – Clases de pruebas

Procedimiento de pruebas – Definición de los casos de prueba

Error -> inversión de más tiempo

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 61: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 61

Pruebas de validación

Revisión de la configuración del software

Documentación

Datos

Programas

Objetivo: mantenimiento del software

Pruebas de aceptación

Aceptación del cliente

Pruebas Alfa (lugar de desarrollo)

Pruebas Beta (lugar del cliente)

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 62: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Pruebas del Sistema

62

SW + HW + datos + personal + … = Sistema

Quién es el culpable

Buena planificación de las pruebas

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 63: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es 63

Pruebas del Sistema

Prueba de recuperación

Prueba de seguridad

Prueba de resistencia

Prueba de rendimiento

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración

Page 64: Tema 4: Pruebas - Conceptos - Grupo de InvestigaciónCS... · Prueba del software Enfoque aleatorio Conceptos previos Validación y verificación . Titulo de la Presentación

Titulo de la Presentación www.kybele.urjc.es

Depuración

64

Proceso de eliminación del error

Enfoques:

Fuerza bruta

Vuelta atrás

Eliminación de causas

Corrección

¿Se repite en varias partes del programa?

¿Cuál es el siguiente error?

Prevención del error

Prueba de unidad

Prueba de integración Pruebas de regresión

Prueba del software

Validación y verificación

Pruebas de validación

Conceptos previos

Estrategias de prueba

Pruebas del sistema

Depuración