Aspectos estratégicos para las pruebas de SW_Tarea Ing. de SW_9-5-2013

Embed Size (px)

Citation preview

Diapositiva 1

Aspectos estratgicos para las pruebas de softwarePRUEBASAspectos estratgicos para las pruebas de software Un enfoque estratgico para las pruebas del software Aspectos estratgicos de un software Prueba de Unidad Prueba de Integracin Prueba de Validacin Prueba del Sistema Prueba en Paralelo

ContenidoAspectos estratgicos para las pruebas de softwareUn enfoque estratgico para las pruebas del software

Integra las tcnicas de diseo de casos de prueba en una serie de pasos bien planificados que dan como resultado una correcta construccin del software.

Tambin, describe un mapa con los pasos que hay que llevar a cabo como parte de la prueba, cuando se debe planificar y realizar esos pasos, cuanto esfuerzo, tiempo y recursos se van a requerir.

Aspectos estratgicos para las pruebas de softwareAspectos estratgicos de un software

Las pruebas comienzan a nivel de modulo y trabajan hacia fuera.

Segn el momento son apropiadas diferentes tcnicas de prueba.

La prueba la lleva a cabo el responsable del desarrollo del SW.

Aspectos estratgicos para las pruebas de softwareLa verificacin se refiere al conjunto de actividades que asegura que el software implementa adecuadamente una funcin especfica.La validacin se refiere a un conjunto diferente de actividades que aseguran que el software construido se ajusta a lo requerimientos del cliente.

Bohem, lo define de otra forma:Verificacin Estamos construyendo el producto correctamente? Validacin Estamos construyendo el producto correcto?

Prueba de unidad

La prueba de unidad centra el proceso de verificacin en la menor unidad del diseo del software(Mdulo). Aqu se prueban los caminos de control importantes, con el fin de descubrir errores dentro del mbito de un mdulo.Consideraciones sobre la prueba de unidad:1.Se prueba la interfaz del mdulo2.Se examinan las estructuras de datos locales3.Se prueban las condiciones lmite4.Se ejercitan todos los caminos independientes5.Se prueban todos los caminos de manejo de errores.Antes de iniciar cualquier otra prueba es preciso probar el flujo de datos de la interfaz del mdulo.Se deben disear casos de prueba para detectar errores debidos a clculos incorrectos comparaciones incorrectas o flujos de control inapropiados.

QU ERRORES SON LOS MS COMUNES DURANTE LA PRUEBA DE UNIDAD :Procedencia aritmtica incorrecta mal aplicada Operaciones de modo mezcladas.Inicializaciones incorrectas.Falta de precisin.Representacin incorrecta de una expresin.

Prueba de integracin

La prueba de integracin es una tcnica sistemtica para construir una estructura del programa mientras que, al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interaccin.La integracin incremental es la anttesis del enfoque del "big bang". El programa se construye y se prueba en pequeos fragmentos en los que los errores son mas fciles de aislar y corregir, es mas probable que se puedan probar completamente las interfaces y se puede aplicar un enfoque de prueba sistemtica.

Si todos funcionan bien Por qu dudar de que no funcionen todos juntos?

La prueba de Integracin es una tcnica sistemtica para construir la estructura del programa mientras que al mismo tiempo, se llevan a cabo pruebas para detectar errores asociados con la interaccin. TIPOS DE INTEGRACIN.La primera es no incremental big bang. Se combinan todos los mdulos por anticipado, se prueba todo el producto.La segunda es una integracin incremental en donde se desarrollan mdulos pequeos y funcionales que hacen que los errores sean ms fcil de aislar y corregir.

INTEGRACIN DESCENDENTE. Es una estrategia de integracin incremental a la construccin de la estructura de programas, en cual se integran los mdulos movindose en direccin hacia abajo por la jerarqua de control comenzando con el mdulo principal.

Los mdulos subordinados al mdulo de control principal se incorpora en la estructura, de forma primero-en-profundidad, primero-en-anchura

M1M2M3M4M5M6M7M8M3M4M6M6M3M7M4M7INTEGRACIN ASCENDENTE. Es un modelo de integracin no incremental, en donde la construccin del diseo empieza de los mdulos atmicos (es decir, mdulos de los niveles mas bajos de la estructura del programa). Dado que los mdulos se integran de abajo hacia arriba, el proceso requerido de los mdulos subordinados siempre est disponible y elimina la necesidad de resguardos. LA PRUEBA DE REGRESIN.

Cada vez que se aade un nuevo modulo como parte de una prueba de integracin el software cambia.

La prueba de regresin es volver a ejecutar un subconjunto de pruebas que se han llevado a cabo anteriormente para asegurarse de que los cambios no han propagado efectos colaterales no deseados.

PRUEBA DE HUMO

La prueba de humo es un mtodo de prueba de integracin que es comnmente utilizada cuando se ha desarrollado un software empaquetado. Es diseado como una mecanismo para proyectos crticos por tiempos, permitiendo que el equipo de software valore su proyecto sobre una base slida.

Prueba de validacin

La validacin puede definirse de muchas formas, pero una simple definicin es que la validacin se consigue cuando el software funciona de acuerdo con las expectativas razonables del cliente, las cuales estn definidas en la Especificacin de Requisitos del Software.

Prueba de validacin

Criterios para la prueba de validacinUna vez que se procede con cada caso de prueba de validacin, puede darse una de las dos condiciones siguientes:Las caractersticas de funcionamiento o de rendimiento estn de acuerdocon las especificaciones y son aceptables.Se descubre una desviacin de las especificaciones y se crea una lista de deficiencias.Revisin de la configuracinLa intencin de la revisin es asegurarse de que todos los elementos de la configuracin del software se han desarrollado apropiadamente, se han catalogado y estn suficientemente detallados para soportar la fase de mantenimiento durante el ciclo de vida del software, a veces se denomina auditoria.

Prueba de validacin

Pruebas alfa y betaCuando se construye software a medida para un cliente, se llevan a cabo una serie de pruebas de aceptacin para permitir que el cliente valide todos los requisitos.La prueba alfa: se lleva a cabo, por el cliente, en el lugar de desarrollo. Se usa el software de forma natural con el desarrollador como observador del usuario y registrando los errores y problemas de uso. Las pruebas alfa se llevan a cabo en un entorno controlado.La prueba beta: se lleva a cabo por los usuarios finales del software en los lugares de trabajo de los clientes. La prueba beta es una aplicacin "en vivo del software en un entorno que no puede ser controlado por el desarrollador.El cliente registra todos los problemas que encuentra durante la prueba beta e informa a intervalos regulares al desarrollador.

Prueba del sistema

Un problema tpico de la prueba del sistema es la "delegacin de culpabilidad".Prueba de recuperacinLa prueba de recuperacin es una prueba del sistema que fuerza al fallo del software de muchas formas y verifica que la recuperacin se lleva a cabo apropiadamente.Prueba de seguridadLa prueba de seguridad intenta verificar que los mecanismos de proteccin incorporados en el sistema lo protegern, de hecho, de accesos impropios. Con el tiempo y recursos suficientes, una buena prueba de seguridad terminar por acceder al sistema, el objetivo es hacer que el coste de la entrada ilegal sea mayor que el valor de la informacin contenida.

Prueba del sistema

Prueba de resistencia (Stress)Las pruebas de resistencia estn diseadas para enfrentar a los programas con situaciones anormales.La prueba de resistencia ejecuta un sistema de forma que demande recursos en cantidad, frecuencia o volmenes anormales.Una variante de la prueba de resistencia es una tcnica denominada prueba de sensibilidad. La prueba de sensibilidad intenta descubrir combinaciones de datos dentro de una clase de entrada vlida que pueda producir inestabilidad o un proceso incorrecto.Prueba de rendimientoLa prueba de rendimiento esta diseada para probar el rendimiento del software en tiempo de ejecucin dentro del contexto de un sistema integrado. Las pruebas de rendimiento, a menudo, van emparejadas con las pruebas de resistencia, y frecuentemente, requieren instrumentacin tanto del software como de hardware.

Implantacin (conversin)

Por lo general, al hablar de modelos de desarrollo de software se considera cuatro grandes fases: Anlisis, diseo, codificacin y prueba. Sin embargo, desde un punto de vista sistmico, se debe considerar 2 fases adicionales: la implantacin (conversin) y la produccin y mantenimiento

Implantacin (conversin)

La implantacin (conversin) es el proceso de cambiar desde un sistema antiguo hacia un nuevo sistema, que no es otra cosa que alimentar de datos al nuevo sistema, tomando en cuenta que hablar de un sistema antiguo incluye sistemas de carcter manual. Existen bsicamente cuatro estrategias que permiten que este proceso se realice de forma eficiente y son:En paralelo: Cuando se utiliza ambos sistemas al mismo tiempo hasta que el nuevo sistema se muestre estable. Este esquema es ms seguro y permite realizar comparaciones de resultados, pero se debe considerar que el nuevo sistema tal vez contempla procesos que el anterior no tena y que se requiere el doble de tiempo.Cambio directo: Cuando se determina que el nuevo sistema debe reemplazar por completo al anterior y se usa el mismo en vez del otro para el desarrollo de actividades diarias. Esta estrategia es la ms riesgosa pero obliga a que la organizacin acepte el cambio.

Implantacin (conversin)

Estudio piloto: Cuando se introduce el nuevo sistema en un rea limitada de la organizacin hasta probar la funcionalidad del mismo, luego de lo cual se propaga el sistema al resto de la organizacin. Este tipo de estrategia presente un nivel de riesgo intermedio, pero su eficiencia depende de la correcta seleccin del rea de prueba.Por fases: Cuando el sistema es introducido en la organizacin en etapas basadas en las funciones del mismo o las reas de la organizacin.A ms de determinar una estrategia de conversin, es importante contar con:Plan de conversin: Que determine el calendario de actividades que se requieren para instalar el nuevo sistema;Documentacin: Tcnica y de usuario que determine de forma clara y precisa el funcionamiento y uso del sistema; y,Esquema de capacitacin: Que determine los mecanismos de capacitacin de uso del sistema, en funcin de los niveles de uso y acceso, nmero de participantes, nmero de instructores y materiales necesarios.

Evaluacin Formativa

Seleccione la alternativa correcta:

1. La Prueba de unidad:

a) Centra el proceso de verificacin en la mayor unidad del diseo del software: el componente software o mdulo.b) Centra el proceso de verificacin en la menor unidad del diseo del software: el componente software o mdulo.c) No centra el proceso de verificacin en la menor unidad del diseo del software: el componente software o mdulo

2. La Prueba de integracin:

a) Es una tcnica no sistemtica para construir una estructura del programa mientras que, al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interaccin.b) Es una tcnica sistemtica para construir una estructura del programa para que, despus de un lapso de tiempo, se lleva a cabo pruebas para detectar errores asociados con la interaccin.c) Es una tcnica sistemtica para construir una estructura del programa mientras que, al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interaccin.

Evaluacin Formativa

3. La Prueba de validacin:

a) Puede definirse de muchas formas, pero una simple definicin sera cuando el software funciona de acuerdo con las expectativas razonables del cliente, las cuales estn definidas en la Especificacin de Requisitos del Software.b) Puede definirse de muchas formas, pero una simple definicin sera cuando el software funciona de acuerdo con las expectativas razonables del cliente, las cuales estn definidas en la Etapa de Diseo del Software.c) Puede definirse de muchas formas, pero una simple definicin es que la validacin se consigue cuando el software funciona de acuerdo con las expectativas razonables del cliente, las cuales estn definidas en la Etapa de Mantencin del Software.4. La Prueba del sistema:a) Est Constituida por una serie de pruebas diferentes cuyo propsito es ejercitar profundamente el sistema (Pruebas de recuperacin, de seguridad, de resistencia y de rendimiento)b) Est Constituida por una prueba cuyo propsito es ejercitar profundamente el sistema c) Est Constituida por una serie de pruebas diferentes cuyo propsito es desestabilizar profundamente el sistema.

BIBLIOGRAFA:Roger S. Pressman, (2005). Ingeniera del Software: Un Enfoque Prctico (6taed.), Mxico, McGraw-Hill