Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividad 3.2 Realizar Informe
Actividad 3.2 Realizar Informe
Facultad de Ciencias
Facultad de Ciencias
ESCUELA DE INFORMATICA
TEMA:
Informe de Unidad 3, Prueba de Software
MATERIA:
INGENERIA DE SOFTWARE 2
Sección:
Z03
Grupos:
03
NOMBRE: MATRICULA:
PROFESOR:
José Manuel Amado Peralta
Contenido
Introducción.......................................................................................................................................4
Pruebas de software..........................................................................................................................5
Un Enfoque Estratégico para la Prueba de Software......................................................................6
Verificación y Validación................................................................................................................6
Organización de las Pruebas del Software......................................................................................7
Estrategia de Prueba del Software. Visión General........................................................................8
Criterios para Completar las Pruebas.............................................................................................9
Estrategias De Prueba Para Software Convencional.........................................................................10
Prueba de Unidad.........................................................................................................................10
Procedimientos de Prueba de Unidad..........................................................................................10
Pruebas de integración.................................................................................................................11
Integración Descendente.............................................................................................................11
Integración Ascendente...............................................................................................................11
Prueba de Regresión....................................................................................................................12
Prueba de Humo..........................................................................................................................12
Opciones Estratégicas..................................................................................................................13
Productos de Trabajo de las Pruebas de Integración...................................................................13
Estrategias De Prueba Para Software Orientado A Objeto...............................................................14
Prueba de Unidad en el Contexto OO..........................................................................................14
Prueba de Integración en el Contexto OO....................................................................................14
Estrategias De Prueba Para Webapps..............................................................................................15
Pruebas De Validación......................................................................................................................16
Criterios de Pruebas de Validación...............................................................................................16
Revisión de la Configuración........................................................................................................16
Pruebas Alfa y Beta......................................................................................................................17
Pruebas Del Sistema.........................................................................................................................17
Pruebas de Recuperación.............................................................................................................17
Pruebas de Seguridad...................................................................................................................18
Pruebas de Esfuerzo.....................................................................................................................18
Pruebas de Rendimiento..............................................................................................................18
Pruebas de Despliegue.................................................................................................................19
El Arte De La Depuración..................................................................................................................19
El Proceso de Depuración.............................................................................................................19
Consideraciones Psicológicas.......................................................................................................20
Estrategias de Depuración............................................................................................................20
Tácticas de Depuración................................................................................................................20
Depuración Automatizada............................................................................................................20
El Factor Humano.........................................................................................................................20
Corrección del Error.....................................................................................................................21
Conclusión........................................................................................................................................22
Bibliografía.......................................................................................................................................23
Introducción
Una estrategia de prueba de software proporciona una guía que describe los
pasos que deben realizarse como parte de la prueba, cuándo se planean y se
llevan a cabo dichos pasos, y cuánto esfuerzo, tiempo y recursos se requerirán.
Por tanto, cualquier estrategia de prueba debe incorporar la planificación de la
prueba, el diseño de casos de prueba, la ejecución de la prueba y la
recolección y evaluación de los resultados. Una estrategia de prueba de
software debe ser suficientemente flexible para promover un uso
personalizado de la prueba. Al mismo tiempo, debe ser suficientemente rígida
para alentar la planificación razonable y el seguimiento de la gestión conforme
avanza el proyecto.
En muchas formas, la prueba es un proceso de individualización, y el número
de tipos diferentes de pruebas varía tanto como los diferentes acercamientos
para su desarrollo. Durante muchos años, la única defensa contra los errores
de programación fue el diseño cuidadoso y la inteligencia natural del
programador.
Pruebas de software
¿Qué es?
El software se prueba para descubrir errores que se cometieron de manera
inadvertida conforme se diseñó y construyó.
¿Quién lo hace?
El gerente de proyecto, los ingenieros de software y los especialistas en pruebas
desarrollan una estrategia para probar el software.
¿Por qué es importante?
Con frecuencia, la prueba requiere más esfuerzo que cualquiera otra acción de
ingeniería del software. Si se realiza sin orden, se desperdicia tiempo, se emplea
esfuerzo innecesario y, todavía peor, es posible que algunos errores pasen
desapercibidos. Por tanto, parecería razonable establecer una estrategia
sistemática para probar el software.
¿Cuáles son los pasos?
La prueba comienza “por lo pequeño” y avanza “hacia lo grande”. Es decir que las
primeras etapas de prueba se enfocan sobre un solo componente o un pequeño
grupo de componentes relacionados y se aplican pruebas para descubrir errores
en los datos y en la lógica de procesamiento que se encapsularon en los
componentes. Después de probar éstos, deben integrarse hasta que se construya
el sistema completo. En este punto, se ejecuta una serie de pruebas de orden
superior para descubrir errores en la satisfacción de los requerimientos del cliente.
Conforme se descubren, los errores deben diagnosticarse y corregirse usando un
proceso que se llama depuración.
¿Cuál es el producto final?
Una Especificación pruebas documenta la forma en la que el equipo de software
prepara la prueba al definir un plan que describe una estrategia global y un
procedimiento con pasos de prueba específicos y los tipos de pruebas que se
realizarán.
Un Enfoque Estratégico para la Prueba de Software
Verificación y Validación
Cada vez que se analiza la prueba del software, surge una pregunta clásica:
“¿cuándo terminan las pruebas?, ¿cómo se sabe que se ha probado lo
suficiente?”. Lamentablemente, no hay una respuesta definitiva a esta pregunta,
pero existen algunas respuestas pragmáticas e intentos tempranos a manera de
guía empírica.
Prueba de Unidad
Pruebas de integración
Integración Descendente.
Integración Ascendente.
Prueba de Regresión
Cada vez que se agrega un nuevo módulo como parte de las pruebas de
integración, el software cambia. Se establecen nuevas rutas de flujo de datos,
ocurren nuevas operaciones de entrada/salida y se invoca nueva lógica de control.
Dichos cambios pueden causar problemas con las funciones que anteriormente
trabajaban sin fallas. En el contexto de una estrategia de prueba de integración, la
prueba de regresión es la nueva ejecución de algún subconjunto de pruebas que
ya se realizaron a fin de asegurar que los cambios no propagaron efectos
colaterales no deseados.
Las pruebas de regresión ayudan a garantizar que los cambios (debidos a pruebas
o por otras razones) no introducen comportamiento no planeado o errores
adicionales. Las pruebas de regresión se pueden realizar manualmente, al volver
a ejecutar un subconjunto de todos los casos de prueba o usando herramientas de
captura/reproducción automatizadas.
Prueba de Humo
2) Se diseña una serie de pruebas para exponer los errores que evitarán a la
construcción realizar adecuadamente su función. La intención debe ser
descubrir errores “paralizantes” que tengan la mayor probabilidad de
retrasar el proyecto.
Opciones Estratégicas
Ha habido mucha discusión (por ejemplo, [Bei84]) acerca de las relativas ventajas
y desventajas de las pruebas de integración descendente en comparación con las
ascendentes. En general, las ventajas de una estrategia tienden a ser desventajas
para la otra. La principal desventaja del enfoque descendente es la necesidad de
representantes y las dificultades de prueba que pueden asociarse con ellos. Los
problemas asociados con los representantes pueden compensarse con la ventaja
de probar tempranamente las principales funciones de control. La principal
desventaja de la integración ascendente es que “el programa como entidad no
existe hasta que se agrega el último módulo”.
Un plan global para integración del software y una descripción de las pruebas
específicas se documentan en una Especificación de pruebas. Este producto de
trabajo incorpora un plan de prueba y un procedimiento de prueba, y se vuelve
parte de la configuración del software. La prueba se divide en fases y
construcciones que abordan características del software funcionales y de
comportamiento específicas. Por ejemplo, la prueba de integración para el sistema
de seguridad Casa Segura puede dividirse en las siguientes fases de prueba:
La estrategia para probar webapps adopta los principios básicos para todas las
pruebas de software y aplica una estrategia y tácticas que se usan para sistemas
orientados a objetos. Los siguientes pasos resumen el enfoque:
2) El modelo de interfaz se revisa para garantizar que todos los casos de uso
pueden adecuarse.
Pruebas De Validación
Revisión de la Configuración
La prueba beta se realiza en uno o más sitios del usuario final. A diferencia de la
prueba alfa, por lo general el desarrollador no está presente. Por tanto, la prueba
beta es una aplicación “en vivo” del software en un ambiente que no puede
controlar el desarrollador. El cliente registra todos los problemas (reales o
imaginarios) que se encuentran durante la prueba beta y los reporta al
desarrollador periódicamente. Como resultado de los problemas reportados
durante las pruebas beta, es posible hacer modificaciones y luego preparar la
liberación del producto de software a toda la base de clientes.
La prueba del sistema es una serie de diferentes pruebas cuyo propósito principal
es ejercitar por completo el sistema basado en computadora. Aunque cada prueba
tenga un propósito diferente, todo él funciona para verificar que los elementos del
sistema se hayan integrado de manera adecuada y que se realicen las funciones
asignadas. En las secciones que siguen se estudian los tipos de pruebas del
sistema que valen la pena para los sistemas basados en software.
Pruebas de Recuperación
Pruebas de Seguridad
Pruebas de Esfuerzo
Pruebas de Rendimiento
Pruebas de Despliegue
El Arte De La Depuración
El Proceso de Depuración
Estrategias de Depuración
Tácticas de Depuración
Depuración Automatizada
2. ¿Qué “siguiente error” puede introducirse con la corrección que está a punto de
realizar?
Antes de hacer la corrección, debe evaluarse el código fuente (o, mejor, el diseño)
para valorar el acoplamiento de las estructuras lógica y de datos. Si la corrección
se realizará en una sección altamente acoplada del programa, debe tenerse
especial cuidado cuando se realice algún cambio.
Bibliografía