Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada...

37
Estructuras de datos (Prof. Edgardo A. Franco) 1 Departamento de Ciencias e Ingeniería de la Computación Academia de Ciencias de la Computación Autor: M. en C. Edgardo Adrián Franco Martínez Tema 20: La importancia de realizar pruebas M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

Transcript of Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada...

Page 1: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Estructuras de datos (Prof. Edgardo A. Franco)

1

Departamento de Ciencias e Ingeniería de la Computación Academia de Ciencias de la Computación Autor: M. en C. Edgardo Adrián Franco Martínez

Tema 20: La importancia de realizar pruebas

M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

Page 2: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Contenido • Introducción • Pruebas de Software • Proceso de Pruebas • Facilidad de Prueba • El proceso de Prueba • Enfoque de Diseño de Casos de Prueba • Pruebas de Caja Blanca • Prueba del camino Básico • Prueba de Condición • Prueba de flujo de datos • Prueba de bucles • Pruebas de Caja Negra • Prueba de Comparación

2

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 3: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

¿Qué es probar software? Algunas definiciones incorrectas: •Probar es demostrar que no hay errores presentes

en un programa. •El propósito de probar es mostrar que el programa

realiza correctamente las funciones esperadas. La definición Correcta •Probar es el proceso ejecución de un programa

con el fin de encontrar errores.

Introducción

3

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 4: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pruebas del Software Otras Definiciones •Verificar. •Validar. •Pruebas. •Caso de Prueba. •Defecto. •Fallo. •Error.

4

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 5: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Relación entre error, defecto y fallo

5

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 6: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Proceso de Pruebas • La prueba es el proceso de ejecución de un

programa con la intención de descubrir un error.

• Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces.

• Una prueba tiene éxito si descubre un error no detectado hasta entonces.

6

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 7: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Principios de las pruebas • A todas las pruebas se les debería poder hacer un

seguimiento hasta los requisitos del cliente.

• Las pruebas deberían planificarse mucho antes de que empiecen.

• Las pruebas deberían empezar por “lo pequeño” y progresar hacia “lo grande”.

• No son posibles las pruebas exhaustivas. • Para ser más eficaces (pruebas con la más alta

probabilidad de encontrar errores), las pruebas deberían ser realizadas por un equipo independiente.

7

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 8: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

• Se debe inspeccionar a conciencia el resultado de cada prueba para, así, poder descubrir posibles síntomas de defectos.

• Cada caso de prueba debe definir el resultado de salida esperado.

• Al generar casos de prueba, se deben incluir tanto datos de entrada válidos y esperados como no válidos e inesperados.

• Las pruebas deben centrarse en dos objetivos (es habitual olvidar el segundo) • Probar si el software no hace lo que debe hacer • Probar si el software hace lo que no debe hacer, es decir si

provoca efectos secundarios

• Se deben evitar los casos desechables.

8

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 9: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

• No deben hacerse planes de prueba suponiendo que, prácticamente, no hay defectos en los programas, y dedicando pocos recursos a las pruebas.

• La experiencia indica que donde hay un defecto hay otros.

• Las pruebas son una tarea creativa como el desarrollo de software.

9

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 10: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Facilidad de Prueba • Operatividad • Observabilidad • Controlabilidad • Capacidad de descomposición • Simplicidad • Estabilidad • Facilidad de comprensión

10

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 11: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Características de una Prueba • Debe tener una alta probabilidad de encontrar un

error.

• No debe ser redundante.

• Debe ser la mejor de todas las posibles.

• No debe ser ni demasiado sencilla ni demasiado compleja.

11

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 12: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

El proceso de Prueba 1. La depuración (localización y corrección de

defectos).

2. El análisis de la estadística de errores.

12

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 13: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Ciclo completo de las Pruebas

13

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 14: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Enfoque de Diseño de Casos de Prueba

1. Enfoque estructural o de caja blanca

2. Enfoque funcional o de caja negra.

3. Enfoque aleatorio.

14

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 15: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pruebas de Caja Blanca • Garanticen que se ejercita por lo menos una vez todos los

caminos independientes de cada módulo.

• Ejerciten todas las decisiones lógicas en sus vertientes verdadera y falsa.

• Ejecuten todos los bucles en sus límites y con sus límites operacionales.

• Ejerciten las estructuras internas de datos para asegurar su validez.

15

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 16: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Criterios de Cobertura lógica • Cobertura de Sentencias.

• Cobertura de decisiones.

• Cobertura de Condiciones.

• Criterios de decisión/Condición.

• Criterio de Condición Múltiple.

• Criterio de Cobertura de Caminos (impracticable)

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

16

Menos Riguroso (Mas Barato)

Más Riguroso (Más Caros)

Page 17: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Grafo de Flujo de las Estructuras Básicas de programa

• Separar todas las condiciones • Agrupar sentencias “simples” en bloques • Numerar todos los bloques y también las condiciones

Hacer … hasta x (Do … Until x) Repetir

X

X

X

Secuencia Si x Entonces… (If x Then … Else…) Mientras x Hacer …

(While x Do … )

17

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 18: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Grafo de Flujo de un programa (Pseudocodigo)

1

2

3

4

5

6

7 8

9

10

11

a12

Abrir Archivos; Leer archivo ventas, al final indicar no mas registros Limpiar linea de impresión

WHILE (Haya registros ventas) DO

Total Nacional = 0 Total Extranjero = 0

WHILE (haya reg. ventas) (mismo producto) y

IF (Nacional) THEN

Sumar venta Nacional a Total Nacional

ELSE

Sumar venta extranjero a total extranjero

END IF

Leer Archivo ventas, al final indicar no mas registros

END WHILE

Escribir línea de listado Limpiar área de impresión

END WHILE

Cerrar Archivos

DO

18

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 19: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Variantes de Prueba de Caja Blanca a) Prueba del Camino Básico

b) Prueba de Condición

c) Prueba de Flujo de Datos

d) Prueba de Bucles

19

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 20: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Prueba del camino Básico • Complejidad Ciclomatica (La complejidad de

McCabe V (G)) • La métrica de McCabe ha sido muy popular en el

diseño de pruebas. • Es un indicador del número de caminos

independientes que existen en un grafo.

20

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 21: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Formas de Calcular la Complejidad Ciclomática V(G) • V (G) = a – n + 2 • V (G) = r • V (G) = c + 1 Donde:

• a : # de arcos o aristas del grafo. • n : # de nodos. • r : # de regiones cerradas del grafo. • c : # de nodos de condición.

21

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 22: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

¿Qué es lo que se logra con la complejidad ciclomática?

• V (G) marca el límite mínimo de casos de prueba para un programa.

• Cuando V (G) >10 la probabilidad de defectos en el módulo o programa crece mucho entonces quizás sea interesante dividir el módulo.

22

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 23: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Ejemplo de calculo de V (G)

a) V (G) =14-11+2=5

b) V (G) = 5 Regiones cerradas

c) V (G) = 4+1= 5 Condiciones

1

2

3

4

5

6

7 8

9

10

11

a1 a2 a3

a4

a5 a6 a7

a8

a9 a10

a11 a12

a13 a14

Región 1

Región 2

Región 3

Región 4

Región 5 23

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 24: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Prueba de Condición • Ventajas • La cobertura de la prueba de una condición es

sencilla.

• La cobertura de la prueba de las condiciones de un programa da una orientación para generar pruebas adicionales del programa.

24

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 25: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Estrategias de prueba de condiciones • Prueba de Ramificaciones

• Prueba de Dominio

E1<operador-relacional>E2

• Se necesitan 2n (n>0) pruebas como máximo para encontrar errores.

25

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 26: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Prueba de flujo de datos • Esta técnica selecciona caminos de un

programa de acuerdo a las definiciones y uso de las variables.

• El enfoque de prueba de flujo de datos es efectivo para la protección contra errores.

26

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 27: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Prueba de bucles Tipos de pruebas: •Bucles simples.

•Bucles Anidados.

•Bucles Concatenados.

•Bucles no estructurados.

27

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 28: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pruebas de Caja Negra. • Intenta encontrar errores de las siguientes

categorías: • Funciones Incorrectas o Ausentes. •Errores de Interfaz. •Errores en estructuras de datos o acceso a bases

de datos externas. •Errores de rendimiento. •Errores de inicialización y terminación.

28

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 29: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pruebas de Caja Negra Variantes de pruebas de caja negra

a) Métodos de prueba basados en grafos b) Partición Equivalente c) Análisis de valores límite d) Prueba de Comparación e) Conjetura de Errores

29

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 30: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Métodos de prueba basados en grafos Pasos a seguir para una prueba de caja Negra:

1. Entender los objetos que se van a modelar y las relaciones que conectan a estos.

2. Definir una serie de pruebas que verifique que “todos los objetos tienen entre ellos la relaciones esperadas”

Page 31: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Partición equivalente Pasos para identificar clases de equivalencia:

1. Identificación de las condiciones de entrada

del programa.

2. Identificar las clases de equivalencia: • Datos válidos. • Datos no válidos.

31

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 32: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pasos para identificar casos de prueba: 1. Asignar un número único para cada clase de

equivalencia.

2. Escribir casos de pruebas para todas las clases válidas.

3. Escribir casos de pruebas para todas las clases no válidas.

32

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 33: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Ejemplo de clases de equivalencia Aplicación bancaria en la que el operador debe proporcionar un código, un nombre y una operación.

Condición de Entrada Clases Válidas Clases Inválidas

Código de Área # de 3 dígitos que no empieza con 0 ni 1:

1) 200≤ código ≤ 999 2) Código < 200. 3) Código > 999. 4) No es número.

Nombre Para identificar la operación

5) Seis caracteres. 6) Menos de 6 caracteres. 7) Más de 6 caracteres.

Orden Una de las Siguientes

8) “Cheque” 9) “Depósito” 10) “Pago factura”

11)“Retiro de fondos”

12) Ninguna orden válida

33

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 34: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Análisis de valores limite Las reglas para identificar las clases son:

1. Si una condición de entrada especifica un rango que deben generar casos para los extremos.

2. Si la condición de entrada especifica un número finito y consecutivo de valores, escribir casos para los números máximo, mínimo, uno más del máximo y uno menos del mínimo de valores

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

34

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 35: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Prueba de Comparación 1. Se desarrollan versiones independientes de una

aplicación con las mismas especificaciones.

2. Probar todas las versiones con los mismos datos de prueba.

3. Luego se ejecutan las versiones en paralelo y se hace una comparación en tiempo real de los resultados.

35

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 36: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Conjetura de Errores 1. Enumerar una lista de equivocaciones que

pueden cometer los desarrolladores.

2. Generar casos de prueba en base a dicha lista.

• La generación de casos se obtiene en base a la intuición o la experiencia.

36

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez

Page 37: Academia de Ciencias de la Computación - eafranco.com · Algoritmia y programación estructurada 20 La importancia de realizar pruebas Autor: M. en C. Edgardo Adrián Franco Martínez

Pruebas Aleatorias 1. Se simula los posibles datos de entrada en

la secuencia y frecuencia que pueden aparecer en la practica.

2. Si el proceso de generación se ha realizado correctamente, se crearán eventualmente todas las posibles entradas del programa en todas las posibles combinaciones y permutaciones.

• Baja probabilidad de encontrar errores. 37

Algo

ritm

ia y

pro

gram

ació

n es

truc

tura

da

20 L

a im

port

anci

a de

real

izar p

rueb

as

Auto

r: M

. en

C. E

dgar

do A

driá

n Fr

anco

Mar

tínez