Professional Documents
Culture Documents
Facilidad de Prueba
Caractersticas de una buena prueba Diseo de casos de Prueba Pruebas de Caja Blanca
Fundamentos
El desarrollo de sistemas de software implica una serie de actividades de produccin en las que las posibilidades de que aparezca el fallo humano son enormes. Debido a la imposibilidad humana de trabajar y comunicarse de forma perfecta, el desarrollo de software ha de ir acompaado de una actividad que garantice la calidad
Fundamentos
La prueba del software es uno de los puntos crticos para la garanta de calidad de software y representa una revisin final de las especificaciones, del diseo y de la codificacin.
Fundamentos
Objetivos de las pruebas:
Ejecutar un programa con la intencin de descubrir un error. Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error. Descubrir un error antes de la entrega del producto al cliente. (xito)
Fundamentos
Entonces Nuestro objetivo es disear pruebas que sistemticamente saquen a la luz diferentes clases de errores, en el menor tiempo posible y con el mnimo esfuerzo.
Fundamentos
Si la prueba se lleva a cabo con xito descubrir errores en el software. Como ventajas secundarias la prueba demuestra hasta qu punto las funciones del software funcionan, adems una indicacin de fiabilidad del software y de alguna manera la calidad del software.
Fundamentos
La prueba no puede asegurar la ausencia de defectos, slo puede demostrar que existen defectos en el software.
Facilidad de Prueba
En circunstancias ideales un Ingeniero de Software disea un sistema con la facilidad de prueba en mente.
Como la prueba es tan profundamente difcil, merece la pena saber qu se puede hacer para hacerlo ms sencillo.
Entre las caractersticas del software que facilitan la prueba estn: arquitectura modularizada, simplicidad, estabilidad, etc.
desarrollador
Entiende el sistema pero, es condescendiente y, es dirigido por el entregable
probador independiente
Debe entender el sistema, pero, intentar provocar fallas, y, es dirigido por la calidad
Prueba exhaustiva
Prueba Selectiva
Ruta Seleccionada
iteracin < 20 X
Pruebas de Software
mtodos de caja blanca mtodos de caja negra
Mtodos
Estrategias
OBJETIVO CRITERIO
... el objetivo es asegurarse que todas las sentencias y condiciones han sido ejecutados por lo menos una vez ...
La idea es confeccionar casos de prueba que garanticen que se verifican todos los caminos independientes
Verificaciones para cada camino independiente: Probar sus dos facetas desde el punto de vista lgico, es decir, verdadera y falsa Ejecutar todos los bucles en sus lmites operacionales Ejercitar las estructuras internas de datos
errores lgicos y las suposiciones incorrectas son inversamente proporcionales a la probabilidad de que se ejecute un camino del programa.
if
no opcin2
no opcinN
if
CASE
then else end opcin1
...
opcin2
While
END CASE
Aristas Nodos
Regin
Complejidad ciclomtica de un grafo de flujo V(G) establece el nmero de caminos independientes Puede calcularse de tres formas alternativas:
El nmero de regiones del grafo de flujo
V(G) = A - N + 2, donde A es el nmero de aristas y N es el nmero de nodos
Complejidad Ciclomtica
Mientras V(G) sea ms alto, hay mayor probabilidad de
errores
mdulos
V(G) = 4
2, 3
4, 5
9 10
3 nodos predicado + 1 = 4
11
2, 3
Un conjunto de caminos independientes Camino 1: 1-11 Camino 2: 1-2-3-4-5-10-1-11 Camino 3: 1-2-3-6-8-9-10-1-11 Camino 4: 1-2-3-6-7-9-10-1-11
El camino 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 No se considera un camino independiente, ya que es simplemente una combinacin de caminos ya especificados
10
4, 5
11
Nodos Predicado a
False True
b
False True
grafo de flujo asociado 2. Se calcula la complejidad ciclomtica del grafo 3. Se determina un conjunto bsico de caminos independientes 4. Se preparan los casos de prueba que obliguen a la ejecucin de cada camino del conjunto bsico
V(G) = 2+1 = 3. Por lo tanto, hay que determinar tres caminos independientes.
x<0
False
2
True
y<0
False
3
True
Por ejemplo: Camino 1: 1-2-3-5-6 Camino 2: 1-2-4-6 Camino 3: 1-2-3-4-6 Casos de prueba para cada camino:
Camino 1: Escoger algn x e y tales que se cumpla x >= 0 AND y >= 0 Camino 2: Escoger algn x tal que se cumpla x < 0
Pruebas para Bucles simples (n es el nmero mximo de iteraciones permitidos por el bucle)
Pasar por alto totalmente el bucle Pasar una sola vez por el bucle Pasar dos veces por el bucle Hacer m pasos por el bucle con m < n
Otras Pruebas de Caja Blanca ... Prueba de Bucles Pruebas para Bucles Anidados Comenzar en el bucle interior estableciendo los dems bucles en sus valores mnimos
Realizar las pruebas de bucle simple para el (ms) interior
manteniendo todos los externos en los valores mnimos y los dems bucles anidados en sus valores tpicos
Continuar el proceso hasta haber comprobado todos los bucles
independientes se puede aplicar lo relativo a bucles simples/anidados. En caso de ser dependientes se evaluarn como bucles anidados
estarn presentes
salida
entrada
eventos
Una condicin de entrada es un: Valor Numrico especfico Rango de valores Un miembro de un conjunto de valores Lgica
dos o ms grupos.
equivalencia
vlidas no incorporadas como sea posible hasta que se cubran todas las clases de equivalencia vlidas no vlida no incorporada hasta que se cubran todas las clases de equivalencia no vlidas.
Complementa la prueba de particin equivalente. En lugar de realizar la prueba con cualquier elemento de la particin equivalente, se escogen los valores en los bordes de la clase
CASOS DE ESTUDIO
Herramientas: Junit Findbugs ..
BIBLIOGRAFIA
[1].[2].[3].Cardoso, R. (2001). Pruebas del Software. Mrida, Venezuela. Craig Larman (2002). Applying UML and Patterns 2nd Edition. Prentice Hall. Gonzales, J. (2002). Las normas de la calidad del software. Addison-Wesley. Iberoamericana. Espaa.
[4].Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User Guide. AddisonWesley. 2000. [5].[6].[7].Ian Sommerville. Software Engineering, Addison-Wesley, 2000. Captulos 8, 9 y 10. Kruchten, P. (2000). The Rational Unified Process as Introduction. 2 nd Edition. Addison Wesley. Larman, C. UML y Patrones, Segunda Edicin, Pearson Educacin, 2002.
[8].Ortega, M. Prez, M. & Rojas, T. (2003). Construction of a Sistemic Quality Model for Evaluating a Software Product. [9].Pressman, R. (2002). Ingeniera del Software: Un enfoque Prctico. 5 Edicin. McGraw Hill.
[10].- Sommerville, I. (2002) Ingeniera de Software, Sexta Edicin, Addison Wesley, Mxico, 2002