Lic. Juan Gabriel Bernal López

Slides:



Advertisements
Presentaciones similares
INTRODUCCIÓN A LA VERIFICACION Y VALIDACION
Advertisements

EL PROCESO DE DESARROLLO DEL SOFTWARE
Int. a la Ingeniería del Software UP 2004
PLANIFICACIÓN DE TESTING
Fundamentos de Diseño de Software INFT.1
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
FUNDAMENTOS DE LAS PRUEBAS DEL SOFTWARE
TÉCNICAS DE PRUEBA DEL SOFTWARE
Pruebas de Unidad y Refactorización
UNIDAD III: CONTROL ESTADÍSTICO DE LOS PRODUCTOS
Laura Patricia Pinto Prieto
Diseño orientado al flujo de datos
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
“ACCIONES CORRECTIVAS Y PREVENTIVAS”
DSOO - María Eugenia Valencia
Modelos de confiabilidad
CONCEPTOS Y PRINCIPIOS DE DISEÑO
CALIDAD EN EL DESARROLLO DE SOFTWARE
Administración de Procesos de Pruebas
Modelo de Desarrollo XP
INGENIERIA DEL SOFTWARE
METODOS DE PRUEBA DEL SOFTWARE
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Requerimientos /Metas:
Actividad 6. Requisitos del software, referente a la estructura y base de datos. M.C. Juan Carlos Olivares Rojas Syllabus May,
Modelo McCall PRESENTA: Liliana Hilario, Anabel peña, Jessica Carbajal, Ricardo Díaz.
DISEÑO DE SOFTWARE 1ª. Parte
Inspecciones de Software
Software Testing Jorge Triñanes Gris (Grupo de Ingeniería de Software) InCo (Instituto de Computación) Facultad de Ingeniería - UdelaR.
ISF5501 Ingeniería de Software
Métricas de calidad de software
PROCESOS INDUSTRIALES
Ciclo de Vida del Software
Calidad y Garantía de Calidad
LA PLANIFICACIÓN DE LA CALIDAD
Ingeniería de Software
Grupo Continental Control de Procesos.
Ingeniería del Software
Conceptos de Gestión y Planificación de Proyectos Software
Ingeniería de Requerimiento
Tema 1: Introducción a la Ingeniería de Software
Importancia en la efectividad del:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Pruebas y La Vida del Ciclo de Desarrollo del Software
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
Las Pruebas del Software y sus Fundamentos
ASIGNACIÓN DE ROLES.
Procesos de Desarrollo de Software
Métricas de calidad de software
TIPOS DE PRUEBAS DEL SOFTWARE
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
Actividad 20. Métodos de prueba en entornos especializados M.C. Juan Carlos Olivares Rojas Syllabus June, 2009.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Introducción. El desarrollo de sistemas de software implica una serie de actividades de producción en las que las posibilidades de que aparezca el fallo.
LA MEJORA DE LOS PROCESOS
MANTENIMIENTO.
problemas de la calidad del software
TEMA: RESPONSABILIDAD DE ERRORES
Carolina Rangel Felipe Montaño Alexis García
INGENIERIA DE SOFTWARE
Verificación y Validación de Software
Modelo de procesos de software
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Productos de Pruebas Hace hambre!! . Las bases. La verificación consiste en corroborar que el programa respeta su especificación, mientras que validación.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
TÉCNICAS DE PRUEBA DEL SOFTWARE
Sistemas de calidad en el desarrollo de software.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Transcripción de la presentación:

Lic. Juan Gabriel Bernal López PRUEBAS DEL SOFTWARE Lic. Juan Gabriel Bernal López

Cuando se desarrolla software se realizan una serie de actividades en la que hay enormes posibilidades de que aparezca el error humano. Los errores pueden presentarse desde el primer momento.

Debido a la imposibilidad humana de trabajar y comunicarse de forma perfecta es necesario acompañar el desarrollo del SW de una actividad que garantice la calidad. La pruebas son un elemento crítico para la garantía de la calidad del SW y representan una revisión final de las especificaciones, el diseño y de la codificación.

No es raro que una organización de desarrollo de SW emplee entre el 30 y el 40 por ciento del esfuerzo total del proyecto en las pruebas. La pruebas de SW para actividades críticas (Control de tráfico aéreo o de reactores nucleares) pueden costar de 3 a 5 veces más que el resto de los pasos de la Ing. De SW juntos.

En la fases anteriores el Ing. Intenta “construir” el SW. Al llegar a la pruebas crea una serie de casos de prueba que intentan “demoler” el SW construido. La pruebas son el paso de la Ing. de SW que se puede ver (psicológicamente) como destructivo en lugar de constructivo.

Los Ing. de SW son por naturaleza constructivos. Las pruebas requieren que se descarten ideas preconcebidas sobre la “corrección” del SW que de acaba de desarrollar y se supere cualquier conflicto de intereses que aparezca cuando se descubran errores.

Existe un mito que dice que si fuéramos realmente buenos programando, no habría errores que buscar. No habría errores. Según el mito existen errores porque somos malos en lo que hacemos y debemos sentirnos culpables por ello. Las pruebas serían un reconocimiento de nuestros fallos e implica una buena dosis de culpabilidad.

¿Deben infundir culpabilidad las pruebas? ¿Son realmente destructivas? NO.

OBJETIVOS DE LAS PRUEBAS La prueba es el proceso de ejecución de un programa con la intención de descubrir un error. Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces. Una prueba tiene éxito si des cubre un error no detectado hasta entonces.

Hay que quitarse la idea, que normalmente tenemos, de que una prueba tiene éxito si no descubre errores. El objetivo es diseñar pruebas que sistemáticamente saquen a la luz diferentes clases de errores, haciéndolo con la menor cantidad de tiempo y esfuerzo.

Como ventaja secundaria, la prueba demuestra hasta qué punto la funciones del SW trabajan de acuerdo con las especificaciones. Los datos recogidos indican en cierta medida la fiabilidad y calidad del SW como un todo. La prueba no puede asegurar la ausencia de defectos; sólo puede demostrar que existen defectos en el SW.

PRINCIPIOS DE LAS PRUEBAS A todas las pruebas se les debería poder hacer un seguimiento hasta los requisitos del cliente Las pruebas deberían planificarse mucho antes de que empiecen. El principio de Pareto es aplicable a las pruebas del SW. (80% de los errores en 20% de los módulos)

PRINCIPIOS DE LAS PRUEBAS Las pruebas deberían empezar por “lo pequeño” y progresar hacia “lo grande”. No son posibles las pruebas exhaustivas. Para ser más eficaces la pruebas deberían ser realizadas por un equipo independiente.

FACILIDAD DE PRUEBA Es la facilidad con la que se puede probar un SW.

Caraterísticas que llevan a un SW. Fácil de probar. OPERATIVIDAD. Cuanto mejor funcione, más eficientemente se puede probar. -Pocos errores - Ningún error bloquea las pruebas.

OBSERVABILIDAD Lo que ves es lo que pruebas. El código fuente es accesible. Se informa automáticamente de los errores internos. Un resultado incorrecto se identifica fácilmente. Los errores internos se detectan automáticamente a través de mecanismos de autocomprobación.

CONTROLABILIDAD Cuanto mejor podamos controlar el SW , más se puede automatizar y optimizar. El Ing. De pruebas puede controlar directamente los estados y variables del SW y HW. Las pruebas pueden especificarse, automatizarse y reproducirse convenientemente.

CAPACIDAD DE DESCOMPOSICIÒN. Controlando el ámbito de las pruebas, podemos aislar más rápidamente los problemas y llevar a cabo mejores pruebas. SW. Construido en módulos. Los módulos se pueden probar independientemente.

SIMPLICIDAD Cuanto menos haya que probar, más rápidamente podremos probarlo. Simplicidad funcional (Características mínimas para cumplir los requisitos) Simplicidad Estructural (Arquitectura modularizada) Simplicidad del código.

ESTABILIDAD Cuanto menos cambios, menos interrupciones a las pruebas. Cambios infrecuentes. Cambios controlados. El SW se recupera bien de lo fallos.

FACULIDAD DE COMPRENSIÓN Cuanto más información tengamos, más inteligentes serán las pruebas. Entender perfectamente el diseño. Se ha entendido la dependencia entre os componentes. Se conocen los cambios en el diseño. La documentación es instantáneamente accesible, está bien organizada, es específica, detallada y exacta.

ATRIBUTOS DE UNA BUENA PRUEBA Tiene una alta probabilidad de encontrar un error. No debe ser redundante. Debería ser “la mejor de la cosecha” No debe ser ni demasiado sencilla ni demasiado compleja.

Referencia Pressman, Roger. (2001). Ingeniería del Software.