Top Banner
 TÉCNICAS DE EVALUACIÓN DINÁMICA
106

Prueba Modo de Compatibilidad

Feb 04, 2018

Download

Documents

elgermo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 1/106

TÉCNICAS DE EVALUACIÓN DINÁMICA

Page 2: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 2/106

Page 3: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 3/106

Page 4: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 4/106

Page 5: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 5/106

TÉCNICAS DE EVALUACIÓN DINÁMICA   El objetivo de las pruebas no es asegurar la ausencia de

defectos en un software, únicamente puede demostrar que

existen defectos en el software.

  Nuestro objetivo es pues, diseñar pruebas que

s s em camen e saquen a a uz eren es c ases e errores,haciéndolo con la menor cantidad de tiempo y esfuerzo.

  Para ser más eficaces (es decir, con más alta probabilidad deencontrar errores), las pruebas deberían ser realizadas por unequipo independiente al que realizó el software.

Page 6: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 6/106

Características de una buena PRUEBA

  Debe tener una alta probabilidad de encontrar un fallo.

  Debe centrarse en dos objetivos:

  1) probar si el software no hace lo que debe hacer, y   2) probar si el software hace lo que no debe hacer.

  No debe ser redundante. El tiempo y los recursos son limitados,

as que to as as prue as e er an tener un prop s to erente.   Se debería emplear la prueba que tenga la   más alta

 probabilidad de descubrir una clase entera de errores.

  Una buena prueba no debería ser ni demasiado sencilla nidemasiado compleja, pero si se quieren combinar varias pruebasa la vez se pueden enmascarar errores, por lo que en general,cada prueba debería realizarse separadamente.

Page 7: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 7/106

Tareas a realizar para probar un software1)   Diseño de las pruebas. Esto es, identificación de la técnica o técnicas de

 pruebas que se utilizarán para probar el software.

2)   Generación de los casos de prueba. Los casos de prueba representan losdatos que se utilizarán como entrada para ejecutar el software a probar.Más concretamente los casos de prueba determinan un conjunto deentradas, condiciones de ejecución y resultados esperados para uno e vo par cu ar.

3)   Definición de los procedimientos de la prueba. Esto es, especificación de

cómo se va a llevar a cabo el proceso, quién lo va a realizar, cuándo, …

4)   Ejecución de la prueba, aplicando los casos de prueba generados

 previamente e identificando los posibles fallos producidos al comparar losresultados esperados con los resultados obtenidos.

5)   Realización de un informe de la prueba, con el resultado de la ejecución

de las pruebas, qué  casos de prueba pasaron satisfactoriamente, cuáles no,y qué fallos se detectaron.

Page 8: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 8/106

Introducción.El desarrollo de sistemas de software implica

una serie de actividades de producción enlas que las posibilidades de que aparezca el

Los errores pueden empezar a darse desde elinicio del proceso, en el que los objetivospueden estar especificados de forma erróneao imperfecta, así como dentro de pasos dediseño y desarrollo posteriores..

Page 9: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 9/106

Introducción.Debido a la imposibilidad humana de trabajar

y comunicarse de forma perfecta, eldesarrollo de software ha de ir acompañado

La prueba del software es un elemento críticopara la garantía de calidad del software y

representa una revisión final de lasespecificaciones, del diseño y de lacodificación.

Page 10: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 10/106

Page 11: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 11/106

Objetivos de la prueba

Nuestro objetivo, es diseñar pruebas quesistemáticamente descubran diferentestipos de errores con menor tiempo y

esfuerzo.

La prueba no puede asegurar que noexisten errores sólo puede mostrar queexisten defectos en el software.

Page 12: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 12/106

Un software fácil de probar tiene lassiguientes características:

OperatividadObservatividad

  on ro a aCapacidad de descomposición

SimplicidadEstabilidad

Facilidad de comprensión.

Page 13: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 13/106

Principios de la prueba

  Hacer un seguimiento de las pruebas hastalos requisitos del cliente.

  Plantear y diseñar las pruebas antes degenerar ningún código.

  El 80% de todos los errores se centran sóloen el 20% de los módulos.

Page 14: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 14/106

Principios de la prueba   Empezar las pruebas en módulos

individuales y avanzar hasta probar elsistema entero.

  No son posibles las pruebas exhaustivas.

  Deben realizarse por un equipoindependiente al equipo de desarrollo.

Page 15: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 15/106

Page 16: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 16/106

Page 17: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 17/106

Page 18: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 18/106

Page 19: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 19/106

Page 20: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 20/106

Page 21: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 21/106

Page 22: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 22/106

Page 23: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 23/106

Page 24: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 24/106

Page 25: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 25/106

Page 26: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 26/106

Page 27: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 27/106

Page 28: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 28/106

Pruebas de caja blanca   Prueba de camino básico

  Notación de grafo de flujo   Complejidad ciclomática

 

  Matrices de grafos   Prueba de la estructura de control

  Prueba de condición

  Prueba de flujo de datos   Prueba de bucles

Page 29: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 29/106

Page 30: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 30/106

Prueba del camino básicoEs una técnica de prueba de caja blanca

que nos permite obtener una medida decomplejidad lógica.

Con la medida de complejidad se genera unconjunto básico de caminos que se

ejecutan por lo menos una vez durante laejecución del programa.

Page 31: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 31/106

Prueba del camino básicoPara representar el flujo de control de un

programa se usa un grafo de flujo.

Para determinar la complejidad lógica de un, u

ciclomática que define el número de caminosindependientes del conjunto básico.

Un camino independiente es cualquier camino delprograma que incluye nuevas instrucciones deun proceso o una nueva condición.

Page 32: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 32/106

Obtención de casos de prueba

1.   Dibujar el grafo correspondiente2.   Determinar la complejidad.

3.   Determinar un conjunto básico de caminos

linealmente independientes4.   Preparar casos de prueba que forzarán a la ejecución

de cada camino básico.

Page 33: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 33/106

  La prueba del camino básico es una técnica de prueba

de caja blanca propuesta inicialmente por TomMcCabe [MCC76]. El método del camino básicopermite al diseñador de casos de prueba obtener unamedida de la complejidad lógica de un diseñoproce men a   y u   esa me a como gu a para adefinición de un   conjunto básico de caminos de

ejecución. Los casos de prueba obtenidos del conjuntobásico garantizan que durante la prueba se ejecuta por

lo menos una vez cada sentencia del programa.

Page 34: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 34/106

El grafo de flujo representa el flujo de control lógico. Cadaconstrucción estructurada tiene su correspondiente símbolo en elgrafo del flujo.

Page 35: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 35/106

Page 36: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 36/106

Lógica compuesta

Page 37: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 37/106

Complejidad ciclomática

  La   complejidad ciclomática es una métrica del

software  que proporciona una medición cuantitativa

de la complejidad lógica de un programa.

  uan o se usa en e con ex o e m o o e prue adel camino básico, el valor calculado comocomplejidad ciclomática define el número de caminos

independientes del conjunto básico de un programa ynos da un límite superior para el número de pruebasque se deben realizar para asegurar que se ejecutacada sentencia al menos una vez.

Complejidad ciclomática

Page 38: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 38/106

Complejidad ciclomática   Un camino independiente es cualquier camino del  programa que introduce,

por lo menos, un nuevo conjunto de sentencias de proceso o una nuevacondición.

  En términos del grafo de flujo, un camino independiente está constituido porlo menos por una arista que no haya sido recorrida anteriormente a ladefinición del camino.

caminos independientes (1,2,3   y 4)componen   un   conjunto básico para el 

grafo de flujo 

camino 1: 1-11camino 2: 1-2-3-4-5-10-1-11camino 3: 1-2-3-6-8-9-10-1-11camino 4: 1-2-3-6-7-9-10-1-11

Fíjese que cada nuevo camino introduceuna nueva arista.

Complejidad ciclomática

Page 39: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 39/106

Complejidad ciclomática¿Cómo sabemos cuántos caminos hemos de buscar?

  La complejidad ciclomática está basada en la teoría de grafos y nos da

una métrica del software extremadamente Útil.

  La complejidad se puede calcular de tres formas:

  El número de regiones del grafo de flujo coincide con lacomplejidad ciclomatica.

  La complejidad ciclomática,  V(G), de un grafo de   flujo  G se

define como:   V(G) =  A - N + 2 ;  donde  A es el número de aristas del grafo de flujo y N es el número de nodos del mismo.

  La complejidad ciclomática,   V(G), de un grafo de   flujo   G

también se define como: V(G)=P+ 1; donde P es el número de

nodos predicado contenidos en el grafo de flujo G.

Page 40: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 40/106

Complejidad ciclomáticaLa complejidad ciclomática se puede calcular

mediante cualquiera de los anterioresalgoritmos:

  El grafo de flujo tiene cuatro regiones

  = ar stas - no os + =

  V(G) = 3 nodos predicado + 1 = 4.

El valor de   V(G) nos da un límite superior   para elnúmero de caminos independientes que componenel conjunto básico y, consecuentemente, un valorlímite superior para el número de pruebas que sedeben diseñar y ejecutar para garantizar que se

cubren todas las sentencias del programa.

Page 41: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 41/106

Obtención de casos de prueba   El método de prueba de

camino básico se puede aplicara un diseño procedimentaldetallado o a un código fuente.

Usaremos el procedimientomedia, representado en LDP,como ejemplo para ilustrartodos los asos del método dediseño de casos de prueba.

  Se puede ver que   media,aunque con un algoritmoextremadamente simple,

contiene condicionescompuestas y bucles.

Determinamos la complejidad ciclomática del grafo de flujo resultante.

Page 42: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 42/106

p j g j

Page 43: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 43/106

Determinamos un conjunto básico de caminos linealmente independientes.

En el caso del procedimiento media, hay queespecificar seis caminos:

camino 1: 1-2-10-11-13camino 2: 1-2-10-12-13camino 3: 1-2-3-10-11-13camino 4: 1 -2-3-4-5-8-9-2-...camino 5: 1 -2-3-4-5-6-8-9-2-...

- - - - - - - - - - ...

Los puntos suspensivos (...) que siguen a loscaminos 4,5 y 6 indican que cualquiercamino del resto de la estructura de controles aceptable..

Normalmente merece la pena identificar losnodos predicado para que sea más fácilobtener los casos de prueba. En este caso,los nodos 2, 3,   5, 6 y 10 son    nodos

predicado.

Page 44: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 44/106

Preparamos los casos de prueba que forzarán la ejecución de cada caminodel conjunto básico.

 Debemos escoger los datos de forma que

las condiciones de los nodos predicadoestén adecuadamente establecidas, con el.

  Los casos de prueba que satisfacen el

conjunto básico previamente descritoson:

Page 45: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 45/106

Page 46: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 46/106

Page 47: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 47/106

Page 48: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 48/106

Page 49: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 49/106

Page 50: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 50/106

Page 51: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 51/106

  Ejecutamos cada caso de prueba y comparamos los resultadosobtenidos con los esperados.

  Una vez terminados todos los casos de prueba, el responsablede la prueba podrá estar seguro de que todas las sentencias delprograma se han ejecutado por lo menos una vez.

  Es importante darse cuenta de que algunos caminosindependientes (por ejemplo, el camino 1 de nuestro ejemplo)no se pueden probar de forma aislada. Es decir, la combinación

de datos requerida para recorrer el camino no se puedeconseguir con el flujo normal del programa. En tales casos,estos caminos se han de probar como parte de otra prueba decamino.

Page 52: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 52/106

Matrices de grafos

  Una matriz de grafo es una matriz cuadrada cuyo tamaño (es decir, elnúmero de filas y de columnas) es igual al número de nodos del grafode flujo.

  Cada fila y cada columna corresponde a un nodo específico y lasentradas de la matriz corresponden a las conexiones (aristas) entre losnodos.

M t i d f

Page 53: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 53/106

Matrices de grafos

  Hasta aquí, la matriz de grafo no es nada más que una representación tabulardel grafo de flujo. Sin embargo añadiendose un peso de enlace a cada entradade la matriz, la matriz de grafo se puede convertir en una potente herramientapara la evaluación de la estructura de control del programa durante la prueba.

  El peso de enlace nos da información adicional sobre el flujo de control. En,

existe conexión).

  A los pesos de enlace se les puede asignar otras propiedades más interesantes:   la probabilidad de que un enlace (arista) sea ejecutado;

  el tiempo de procesamiento asociado al recorrido de un enlace;   la memoria requerida durante el recorrido de un enlace y;

  Los recursos requeridos durante el recorrido de un enlace

Matrices de grafos

Page 54: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 54/106

Matrices de grafos

Page 55: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 55/106

Pruebas de la estructura de controlExisten tres pruebas de estructura de condición,

que son:

1.   Prueba de condición,

2.   Prueba de estructura de datos y

3.   Pruebas de estructuras de control (bucles).

P b d di ió

Page 56: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 56/106

Prueba de condición   Es un método de diseño de casos de prueba que ejercita las condiciones

lógicas contenidas en el módulo de un programa. Una condición simple esuna variable lógica o una expresión relacional, posiblemente precedida conun operador NOT .

Los tipos posibles de componentes en un condición pueden ser: un operadorlógico, una variable lógica, un par de paréntesis lógicos (que rodean a uncondición simple o compuesta), un operador relacional o una expresiónaritmética.Si una condición es incorrecta, entonces es incorrecta al menos un componente

de la condición.

Prueba de condición

Page 57: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 57/106

Prueba de condición

Los tipos de errores de una condición pueden ser los siguientes:   error en operador lógico (existencia de operadores lógicos

incorrectos/desaparecidos/sobrantes)

  error en variable lógica

  error en paréntesis lógico   error en operador relacional

  error en expresión aritmética.

El método de la prueba de condiciones se centra en la prueba de cada una de lascondiciones del programa.

Las estrategias de prueba de condiciones tienen, generalmente, dos ventajas:

  La primera, que la cobertura de la prueba de una condición es sencilla.

  La segunda, que la cobertura de la prueba de las condiciones de un programada una orientación para generar pruebas adicionales del programa.

Prueba de condición

Page 58: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 58/106

Prueba de condición

  El propósito de la prueba de condiciones es detectar, no sólo los erroresen las condiciones de un programa, sino también otros errores en dichoprograma.

  Si un conjunto de pruebas de un programa P es efectivo para detectarerrores en las condiciones que se encuentran en  P, es probable que el

conjunto de pruebas también sea efectivo para detectar otros errores en.

  Si una estrategia de prueba es efectiva para detectar errores en unacondición, entonces es probable que dicha estrategia también seaefectiva para detectar errores en el programa.

  Se han propuesto una serie de estrategias de prueba de condiciones. La

 prueba de ramificaciones es, posiblemente,  la estrategia de prueba decondiciones más sencilla. Para una condición compuesta C, es necesario

ejecutar al menos una vez las ramas verdadera y falsa de C y cadacondición simple de C

Page 59: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 59/106

Cobertura de sentencias 1

Page 60: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 60/106

  Camino 1 1 - 2 – 3 – 4 – 8   Camino 2 1 – 2 – 3 – 5 – 6 –8

  Camino 3 1 – 2 – 5 – 6 – 8

  Camino 4 1 – 2 – 5 – 7 - 8

  Se trata de ejecutar con los casos de prueba cadasentencia e instrucción al menos una vez.

 

2

3

4

5

6   7

 vale:

8

Camino CaracterísticasCaso de Prueba

x y z

Camino 1 x > y , x > z 10 3 3

Camino 2 y < x < z 5 2 10

Camino 4 x < y , z < y 5 10 5

Cobertura de decisiones

Page 61: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 61/106

Cobertura de decisiones   Escribimos los casos suficientes para que cada condición tenga al

menos una resultado verdadero y otro falso. Utilizando los mismoscaminos y casos de prueba que en la cobertura de sentenciascubriremos también en este caso la cobertura de decisiones

 

Camino Características

 

x y z

Camino 1 x > y , x > z 10 3 3

Camino 2 y < x < z 5 2 10

Camino 4 x < y , z < y 5 10 5

Page 62: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 62/106

Cobertura de condiciones   Se trata de escribir los casos suficientes

para que cada condición de cada decisiónadopte el valor verdadero y el falso almenos una vez. os casos e prue a en es ecaso serán los mismos que en la coberturade decisiones

Page 63: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 63/106

Cobertura de decisión /condición   Es el cumplimiento de la cobertura de

condiciones y de decisiones. Elegiremoslos caminos 1,2 y 4, con los casos deprue a v s os an er ormen e.

 Camino 1 1 - 2 – 3 – 4 – 8

 Camino 2 1 – 2 – 3 – 5 – 6 –8  Camino 3 1 – 2 – 5 – 6 – 8

 Camino 4 1 – 2 – 5 – 7 - 8

Criterio de condición múltiple

Page 64: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 64/106

p

  Si tenemos decisiones multicondicionales las descompondremos endecisiones unicondicionales, ejecutando todas las combinaciones posibles deresultados.

  Tenemos la decisión multicondicional x>y && x>z y la decisiónunicondicional z>y. Combinándolas nos damos cuenta que para que secumpla el criterio de condición múltiple debemos ejecutar los cuatrocaminos independientes:

Camino CaracterísticasCaso de Prueba

x y z

Camino 1 x > y , x > z 10 3 3

Camino 2 y < x < z 5 2 10

Camino 3 x < y < z 2 5 8

Camino 4 x < y , z < y 5 10 5

Prueba del flujo de datos

Page 65: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 65/106

j

  El método de prueba de flujo de datos selecciona caminos  de prueba de unprograma de acuerdo con la ubicación de las definiciones y los usos de lasvariables del programa.

  Para ilustrar el enfoque de prueba de flujo de datos, supongamos que a cadasentencia de un programa se le asigna un número único de sentencia y que lasfunciones no modifican sus parámetros o las variables globales.

,

DEF(S) = { X I la sentencia S contiene una definición de X }

USO(S) = { X I la sentencia S contiene un uso de X)

  Si la sentencia S es una sentencia i f o de bucle, su conjunto DEF estará vacío y su conjunto USE estará basado

en la condición de la sentencia S. La definición de una variable X en una sentencia S se dice que está viva enuna sentencia S' si existe un camino de la sentencia S a la sentencia S' que no contenga otra definición de X 

  Una cadena de definición-uso (o cadena DU) de una variable X tiene la forma [X, S, S’], donde S y S’ son

números de sentencia, X está en DEF(S) y en USO(S’) y la definición de X en la sentencia S está viva en la

sentencia S’ ..

Prueba del flujo de datos

Page 66: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 66/106

Prueba del flujo de datos  Una sencilla estrategia de prueba de flujo

de datos se basa en requerir que se cubra al

menos una vez cada cadena DU.  Las estrategias de prueba de flujo de datos

son tiles para seleccionar caminos deprueba de un programa que contengasentencias if o de bucles anidados.

En resumen …

Page 67: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 67/106

En resumen …

Prueba de bucles

Page 68: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 68/106

  Los bucles son la piedra angular .   La prueba de bucles es una técnica de prueba de caja

blanca que se centra exclusivamente en la validez delas construcciones de bucles. Se pueden definircuatro clases diferentes de bucles:

  bucles simples;

  bucles concatenados;

  bucles anidados;

  bucles no estructurados.

Bucles simples

Page 69: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 69/106

  A los bucles simples se les debe aplicar el siguienteconjunto de pruebas, donde  n es el  número máximo depasos permitidos por el bucle:

1. pasar por alto totalmente el bucle

2. pasar una sola vez por el bucle

3. pasar dos veces por el bucle4. hacer m pasos por el bucle con m < n

5. hacer n - 1, n y n+l pasos por el bucle

Bucles anidados

Page 70: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 70/106

  Si extendiéramos el enfoque de prueba de los bucles simples a los bucles anidados,el número de posibles pruebas aumentaria geométricamente a medida que aumentael nivel de anidamiento. Esto llevaria a un número impracticable de pruebas. Beizersugiere un enfoque que ayuda a reducir el número de pruebas:

  1. Comenzar por el bucle más interior. Establecer o configurar los demás bucles consus valores mínimos.

  2. Llevar a cabo las pruebas de bucles simples para el bucle más interior, mientrasse mantienen los parámetros de iteración (por ejemplo, contador del bucle) de losbucles externos en sus valores mínimos. Añadir otras pruebas para valores fuera derango o excluidos.

  3. Progresar hacia fuera, llevando a cabo pruebas para el siguiente bucle, peromanteniendo todos los bucles externos en sus valores mínimos y los demás buclesanidados en sus valores «típicos».

  4. Continuar hasta que se hayan probado todos los bucles.

Bucles concatenados

Page 71: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 71/106

Bucles concatenados

  Los bucles concatenados se pueden probar mediante elenfoque anteriormente definido para los bucles simples,mientras cada uno de los bucles sea independiente delresto.

  Sin embargo, si hay dos bucles concatenados y se usa elcontrolador del bucle 1 como valor inicial del bucle  2,

entonces los bucles no son independientes.

  Cuando los bucles no son independientes, se recomiendausar el enfoque aplicado para los bucles anidados.

Page 72: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 72/106

Bucles no estructurados

  Siempre que sea posible, esta clase de

bucles se deben   rediseñar para que   seajusten a las construcciones deprogramac n es ruc ura a.

Page 73: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 73/106

Estrategias de prueba del software   Estrategias de prueba del software:

  Prueba de unidad,   Prueba de integración,

  Prueba de validación,   Prueba del sistema.

Estrategias de prueba del software

Page 74: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 74/106

g p   Proporcionan un plano o guía para el desarrollador

del software, para la organización de control decalidad y para el cliente .

  Es una guía que describe los pasos a llevar a cabocomo parte de la prueba, cuándo se deben planificar yrealizar esos pasos, y cuánto esfuerzo, tiempo y

recursos se van a requerir.Por lo tanto, cualquier estrategia de prueba debeincorporar la planificación de la prueba, el diseño de

los casos de prueba, la ejecución de las pruebas y laagrupación y evaluación de los datos resultantes.

Page 75: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 75/106

Etapas de un plan de pruebasa. especificar los objetivos de las pruebas.

b. determinar con precisión los criterios a seguir ensu realización.

 c. n egrar a persona y os e emen os necesar os

para el desarrollo de las pruebas.d. Aplicación de la prueba o pruebas según los

criterios seleccionados.

e. evaluación de los resultados y consideracionespara llevar a cabo una nueva serie de pruebas.

Page 76: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 76/106

Un enfoque estratégico para la prueba del software

Generalmente se proporciona una  plantilla para laprueba con las siguientes características generales:   La prueba comienza en el nivel de módulo y trabaja "hacia

fuera", hacia la integración de todo el sistema basado encomputadora. Se usa el enfoque “bottom-up”.

  En diferentes momentos se utilizarán diferentes técnicas de

prueba   La prueba la lleva a cabo el que desarrolla el software y

(para grandes proyectos) un grupo de pruebaindependiente.

  La prueba y la depuración son actividades diferentes, perola depuración se puede incluir en cualquier estrategia deprueba.

Page 77: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 77/106

Verificación y validaciónLa verificación se refiere al conjunto de actividades que aseguran que elsoftware implementa correctamente una función específica.

La validación se refiere a un conjunto diferente de actividades queaseguran que el software construído se ajusta a los requisitos delcliente.

La verificación y la validación comprenden un amplio rango de actividadesde SQA que incluyen :

  Revisiones técnicas formales,   Auditorias de configuración y calidad,   Supervisión del rendimiento,   Revisión de la base de datos,   Análisis de los algoritmos,   Prueba de desarrollo,   Prueba de calificación,   Prueba de instalación.

Prueba de unidad

Page 78: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 78/106

La prueba de unidad

  Centra el proceso deverificación en la menor

unidad del diseño delsoftware - el módulo.   Usando la descripción del

diseño detallado como guía,

control importantes, con el

fin de descubrir erroresdentro del ámbito delmódulo.

  Puede llevarse a cabo enparalelo para múltiplesmódulos.

Page 79: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 79/106

Consideraciones sobre la prueba de unidadLas pruebas que se dan como parte de la prueba de

unidad son:

  Se prueba la interfaz  del módulo .   Se examinan las estructuras de datos   locales.

.

  Se ejercitan todos los caminos independientes   dela estructura de control.

  Y finalmente, se prueban todos los   caminos de

 manejo de errores.Antes de iniciar cualquier otra prueba es preciso probarel flujo de datos de la interfaz del módulo.

Page 80: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 80/106

Prueba de integraciónEs una técnica sistemática para construir la estructura del

programa mientras que, al mismo tiempo, se llevan a

cabo pruebas para detectar errores asociados con lainteracción.

construir una estructura de programa que esté deacuerdo con lo que dicta el diseño.

Page 81: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 81/106

•A continuación se deben ensamblar o integrar losmódulos para formar el paquete del software

completo.•La prueba de integración se dirige a todos losaspectos asociados con el doble problema de

Prueba de integración

ver cac n y e construcc n e programa.

•Las técnicas que más prevalecen son las de diseñode casos de prueba de caja negra

Page 82: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 82/106

Documentación de la prueba de integración   La especificación de prueba incluye  un plan general

para la integración del software y una descripción de

las pruebas específicas. Es un resultado del proceso deingeniería del software y forma parte de laconfiguración del software.

  El   alcance de la prueba   resume las característicasfuncionales, de rendimiento y de diseño internoespecíficas que van a a ser probadas. Se limita elesfuerzo de prueba, se describen los criterios determinación de cada fase de prueba y se documentanlas limitaciones del plan.

Page 83: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 83/106

Documentación de la prueba de integración   El plan de prueba describe la estrategia general para

la integración. La prueba se divide en fases y subfases   dirigidas a específicas característicasfuncionales y del ámbito de información del software.

En todas las fases de prueba se siguen los siguientescriterios con sus correspondientes pruebas:   Integridad de interfaz,

  Validez funcional,

  Contenido de la información,

  Rendimiento.

Page 84: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 84/106

Page 85: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 85/106

Prueba de validación  Tras la culminación de la prueba de la

integración, el software estácompletamente ensamblado como unpaque e, se an encon ra o y correg o

los errores de interfaz y puede comenzaruna serie final de pruebas del software -La prueba de validación.

Page 86: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 86/106

Criterios para la prueba de validaciónLa validación del software se consigue mediante una serie

de pruebas de la caja negra que demuestran laconformidad con los requisitos.

Un plan de prueba traza las pruebas que se han de llevara cabo y un proced m ento de prueba de ne los casos

de prueba específicos que se usarán para demostrar laconformidad con los requisitos.

Page 87: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 87/106

Page 88: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 88/106

Page 89: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 89/106

Prueba del sistemaLa prueba del sistema, realmente está constituida por una

serie de pruebas diferentes cuyo propósito principal esejercitar profundamente el sistema basado encomputadora.

Aunque cada prueba tiene un propósito distinto, todastrabajan para verificar que se han integradoadecuadamente todos los elementos del sistema y querealizan las funciones apropiadas.

Page 90: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 90/106

Page 91: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 91/106

Prueba de recuperaciónLa prueba de recuperación  es una prueba del sistema que

fuerza el fallo del software de muchas formas y

verifica que la recuperación se lleva a caboapropiadamente.

correción de reinicialización, de los mecanismos derecuperación del estado del sistema, de larecuperación de datos y del rearranque.

Si la recuperación requiere la intervención humana, hay

que evaluar los tiempos medios de reparación paradeterminar si están dentro de unos límites aceptables.

Page 92: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 92/106

Prueba de seguridadLa   prueba de seguridad    intenta verificar que los

mecanismos de protección incorporados en el sistemalo protegerán.

Prueba de resistencia o de carga

i

Page 93: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 93/106

maximaLas pruebas de resistencia  están diseñadas para enfrentar

a los programas con situaciones anormales. En

esencia, el sujeto que realiza la prueba de resistenciase pregunta: "¿A qué potencia puedo ponerlo a

funcionar antes de que falle ?"

b d di i

Page 94: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 94/106

Prueba de rendimientoLa  prueba de rendimiento   está diseñada para probar el

rendimiento del software en tiempo de ejecución

dentro del contexto de un sistema integrado. Laprueba de rendimiento se da durante todos los pasos

. ,

debe asegurar el rendimiento de los módulosindividuales a medida que se llevan a cabo las pruebas

de la caja blanca.

El d l d ió

Page 95: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 95/106

El arte de la depuraciónLa   depuración   aparece como una consecuencia de una

prueba efectiva o sea, cuando un caso de prueba

descubre un error, la depuración es el proceso queresulta en la eliminación del error.

unque la depurac n puede y debe ser un proceso

ordendo, sigue teniendo mucho de arte.

El d l d ió

Page 96: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 96/106

El arte de la depuraciónEl proceso de depuración siempre tiene uno de dos

resultados:

  (1) se encuentra la causa, se corrige y se elimina; o

  (2) no se encuentra la causa.

En este último caso, la persona que realiza la depuracióndebe sospechar la causa, diseñar un caso de pruebaque ayude a validar sus sospechas y el trabajo vuelve

hacia atrás a la corrección del error de una formaiterativa.

Page 97: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 97/106

Page 98: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 98/106

Page 99: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 99/106

Page 100: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 100/106

Page 101: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 101/106

Page 102: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 102/106

Page 103: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 103/106

Page 104: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 104/106

Page 105: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 105/106

Bibliografia

Page 106: Prueba Modo de Compatibilidad

7/21/2019 Prueba Modo de Compatibilidad

http://slidepdf.com/reader/full/prueba-modo-de-compatibilidad 106/106

  Análisis y diseño de sistemas de información (James A. Senn)   Análisis y diseño de sistemas (Kendall&Kendall)

  Diseño de sistemas de informacion Teoria y Practica (John G. Burch)   Piattini (2007). (Cap. 10)   Sommerville (2005). (Capítulo 22 y 23)   aco son, ., ooc , ., an um aug , . : roceso   Unificado de Desarrollo. Addison-Wesley. (Capítulo 11)   Pressman, R. (2005): Ingeniería del Software: Un Enfoque Práctico.

6º   Edición. McGraw-Hill. (Capítulos 13 y 14)   Pfleeger (2002). (Caps. 7, 8 y 9)   IEEE Computer Society (2004). SWEBOK - Guide to the Software   Engineering Body of Knowledge, 2004. (Capítulos 4 y 5)   http://www.swebok.org/