Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Semestre: 2010_I
Objetivos:
2
Visión global de desarrollo de sistemas
Puesta en productivo
y Mantenimiento
Análisis
Diseño
Conversión
Pruebas
Programación
Características:
1. Generalmente se llevan a cabo secuencialmente pero esto puede variar
de acuerdo al Enfoque de Construcción de Sistemas seleccionado.
2. Cada actividad requiere interacción con la organización.
Visión global de desarrollo de sistemas, continua...
Análisis
Análisis Diseño
Diseño Programación
Programación Prueba
Prueba Conversión
Conversión Producción
Producción
Responde a Responde a
QUE COMO
Definición
Definición Análisis
Análisis Diseño
Diseño Programación
Programación Instalación
Instalación Post-
Post-
Implementación
Implementación
Foco puesto en Foco puesto Foco en la Cierre del
Foco puesto Uso y evaluación
la definición del en la traducción del Sistema:
en elaboración del Sistema para
objetivo, definición de diseño a código y Pruebas de
de los determinar las
alcance, la arquitectura, en la ejecución Aceptación de
requerimientos Usuario, necesidades de
factibilidad del el diseño de pruebas
planteados en Capacitación y adaptación.
proyecto, la lógico y unitarias y de
la etapa Conversión.
estimación de físico Sistemas.
anterior, y en
esfuerzo, la planificación
recursos y
detallada de
duración,
las dos fases
restricciones y
siguientes.
riesgos.
6
Pruebas, objetivos:
Objetivos:
9 Evaluar la calidad del producto
9 Mejorarlo identificando defectos y problemas
9 Probar que el sistema funciona
9 Probar que el sistema no funciona
9 Reducir los riesgos a un nivel conocido
9 Diseñar, documentar y mantener, teniendo en cuenta las tareas
de testing
8
Pruebas, principio:
10
Pruebas - políticas, continua...
Requisitos Pruebas de
del usuario Aceptación
Especificación de Pruebas de
requisitos sistema
Especificación Pruebas de
lógica del módulo unidad
Código 14
I. Pruebas de unidades
II. Pruebas de integración
III.Pruebas de validación
15
Causas principales de la baja calidad del software
Doc. Requisitos
Análisis
P. validación
Diseño
P. integración
Doc. Diseño
Codificación P. unidades
Cod. Módulos
Integración
Cód. Completo 18
Mantenimiento
I. Pruebas de unidades
Comportamiento
esperado del
programa ok
Input ¿?
Comportamiento
obtenido del falla
programa
• Se puede ejecutar el programa
• Se conoce el resultado esperado
• Es posible comparar los resultados obtenidos con los esperados
• Además: ¿Cómo elegimos el input?
26
Desarrollo del testeo:, continua...
28
II. Pruebas de Integración
Validación:
Implica probar el programa implementado para ver si satisface las
necesidades del cliente. Se trata de responder a la pregunta:
¿Estamos construyendo el programa CORRECTO?
31
III. Pruebas de Validación , continua...
Verificación y validación
¾ Objetivos de la verificación y validación (V&V):
9 Descubrir defectos en el sistema
9 Evaluar si el sistema funciona según las expectativas del
cliente
¾ La Verificación y validación forman parte del proceso de prueba
del software
¾ El proceso de prueba puede demostrar únicamente la presencia
de errores.
¾ El proceso de prueba no puede demostrar la ausencia de errores
en el software.
32
III. Pruebas de Validación, continua...
33
III. Pruebas de Validación, continua...
Ejecución
Actividad
Acción Verificación
Plan de actividades de aseguramiento de la calidad
Cliente Validaciones
Necesidades
Verificaciones
Requisitos Producto
Revisiones
Establecer criterios y procedimientos de Verificación
CU_01_Login <<extend>>
usuario
(from <Use Case Name>) CU_1
(from
CU_17_Generar seguridad
CU_02_Apertura de Obra
(from <Use Case Name>)
(from <Use Case Name>)
CU_19_Registrar cliente
(from <Use Case Name>)
Requerimiento Personal
CU_03_Registrar Perso
(from <Use Case Name>)
Administrativo
09_Emitir orden de compra (f rom Actors)
(from <Use Case Name>)
Plantillas CU
CU_04_Registrar Per
CU_07_Registrar zona
(from <Use Case N
(from <Use Case Name>)
Diagrama de análisis
(from <Use Case Name>) (from
Diagrama de caso de
uso
Codificación Diseño –
Componentes Diagrama de
secuencia
Revisión de Pares
¿Qué es una Revisión?
Una revisión es una verificación grupal mediante la cual se
evalúan los entregables e indirectamente la salud del proyecto a
un nivel técnico y de estándares
Re-revisión
Criterios de Entrada
Criteria de Salida
Actividades Actividades
Pre- Actividad Post-
Revisión Revisión Revisión
Revisión de Pares
Prerequisitos cumplidos,
retrabajo completo
Autor siente que producto está
completo y correcto
Alto nivel de documentación
disponible
Re- r eview
Acti vi t y Act i vi t y
Ent ry Cri t eri a
Act i vi t y Act i vi ty
46
Flujo de trabajo: Pruebas
47
Disciplina: Pruebas, própositos:
Encontrar
Encontrar fallas
fallas de
de calidad
calidad en
en el
el
software
software yy documentarlas.
documentarlas.
Recomendar
Recomendar sobre
sobre la
la calidad
calidad percibida
percibida
en
en el
el software.
software.
Validar
Validar yy probar
probar las
las suposiciones
suposiciones
hechas
hechas durante
durante elel diseño
diseño yy lala
especificación
especificación dede requerimientos
requerimientos dede
forma
forma concreta.
concreta.
Validar
Validar que
que el
el software
software trabaja
trabaja como
como
fue
fue diseñado.
diseñado.
Validar
Validar que
que los
los requerimientos
requerimientos son
son
implementados
implementados apropiadamente.
apropiadamente. 48
Flujo de trabajo: Definir la misión de la evaluación
51
Flujo de trabajo: Probar y evaluar
El propósito de este flujo es
alcanzar holgura y profundidad
apropiada en el esfuerzo de la
prueba para permitir una
suficiente evaluación de los
artículos que son indicados por
la prueba, donde la evaluación
sea gobernada por los
motivadores de la prueba.
Implica realizar el trabajo táctico
de la prueba y de la evaluación a
poner en práctica, ejecución y
evaluación de las pruebas
específicas y la divulgación de
los incidentes se encontrados
52
Flujo de trabajo: Alcance de una misión aceptable
53
Flujo de trabajo: Mejorar el resultado de la Prueba
55
Descripción de los Artefactos de las Pruebas
56
Rol:Test Manager
62
Rol: Test Designer
66
Rol: Tester
El Rol Tester es ser
responsable de todas las
actividades de las pruebas.
Las implicancias:
• Identificar dentro de la
implementación la más
apropiada para mostrarla
en las pruebas.
• Implementación individual
de los tests
• Verificación y ejecución
de test.
• Analizar y recoger las
ejecuciones de errores.
67
Rol: Tester. Artefactos:
68
Tipos de pruebas:
1. Usabilidad
2. Unitarias
3. Funcionales
4. De Seguridad
5. De Volumen
6. Confiabilidad
7. Desempeño
8. Soportabilidad
69
1. Pruebas de Usabilidad
Se centran en:
9 Factores humanos,
9 Estética,
9 Consistencia con la interfaz de usuario,
9 Ayudas en línea y “context sensitive”,
9 Wizards y agentes,
9 Documentación para el usuario
9 Materiales de entrenamiento.
70
2. Pruebas Unitarias
71
3. Pruebas Funcionales
Objetivo:
Asegurar el trabajo apropiado de los requisitos funcionales;
incluyendo la navegación, entrada de datos, procesamiento y
obtención de resultados.
Metas:
9Verificar el procesamiento, recuperación e implementación
adecuada de las reglas del negocio.
9Verificar la apropiada aceptación de datos.
Enfoque:
Los requisitos funcionales (Casos de Uso) y las reglas del
negocio
72
3. Pruebas Funcionales,
continua...
Caja Negra
74
4. Pruebas de Seguridad
Objetivo:
Nivel de Seguridad de la Aplicación: Verificar que un actor solo
pueda acceder a las funciones y datos que su usuario tiene
permitido.
Nivel de Seguridad del Sistema: Verificar que solo los actores con
acceso al sistema y a la aplicación están habilitados para accederla.
Áreas:
Seguridad de la aplicación, incluye los accesos a datos o funciones
de negocios.
Seguridad del sistema, incluye los ingresos y accesos remotos al
sistema.
75
4. Pruebas de Seguridad,
continua...
Garantiza:
Que los usuarios estén restringidos a funciones específicas o su
acceso este limitado únicamente a los datos para los cuales están
autorizados a acceder.
Que solo aquellos usuarios autorizados a acceder al sistema son
capaces de ejecutar las funciones del sistema.
Cumplir con los objetivos específicos de seguridad de cada
sistema.
Técnicas:
Identificar cada tipo de usuario y las funciones y datos a los que se
debe autorizar.
76
4. Pruebas de Seguridad,
continua...
Técnicas:
9 Crear pruebas para cada tipo de usuario y verificar cada
permiso, creando transacciones específicas para cada tipo de
usuario.
9 Modificar tipos de usuarios y volver a ejecutar las pruebas.
Criterio de Completitud.
9 Para cada tipo de usuario conocido, las funciones y datos
apropiados y todas las transacciones funcionen como se
esperaba.
77
5. Pruebas de Volumen
Objetivo:
Verificar que la aplicación funcione adecuadamente bajo los
siguientes escenarios de volumen:
Máximo (actual o físicamente posible) número de clientes
conectados (o simulados), todos ejecutando la misma función por
un período extendido.
Máximo tamaño de base de datos (actual o escalado) y múltiples
consultas ejecutadas simultáneamente.
Descripción:
Verificar que la aplicación funcione adecuadamente bajo los
siguientes escenarios de volumen:
9Determinan la cantidad de datos con la cual el sistema falla.
9Carga máxima que el sistema soporta en un período dado. 78
5. Pruebas de Volumen,
continua...
Técnica.
Usar múltiples clientes, corriendo las mismas pruebas o pruebas
complementarias para producir el peor caso de volumen por un
período extendido.
Utilizar un tamaño máximo de Base de datos (actual o con datos
representativos) y múltiples clientes para correr consultas
simultáneamente para períodos extendidos.
Criterio de Completitud.
Todas las pruebas planeadas han sido ejecutadas y los límites
especificados en el sistema se han conseguido o excedido sin que el
sistema falle.
79
6. Pruebas de Confiabilidad
• Pruebas de Integridad:
Se enfocan en probar la robustez (resistencia a fallas) y el uso
adecuado del lenguaje, sintaxis y uso de recursos. Este tipo de
prueba puede aplicarse tanto a unidades como a integración de
unidades.
• Pruebas de Estructura:
Estas pruebas se enfocan en hallar problemas de adherencia del
elemento objetivo a su diseño y formación. Típicamente, estas
pruebas se realizan sobre aplicaciones Web, asegurando que todos
los enlaces están conectados, los controles adecuados se muestran,
y no hay contenido inaccesible.
80
6. Pruebas de Confiabilidad,
continua...
• Pruebas de Stress:
Este tipo de prueba se enfoca a evaluar el comportamiento del
sistema bajo condiciones anormales. Stress del sistema se refiere a
extrema carga, memoria insuficiente, no disponibilidad de servicios
y hardware o recursos compartidos limitados. Este tipo de prueba
permite comprender mejor cómo y qué áreas del sistema
colapsarán, de este modo es posible planificar contingencias y
actualizar el mantenimiento y planear y asignar recursos de
antemano.
81
7. Pruebas de Desempeño:
• Pruebas de Benchmark:
Compara el desempeño del elemento objetivo de la prueba con un
sistema conocido y una carga de trabajo definida.
• Pruebas de Carga:
Validar y evaluar aceptabilidad de un elemento de un sistema
sobre diferentes cargas de trabajo mientras el sistema permanece
constante. Generalmente se incluye simulación de cargas de
trabajo promedio y pico que puedan ocurrir dentro de la tolerancia
operacional normal.
82
7. Pruebas de Desempeño,
continua...
• Pruebas de Contención:
Validar que el elemento que se prueba maneja adecuadamente
cuando muchos actores solicitan el mismo recurso.
83
8. Pruebas de Soportabilidad:
• Pruebas de Configuración:
Se enfocan en evaluar aquellos elementos configurados para
diferentes hardware y/o configuraciones de software.
Pueden implementarse como pruebas de rendimiento del sistema.
• Pruebas de Instalación:
Se enfoca en evaluar que el elemento a probar se instala como se
indica, en diferentes hardware y /o configuraciones de sistemas de
software y bajo diferentes condiciones (tales como espacio
insuficiente en disco, interrupción de electricidad).
Este tipo de prueba se aplica y ejecuta sobre aplicaciones y
sistemas.
84
Recomendaciones:
85
Fuentes de consulta:
Semestre: 2010_I