Está en la página 1de 22

Capítulo 3

Estrategias de Prueba del Software

Un enfoque estratégico para las pruebas


del software

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 1
Un Enfoque Estratégico para Pruebas
_________________________________________________________

Propuestas:
 Para realizar pruebas efectivas un equipo de Sw.debe efectuar RTF y
efectivas. Esto eliminará muchos errores antes de las pruebas.
 La prueba comienza a nivel de componentes y trabaja “hacia fuera”,
hacia la integración de todo el sistema de computo.
 Diferentes técnicas de prueba son apropiadas en diferentes
momentos
 La prueba la dirige el desarrollador del software y un grupo
independiente de pruebas (proyectos grandes)
 La prueba y la depuración son actividades diferentes, pero la
depuración debe incluirse en cualquier estrategia de prueba.
 Una estrategia de prueba debe incluir “pruebas de bajo nivel”(a nivel
de código) y de “alto nivel” (funciones del sistema)

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 2
Quién Prueba el Software?
_________________________________________________________

Desarrollador Pruebas Independientes


Entiende el sistema pero Debe aprender acerca del
probará “suavemente” y está sistema, pero intentará romperlo
guiado por la “entrega” y está guiado por la calidad

Si el Ing.Sw. no encuentra los errores ¡ El cliente si lo hará !...

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 3
Afirmaciones Incorrectas
_________________________________________________________

 El responsable del desarrollo no debería


participar en el proceso de pruebas

 El software debe ponerse a salvo de extraños


que lo prueben

 Quienes aplican las pruebas sólo deben


participar en el proyecto cuando vayan a darse los
primeros pasos de esas pruebas

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 4
Estratégia de Pruebas
_________________________________________________________

Pruebas de Unidad Pruebas de Integración

Codigo Diseño

Ing.de Sistema Requisitos

Pruebas de Pruebas de
Sistema Validación

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 5
Estrategia de Prueba de Software OO
_________________________________________________________

CLASE 1 CLASE 2 CLASE 3

Atributos ...… Atributos + Atributos

Operaciones Operaciones Operaciones

Pruebas … Pruebas de Regresión

… Por último se prueba el sistema como un todo para


asegurarse de que se descubran errores en los requisitos
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 6
Criterios para Completar la Prueba
_________________________________________________________

Cuando
terminamos
las pruebas ?

“… Nunca se termina de aplicar una prueba”

… Cada vez que el cliente o el usuario ejecutan el


programa de computadora, este se esta probando.
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 7
Pruebas de Unidad
_________________________________________________________

Módulo
a ser
probado

Resultados
Ingeniero de
Software Casos de
Prueba

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 8
Pruebas de Unidad
_________________________________________________________

Módulo
a ser
probado Interfase
(flujo de informacion hacia adentro/afuera del programa)
Estructuras locales de datos
(datos locales mantíenen integridad durante la ejecucion del programa)
Condiciones de límites
(modulo opera ok en los limites establecidos p/restrigir procesamiento)
Caminos independientes
(asegurar que todos los caminos se ejecutan por lo menos una vez)

Caminos de manejo de errores


(los errores probables tienen buen tratamiento y finalizacion adecuada)

Casos de prueba
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 9
Que deben descubrir los casos de prueba?
_________________________________________________________

Comparaciones entre diferentes tipos de datos.


 Operadores lógicos o precedencia de estos aplicada
incorrectamente.
 Expectativa de igualdad cuando los errores de
precisión son improbables
 Comparación incorrecta de variables.
 Terminación inapropiada de o inexistente de bucles.
 Falla de salida en iteración divergente
 Variables de bucle modificadas de manera
inapropiada
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 10
Manejo Correcto de Errores
_________________________________________________________

Debe tener cuidado de no cometer las sigtes. fallas:

 La descripción del error es ininteligible.


 El error indicado no corresponde al encontrado.
 La condición de error causa la intervención del S.O.
antes de que se dispare el manejo de errores.
 El procesamiento de la condición de excepción es
incorrecto.
 La descripción del error no proporciona información
suficiente para ayudar a localizar la causa del error.

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 11
Ambiente de Pruebas de Unidad
_________________________________________________________

Controlador
Interfase
Estructuras locales de datos

Módulo Condiciones de límites


Caminos independientes
Caminos de manejo de errores

Resguardo Resguardo

Casos de Prueba
Resultados
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 12
Controladores y Resguardos
_________________________________________________________

 Un Controlador no es más que un “programa principal”


que acepta los datos del caso de prueba, pasa estos datos
al componente que se está probando e imprime los
resultados.
 Los Resguardos sirven para reemplazar módulos
subordinados al componente que habrá de probarse (o
llamados por éste). Los resguardos usan la interfaz del
modulo subordinado, realizan una mínima manipulación de
datos, proporcionan verificación de la entrada y devuelven
el control al módulo en prueba.
“Representan sobrecarga de trabajo pues requieren construirse para
realizar las pruebas, pero no se entregan con el producto final”

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 13
Estrategias de Pruebas de Integración
_________________________________________________________

Opciones:
• el enfoque “big bang”
• una estrategia de construcción incremental

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 14
Pruebas de Integración
_________________________________________________________

 Enfoque “big bang” implica combinar todos los


componentes, probando el programa como un todo,
lo cual puede generar caos al detectar múltiples
errores que dificultan la corrección, debido a su
extensión.
 La “integración incremental” sugiere construir y
probar en pequeños incrementos, en los cuales
resulta más fácil aislar y corregir errores, llegandose
finalmente a probar la totalidad de los componentes
y sus interfaces.

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 15
Integración de Arriba-Abajo
_________________________________________________________

A El módulo mas alto es probado


con resguardos

B F G

Los resguardos son reemplazados


C uno a la vez, “primero en
profundidad” o “primero en anchura”

A medida que nuevos módulos se integran,


D E algunos sub-grupos de pruebas se realizan
nuevamente

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 16
Integración de Abajo-Arriba
_________________________________________________________

B F G

Los controladores son reemplazados una a


la vez, “el mas profundo primero”
C

Los módulos de trabajo están


D E
integrados y agrupados

Grupo
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 17
Pruebas de Sandwich
_________________________________________________________

A
Los módulos más altos son
probados con resguardos

B F G

Los módulos de trabajo están


D E integrados y agrupados

Grupo
Facultad de Ciencias y Tecnología – Departamento de Informatica
Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 18
Prueba de Regresion
_________________________________________________________
“Cada vez que se agrega un nuevo modulo como parte
de una prueba de integración, el software cambia”
“… ejecutar nuevamente el mismo subconjunto de
pruebas que ya se han aplicado para asegurarse de que
los cambios no han propagado efectos indeseables”
El conjunto de pruebas de regresión contiene 3 casos dif. de prueba:
 Muestra representativa de pruebas que ejercerán todas las func.del Sw
 Pruebas adicionales centradas en las funciones afectadas por el cambio
 Pruebas centradas en los componentes del Sw.que cambiaron

A medida que avanza la prueba de integración, la cantidad


de pruebas de regresión llega a volverse muy grande!!

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 19
Estrategias de Prueba para Software OO
_________________________________________________________

 Al pensar en el Sw.OO cambia el concepto de unidad. Cada


clase e instancia de una clase (objeto) empaqueta atributos y
operaciones.
 Sin embargo las unidades de prueba mas pequeñas son las
operaciones dentro de la clase. Una clase puede contener varias
operaciones y una operación puede existir en varias clases dif.
 No es posible probar una sola operación en forma aislada, sino
como parte de una clase.
 A diferencia de la prueba de unidad del Sw. Convencional que
se centra en el detalle algoritmico de un modulo, la prueba de
clase para Sw.OO se orienta a las operaciones que encapsula y
en el comportamiento de estado de la clase.

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 20
Prueba de Integración en el Contexto OO
_________________________________________________________
 El Sw.OO no tiene una estrategia de control jerárquico. Por tanto
no tiene sentido estrategias de integración Ascend/Descend.

Hay dos estrategias dif. para la prueba de Integr. de Sist.OO:


 Prueba basada en subprocesos: conjunto de clases
requerido para responder a una entrada o un evento del
sistema. Cada subproceso se integra y valida
individualmente.
 Prueba basada en el uso: se empieza la construcción del
sistema con las pruebas de clases independientes. Luego se
prueba la siguiente capa de clases llamadas dependientes,
usadas por las clases independientes. Se sigue esta
secuencia de capas de prueba de clases dependientes hasta
construir todo el sistema.

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 21
Bibliografía

PRESSMAN, Roger. Ingeniería del Software. Un enfoque práctico.


Sexta Edición
MC GRAW HILL. 2006. Capitulo 13.

Facultad de Ciencias y Tecnología – Departamento de Informatica


Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos
Calidad del Software – Presentación de la Cuarta Clase 22

También podría gustarte