Professional Documents
Culture Documents
Pruebas de Software
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Mapa conceptual
Identificar Prcticas Probar unidades por separado Usar implementaciones Aplicar disciplina Obtener cobertura
corporativas
Planear el proyecto
Analizar Requerimientos Design Integrate & test system Implement Test units
Maintain
05/04/2011
Reglas de Oro
Metas de las pruebas
Maximizar el numero y la severidad de los defectos encontrados Haga pruebas pronto
Pruebas de unidad
3. System tests
Incluye C.U.
Combinacin de modulos
1. Unit tests
Modulos
Funcin
05/04/2011
Prelim. iterations
Iter. #1
Iter. #n
Iter. #n+1
..
Iter. #m
Iter. .. #m+1
Iter. #k
Mapa conceptual
Requerimientos
1. Plan para pruebas de unidades
Identificar los mayores puntos de problemas potenciales
Conjunto de pruebas
3. Ejecucion de pruebas de unidad
05/04/2011
Tipos de pruebas
Entrada determinada por
requirements* Black box
Resultado
Salida real comparada con la salida requerida
Tipos de pruebas
Resultado
Salida real comparada con la salida requerida
Gray box
05/04/2011
1.Dentro del intervalo 2.En las fronteras del intervalo 3. fuera del intervalo
(ilegal)
intervalo
Truncar nombre
05/04/2011
Truncar nombre
05/04/2011
05/04/2011
Pruebas de Unidad de metodos(Humphrey) 1/2 1. Verificar la operacin con valores normales de los parmetros
(prueba de caja negra basada en los requerimientos de la unidad)
3. Verificar la operacin en los valores fuera de limite de los parametros (caja negra) 4. Asegurar que ejecuta todas las instrucciones 5. Verificar todas las trayectorias, incluidos ambos lados de todas las ramas 6. Verificar el uso de todos los objetos llamados 7. Verificar el manejo de todas las estructuras de datos 8. Verificar el manejo de todos los archivos
05/04/2011
Listas de verificacin para pruebas de clase Una vez probados los mtodos individuales de una clase, se puede pasar a la prueba de la clase como un todo. Esto significa ejecutar sus mtodos en combinacin o someter los objetos de la clase a eventos como una accin
Resumen
Pruebas de unidad = piezas Pruebas de integracin = un todo Caja negra: E/S Caja blanca : verifica procesos De muchas formas Asegura que esten completos Planeacion de pruebas, mas pronto / mejor Ayuda a aclarar los requerimientos
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
05/04/2011
Plan project
Analyze requirements Design Implement Test units Integrate & test system
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
10
05/04/2011
Metas
Poder planear los modulos de integracin Comprender los tipos de pruebas requeridas Poder planear y ejecutar las pruebas
Mas alla del nivel de unidades
Integracin
Se refiere al proceso de ensamble En esta etapa de integracin del proceso en cascada suele producir sorpresas desagradables por incompatibilidad de las partes que se integran. En el proceso de desarrollo de software unificado intenta evitar la integracin explosiva mediante la integracin continua con mltiples iteraciones
11
05/04/2011
Construction
Transition
Prelim. iterations
Iter. #1
Iter. #n
Iter. #n+1
..
Iter. #m
Iter. .. #m+1
Iter. #k
cliente Perdida de informacin Requirements prdida Arquitectura prdida prdida Diseo detallado prdida Cdfigo de funciones
Vision general del desarrollo de cascada con los problemas de perdida de informacin
Especificaciones de interfaz
prdida
After Myers
12
05/04/2011
order of testing
(10) Installation tests (9) Usability tests (8) System tests (7) Regression tests (6) Integration tests (5) Interface tests (2),(4) Module tests (1),(3) Function tests
Interface specs
Function code Docs. Code + Module (e.g., package) code Code + Code + Code +
Complete code
13
05/04/2011
(11) Acceptance tests* (10) Installation tests* (9) Usability tests* (8) System tests* (7) Regression tests* (6) Integration tests* (5) Interface tests (1), (4) Function tests
validation1
Architecture
verification2
Interface specs
verification2
Detailed design
verification2
(2), (3) Module tests
14
05/04/2011
El proceso de integracin
El tipo mas sencillo de integracin consiste en agregar nuevos elementos a la base en cada iteracin alrededor de un espiral
Build 1
15
05/04/2011
Build 2
Build 3
16
05/04/2011
17
05/04/2011
Build 1
Build 2
Proceso de Construccin
Build 3
1a Iteracin 2a Iteracin
Final Build of Single Level Final Build of Double Level
....
Design
Requirements analysis
First iteration
3. Codigo para diseo adicional 5. pruebas 4. Integracion de nuevo codigo Implementation Test
18
05/04/2011
Construction
Transition
Prelim. iterations
Iter. #1
Iter. #n
Iter. .. #m+1
Iter. #k
Construccin tpica 1
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
19
05/04/2011
Construccin tpica 2
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Unit-Oriented Build 1
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
20
05/04/2011
Unit-Oriented Build 2
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Unit-Oriented Build 3
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
21
05/04/2011
Last Build
Module 1
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Unit-Oriented Build 1
Module 1
Last Build
Module 1 2 3 4
Typical Build 2
Module 1 2 3 4
Typical Build 1
Module 1 2 3 4
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
22
05/04/2011
1. Comprender la descomposicion de la arquitectura. Intentar hacer una arquitectura sencilla de integrar 2. Identificar las partes de la arquitectura que implementara cada iteracion
Construir clases de marcos de trabajo primero o en paralelo Si es posible, integrar continuamente Construir suficientes GUI para anclar las pruebas Documentar los req. para cada iteracion Intentar construir de abajo arriba al menos parte del tiempo Para que las partes esten disponibles cuando se quieran Intentar planear las iteracines para eliminar los riesgos Especificar las iteraciones y construir de manera que cada caso de uso dse maneje por completo
3. Descomponer cada iteracion en construcciones si es necesario 4. Planear las pruebas, revisar e inspeccionar el proceso 5. Refinar el programa para reflejar los resultados
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Construir e integrar modulos usados antes que los modulos que los usan
Definicion y uso de clases y marcos de trabajo Prctica de integracin temprana Reduccin De riesgos Practica de partes de riesgo clave de la aplicacin lo ms pronto posible Mostrar partes o prototipos a los Requerimientos clientes
23
05/04/2011
Desempeo
Configuracion
Compatibilidad
Confiabilidad / disponibilidad
Mide el tiempo de operacion en periodos largos
24
05/04/2011
Seguridad
Uso de recursos
Mide el uso de RAM, espacio en disco etc Mide el tiempo de instalacion Fuerza actividades que desactivan la aplicacion
Mide el tiempo de recuperacion
Carga / Tension
Pruebas de Utilidad
Una buena interfaz puede mejorar mucho el valor de una aplicacin. Estas pruebas validan la aceptacin de la aplicacin por los usuarios Aseguran que la aplicacin satisface los requerimientos establecidos
25
05/04/2011
Accesibilidad
Facilidad con la que entran, navegan y salen los usuarios
Que tan rapido permite la aplicacion al usuario lograr sus metas especificadas Que tan pequeos son los pasos requeridos para la funcionalidad elegida
Comprension
La facilidad con que se entiende y usa el producto mediante la documentacion y la ayuda
26
05/04/2011
SPMP
SCMP
Apendice
SDD
Codigo fuente
Software Requirements Specification
STD
SRS
27
05/04/2011
Mantenimiento
Identify corporate practices Mantener la aplicacion til despues de la entrega Reparar los defectos
Plan project
Mejorar la aplicacion
Maintain Analyze requirements Design Implement Test units Integrate & test system
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Administracion
Dificil definir el retorno sobre la inversion
Proceso
Se requiere una amplia coordinacion para manejar el flujo de solicitudes de mantenimiento
Tecnica
Debe cubrirse todo el impacto de los cambios Las pruebas son muy costosas en comparacion con la utilidad de cada cambio
Las pruebas concretas son ideales pero costosas Todavia se requieren las pruebas de regresion.
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
28
05/04/2011
Activity
Estimate (person-days)
Activity
Estimate (persondays)
1-4
7. Pruebas de funcionalidad
2-4
1-4
8. Pruebas de regresion
2-4
1-4
2-6
TOTAL
14 - 35
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Interno? Contratado?
5. Estimacion de costos
6. Realizar mantenimiento
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
29
05/04/2011
Tipos de mantenimiento
Correctivo
Reparacion
Identificar defecto y eliminarlo
Adaptativo
Cambios obtenidos al operar los cambios en sistema harware y DBMS
Perfectivo
Mejoras
Cambios que resultan de las solicitudes de los usuarios
Preventivo
Cambios hechos al software para facilitar el mantenimiento
Architecture
Agregar metodos de interfaz para el paquete de distribucion Agregar clases y metodos segun el diseo detallado Modificar el codigo de control
System code
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
30
05/04/2011
1. Problem identification 1.1 Input 1.2 Process 1.3 Control 1.4 Output 1.5 Quality factors 1.6 Metrics 2. Analysis 2.1 Input 2.2 Process
2.2.1 Feasibility analysis 2.2.2 Detailed analysis
31
05/04/2011
1. Problem identification 4. Implementation 1.1 Input 1.2 Process 4.1 Input 1.3 Control 1.4 Output 4.2 Process 1.5 Quality factors 4.2.1 Coding and & testing 4.2.3 Risk analysis & review 1.6 Metrics IEEE 840-1994 4.2.4 Test-readiness review 2. Analysis Software 4.3-4.6 Control, Output, Maintenance 2.1 Input Quality factors, Metrics. Table of Contents 2.2 Process 5. System test 2.2.1 Feasibility analysis 5.1-5.6 Input, Process, Control, 2.2.2 Detailed analysis Output, Quality factors, Metrics. 6. 2.3-2.6 Control, Output, Acceptance test Quality factors, Metrics. 6.1-6.6 Input, Process, Control, 3. Design Output, Quality factors, Metrics. 7. 3.1-3.6 Input, Process, Control, Output, Quality factors, Metrics. Delivery 7.1-7.6 Input, Process, Control,
Output, Quality factors, Metrics.
1. Problem identification 2. Analysis 3. Design 4. Implementation 5. System test 6. Acceptance test 7. Delivery
32
05/04/2011
Pasos
Atributos
a. Entrada de artefactos del ciclo de vida oara este paso b. Proceso requerido para este paso c. Como se controla el proceso d. Salida de artefactos de ciclo de vida e. Factores de calidad del proceso involucrados f. Metricas para este paso
4. Implementation
5. System test 6. Acceptance test 7. Delivery
5. Administracin de mantenimiento
33
05/04/2011
Cliente
SM Propuestas
SM aprobadas
Ingeniero de mantenimiento
Fuente actual y documentacion
Comite de cambios
Documentacion modificada
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
SM Rechazadas
34