2. tecnicas de pruebas de software ii versión
Post on 07-Nov-2015
24 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
INGENIERA DE
SOFTWARE II
1
-
Pruebas de Software
Contenido:
1. Introduccin
2. Enfoque estratgico a. Verificacin y Validacin
b. Organizacin
c. Visin General
d. Criterios para completar las pruebas
3. Prueba de software convencional
4. Prueba para software orientado a objeto
5. Prueba para webapps
6. Pruebas de validacin
7. Pruebas de sistema
8. Depuracin
2
-
Pruebas de Software
1. Introduccin
Una estrategia de prueba de software proporciona una gua que
describe los pasos que deben realizarse como parte de la prueba,
cundo se planean? Cundo se ejecutan? Cunto esfuerzo, tiempo y
recursos requieren?
Deben ser flexibles para promover su uso.
Deben ser rgidas para alentar la planificacin razonable y gestin del
proyecto.
Es un conjunto de actividades que pueden planearse por adelantado y
realizarse de manera sistemtica.
3
-
Pruebas de Software
2. Enfoque Estratgico
Caractersticas Generales
a. Para realizar una prueba efectiva, debe realizar revisiones
tcnicas efectivas
b. La prueba comienza en los componentes y opera hacia afuera,
hacia la integracin de todo el sistema de cmputo
c. Diferentes tcnicas de prueba son adecuadas para distintos
enfoques de ingeniera de software y en diferentes momentos en
el tiempo
d. Las pruebas las realiza el desarrollador del software, y para
proyectos grandes, un grupo de pruebas independiente
e. Prueba y depuracin son actividades diferentes, pero la
depuracin debe incluirse en cualquier estrategia de prueba
4
-
Pruebas de Software
2. Enfoque Estratgico - Verificacin y Validacin.
La prueba de software es un elemento de un tema que usualmente
se conoce como Verificacin y Validacin (V&V).
La verificacin se refiere al conjunto de tareas que garantizan que el
software implementa correctamente una funcin especfica.
La validacin es un conjunto diferente de tareas que aseguran que el
software que se construye sigue los requerimientos del cliente.
Incluyen actividades de SQA: revisiones tcnicas, auditoras de
calidad y configuracin, monitoreo de rendimiento, simulacin,
estudio de factibilidad, revisin de documentacin, revisin de base
de datos, anlisis y algoritmos, pruebas de desarrollo, de usabilidad,
calificacin, aceptacin e instalacin.
5
-
Pruebas de Software
2. Enfoque Estratgico - Organizacin de las pruebas del software.
El desarrollador de software es responsable de:
a. Probar las unidades individuales o componentes
b. Asegurarse que cada una desempea la funcin para la cual se
realiz
c. Puede realizar Pruebas de Integracin
Grupo de Prueba Independiente (GPI)
a. Remueve problemas que el constructor no identific
b. Remueven el conflicto de intereses que pudiese presentarse
c. Se les paga por encontrar errores
d. El desarrollador y el GPI, interactan
e. Es parte del equipo de proyecto de desarrollo del software
6
-
Pruebas de Software
2. Enfoque Estratgico - Visin General
7
-
Pruebas de Software
2. Enfoque Estratgico - Visin General
8
-
Pruebas de Software
2. Enfoque Estratgico - Criterios para completar las pruebas.
Cundo terminan las pruebas ?
Respuesta: Nunca se termina de probar, la carga simplemente
pasa del desarrollador al usuario final.
La ingeniera de software de salas limpias: sugiere el uso de
estadsticas que ejecutan pruebas derivadas de una muestra
estadstica de las posibles ejecuciones de un programa.
El uso del modelado estadstico y la teora de la confiabilidad del
software se utilizan para predecir cundo estn completas las
pruebas.
9
-
Pruebas de Software
3. Prueba de Software Convencional.
Visin incremental de las pruebas, comenzando con las unidades de
programa individuales, avanza hacia pruebas de integracin y terminan
con pruebas del sistema construido.
3.1. Prueba de Unidad
Enfoca los esfuerzos de verificacin en la unidad mas pequea del
diseo del software: el componente o mdulo de software.
La interface del mdulo se prueba para garantizar que los datos fluyan
de manera adecuada hacia y desde la unidad de software. Se
examinan las estructuras de datos locales para asegurar su
almacenamiento e integridad.
10
-
Pruebas de Software
3.1. Prueba de Unidad
11
-
Pruebas de Software
3.2. Pruebas de Integracin Descendente
Es un enfoque incremental a la construccin de la arquitectura.
Integracin primero en profundidad.
La ejecucin de las pruebas tendra este orden:
M1, M2, M5,M8, M6, M3,M7, M4.
M1
M2
M5
M8
M6
M3
M7
M4
12
-
Pruebas de Software
3.2. Pruebas de Integracin Ascendente
Comienza con la construccin y la prueba con mdulos atmicos (es
decir, por componentes en los niveles inferiores dentro de la estructura
del programa)
Mc
Ma
D1
D11 D12
D121
D1211
D2 D21 D22
D221 D222
Mb
D3
D31
D32
Gru
po
1.
Gru
po
2.
13
-
Pruebas de Software
3.2. Pruebas de Integracin Regresin
Es la nueva ejecucin de algn subconjunto de pruebas que ya se
realizaron a fin de asegurar que los cambios no propagaron efectos
colaterales no deseados.
Ayudan a garantizar que los cambios no introducen comportamiento no
planeado o errores adicionales.
Clases de pruebas:
Muestra representativa de pruebas que ejercitar todas las funciones
del software
Pruebas adicionales enfocadas a las funciones del software que
probablemente resulten afectadas por el cambio
Pruebas que se enfocan en los componentes del software que
cambiaron
14
-
Pruebas de Software 3.2. Pruebas de Integracin Humo
Es un enfoque de prueba de integracin que se usa cuando se
desarrolla software de producto.
Se disea como mecanismo de ritmo para proyectos crticos en el
tiempo, permitiendo valorar el proyecto frecuentemente.
Incluye las siguientes actividades:
Construccin. Los componentes de software se integran.
Descubrir errores paralizantes. Pruebas para exponer errores que
evitarn la adecuada construccin
Integracin entre construcciones.
Beneficios:
Minimiza el riesgo de integracin
Mejora la calidad del producto final
Simplifica el diagnstico y correccin de errores
Facilidad para valorar el progreso
15
-
Pruebas de Software 3.2. Pruebas de Integracin Productos del trabajo de las pruebas de Integracin.
Especificacin de pruebas: Es el plan global de integracin del
software y descripcin de las pruebas especficas.
El producto del trabajo incorpora:
1. Un plan de prueba
2. Un procedimiento de prueba.
La prueba se divide en:
1. Fases y
2. Construcciones
Que abordan caractersticas:
1. Funcionales y
2. De Comportamiento
16
-
Pruebas de Software 3.2. Pruebas de Integracin Productos del trabajo de las pruebas de Integracin.
Criterios y pruebas que se aplican a todas las fases:
1. Integridad de la interface (interna y externa)
2. Validez funcional. Errores funcionales ocultos
3. Contenido de la informacin. Errores asociados con las
estructuras de datos.
4. Rendimiento. Diseadas para verificar los lmites del rendimiento
establecidos durante el diseo del software.
17
-
Pruebas de Software
4. Pruebas para software Orientado a Objeto Unidad de Contexto OO
La prueba de Clase para software OO, es el equivalente de la prueba
de unidad para software convencional. La diferencia radica, que tiende
a enfocarse sobre el detalle de un mdulo y en los datos que fluyen a
travs de la interface del mdulo.
La prueba de clase la dirigen las operaciones encapsuladas por la
clase y el comportamiento de estado de esta.
18
-
Pruebas de Software
4. Pruebas para software Orientado a Objeto Prueba de Integracin en el contexto OO.
Prueba basada en Hebra. Integra el conjunto de clases requeridas
para responder a una entrada o evento para el sistema.
Prueba basada en uso. Comienza por la construccin del sistema
al probar dichas clases, llamadas clases independientes, que usan
muy pocas clases servidor.
Prueba de grupo. El grupo de clases colaboradoras se ejercita
para disear casos de prueba que intentan descubrir errores en las
colaboraciones.
19
-
Pruebas de Software
5. Prueba para Webapps
a. Revisin del modelo del contenido, para detectar errores
b. Revisin del modelo de interface, asegurar aplicacin de casos de
uso.
c. Revisin del modelo de diseo, detectar errores de navegacin
d. Revisin interface de usuario, para detectar errores en
mecanismos de presentacin o navegacin.
e. A cada componente funcional se le aplica una prueba de unidad
f. Se prueban en varias configuraciones ambientales diferentes o
dentro de su ambiente.
g. Realizacin de pruebas de rendimiento
h. Realizacin de pruebas de seguridad
i. Prueba final: con una poblacin de usuarios controlada y
monitoreada.
20
-
Pruebas de Software
6. Prueba de Validacin.
Comienzan al terminar las pruebas de integracin, cuando se revisaron
los componentes individuales.
Aplica para todo tipo de pruebas de software.
Las pruebas se enfocan en las acciones visibles para el usuario y las
salidas del sistema reconocibles por el usuario.
La validacin es exitosa cuando el software funciona cumpliendo con
las expectativas razonables del cliente.
21
-
Pruebas de Software
6. Prueba de Validacin Criterios de Pruebas de Validacin.
La validacin del software, se logra a travs de una serie de pruebas
que demuestran conformidad con los requerimientos.
El plan de pruebas indica las pruebas a ejecutar y el procedimiento de
los casos especficos que se disean para garantizar que:
a. Satisfacen los requerimientos de funcionamiento
b. Logran todas las caractersticas de comportamiento
c. Incluyen el contenido y presentado de manera adecuada, logrando
todos los requerimientos de rendimiento.
d. La documentacin es correcta y satisfacen la facilidad de uso
22
-
Pruebas de Software
6. Prueba de Validacin Revisin de la configuracin
El objetivo es garantizar que todos los elementos de la configuracin
del software se desarrollaron de manera adecuada.
Tambin llamada auditora.
23
-
Pruebas de Software
6. Prueba de Validacin Pruebas Alfa y Beta.
Se utiliza para descubrir errores que el usuario final es capaz de
encontrar.
Prueba Alfa. Se lleva a cabo en el sitio del desarrollador por un grupo
representativo de usuarios finales. Se realizan en un ambiente
controlado. El desarrollador est presente.
Prueba Beta. Se realiza en uno o ms sitios del usuario final. El
desarrollador no est presente. El cliente registra los problemas que
se encuentran durante la prueba y los reporta al desarrollador.
24
-
Pruebas de Software
6. Prueba del Sistema
El software incorpora otros elementos del sistema (hardware,
personas, datos) y se lleva a cabo una serie de pruebas de integracin
y validacin del sistema.
Soluciones a potenciales problemas:
a. Disear rutas de manejo de error
b. Pruebas que simulen datos errneos
c. Registrar resultados de las pruebas
6. Participar en planificacin y diseo de pruebas
25
-
Pruebas de Software
6. Prueba del Sistema Pruebas de Recuperacin
Prueba que forza al software a fallar en varias formas que verifica que
la recuperacin se realice de manera adecuada.
Se evala:
a. El Reinicio
b. Los mecanismos de puntos de verificacin
c. La recuperacin de los datos
d. La reanudacin de las correcciones
e. Tiempo medio de reparacin
26
-
Pruebas de Software
6. Prueba del Sistema Pruebas de Seguridad
Intenta verificar que los mecanismos de proteccin que se construyen
en un sistema lo protegern de cualquier acceso o penetracin
inapropiada.
6. Prueba del Sistema Pruebas de Esfuerzo
Ejecuta un sistema en forma que demanda recursos en cantidad,
frecuencia o volumen anormales. Variacin Prueba de Sensibilidad.
27
-
Pruebas de Software
6. Prueba del Sistema Pruebas de Rendimiento
Se disea para poner a prueba el rendimiento del software en tiempo
de corrida, dentro del contexto de un sistema integrado. Ocurre a lo
largo de todos los pasos del proceso de prueba.
6. Prueba del Sistema Pruebas de Despliegue
En ocasiones llamada prueba de configuracin, ejercita el software en
cada entorno en el que debe operar.
Examina todos los procedimientos de instalacin y el software de
instalacin especializado.
28
top related