Apuntes 01
Apuntes 01
Apuntes 01
Programador Universitario
INGENIERÍA DE SOFTWARE II
Licenciatura en Informática
AÑO 2014
Lic. María Isabel Mentz
3
producción de software y debe poder apreciar los problemas de los usuarios del
software cuando no lo entienden.
Los datos que se van recogiendo a medida que se lleva a cabo la prueba
proporcionan un buen indicador de la fiabilidad del software y, de alguna manera,
indican la calidad del software como un todo.
4
2.1 Flujo de Información de la Prueba
PRUEBA EVALUACIÓN
errores
Configuración datos de
de prueba tasa de error
DEPURACIÓN
correcciones
MODELO DE
FIABILIDAD
predicción de
fiabilidad
Si se está seguro de que las pruebas son adecuadas para descubrir errores
y el proceso de prueba no los descubre, sin duda el usuario sí los descubrirá y el
ingeniero deberá corregirlos durante la fase de mantenimiento.
5
2.2 Diseño de los casos de prueba
6
Garanticen que se prueba, por lo menos una vez, todos los
caminos independientes de control de cada módulo.
Este tipo de prueba se usa para descubrir errores que muchas veces pasan
inadvertidos a la prueba de caja negra.
2. Errores de interfaz.
4. Errores de rendimiento.
7
¿Qué volumen y nivel de datos tolerará el sistema?.
¿Qué efectos sobre la operación del sistema tendrán combinaciones
específicas de datos?.
2.5 Conclusiones
Las prueba de caja negra son diseñadas para validar los requisitos
funcionales sin fijarse en el funcionamiento interno de los programas. Se centran
en el ámbito de información de un programa de forma que se proporcione una
cobertura completa de prueba.
8
En general, todas las plantillas para la prueba, que son un conjunto de
pasos en los que se pueden situar las técnicas de diseño de casos de prueba,
tienen las siguientes características:
Una estrategia de prueba combina las pruebas de bajo nivel, que testean
cada pequeño segmento de código para ver si se ha implementado correctamente,
con pruebas de alto nivel, que demuestren la validez de las principales funciones
del sistema frente a los requisitos del cliente.
9
3.2 Organización para la prueba del software
Una vez que la arquitectura del software está completa entra a jugar un
grupo independiente de prueba. Este grupo elimina el conflicto de
interés presente cuando el constructor de software lo prueba.
Trabajando estrechamente vinculados, el constructor y el grupo
independiente de prueba, a lo largo del proyecto de software, aseguran
que se realicen pruebas exhaustivas. Los errores deberán siempre ser
corregidos por el desarrollador.
Requisitos R
Diseño D
Codificación C
U
Prueba de Unidad
I Prueba de Integración
V
Prueba de Validación
10
Inicialmente, la Ingeniería de Software define el papel del software y
conduce el análisis de requisitos del software. En esta etapa se establece el
campo de información, la funcionalidad, el comportamiento, el rendimiento, las
restricciones y los criterios de validación del software. Moviéndonos hacia el centro
del espiral llegamos al diseño y por último a la codificación.
11
Una vez construido el sistema se llevan a cabo un conjunto de pruebas de
alto nivel. Se debe comprobar los criterios de validación establecidos
durante el análisis de requisitos. La prueba de validación controla que el
software satisfaga los requisitos funcionales, de comportamiento y de
rendimiento establecidos. Se usan exclusivamente pruebas de caja negra.
3. El software una vez validado se combina con otros elementos tales como
software, usuarios, bases de datos, etc. La prueba de Sistema verifica que
cada elemento encaja de forma adecuada y que se alcanza la funcionalidad
y rendimientos requeridos para el sistema en su totalidad.
Módulo Interfaz
Estructuras de datos locales
Condiciones límites
Caminos independientes
Camino de manejo de errores
Casos de prueba
Se controlan las estructuras de datos locales para asegurar que los datos
mantienen temporalmente su integridad durante todos los pasos del algoritmo.
12
Se ejercitan los caminos independientes o básicos de la estructura de
control para asegurar que todas las sentencias del módulo se ejecutan al menos
una vez.
Conductor
Interfaz
Módulo Estructuras de datos locales
Condiciones límites
Caminos independientes
Resguardo Caminos de manejo de errores
Resguardo
14
Casos de prueba
Resultados
15
Existe una tendencia a intentar una integración no incremental (enfoque
Big-Bang) donde se combinan todos los módulos por anticipado y se prueba el
programa en conjunto. En general esta metodología es caótica ya que se
encuentran un gran número de errores, la corrección se hace muy difícil porque es
muy complicado aislar la causa de los errores.
Por oposición, la integración incremental permite que el programa se
construya y pruebe en pequeños segmentos fáciles de aislar y corregir y se puede
aplicar un enfoque de prueba sistemático.
Integración Descendente
16
4. Tras terminar cada conjunto de pruebas, se reemplaza otro
resguardo por el módulo real.
Integración Ascendente
17
A medida que progrese la prueba, su encargado debe identificar los
módulos críticos, que son los que tienen una o más de las siguientes
características:
Una vez que se procede con cada caso de prueba de validación puede
darse una de dos condiciones:
Software
Integrado PRUEBA DE
VALIDACIÓN
Requisitos
Software válido
Documentación
del Usuario
APROBACIÓN
DE LA
GESTIÓN
Software a
entregar
Configuración
válida
Documentación del
Usuario
REPASO DE LA
Documentación del diseño CONFIGURACIÓN
Listados
Documentos de Prueba
La prueba del Sistema está formada por una serie de pruebas diferentes
cuyo propósito primordial es ejercitar profundamente al sistema. Todas estas
pruebas trabajan para verificar que se han integrado adecuadamente todos los
elementos del sistema y que realizan las funciones apropiadas.
Prueba de Recuperación
Prueba de Seguridad
20
Durante la prueba, el encargado de la misma debe intentar hacerse con las
claves de acceso por cualquier medio externo al oficio, puede atacar al sistema
con software diseñado para romper las claves, debe bloquear el sistema negando
el servicio a otras personas, debe producir a propósito errores del sistema,
intentando entrar durante la recuperación, etc.
Prueba de Resistencia
Prueba de Rendimiento
Este tipo de prueba se ha venido haciendo durante todos los pasos del
proceso de prueba, pero solamente se puede asegurar el rendimiento del sistema
cuando están integrados todos los elementos del mismo.
4. El arte de la Depuración
21
En la siguiente figura se muestra como el proceso de depuración comienza
con la ejecución de un caso de prueba, cuando se evalúan los resultados y no se
corresponden con los esperados.
EJECUCIÓN
DE CASOS
CASOS DE
PRUEBA
RESULTADOS
Causas
Pruebas de
adicionales
Regresión
Correcciones
Causas
sospechadas
Causas
identificadas
DEPURACIÓN
23