Está en la página 1de 23

VI PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE

6.1 PRUEBAS DEL SOFTWARE


Una vez generado el cdigo el software debe ser probado para descubrir el mximo de errores posibles antes de su entrega al cliente. Es probado para descubrir errores cometidos sin darse cuenta al realizar su diseo y construccin La prueba requiere una mayor cantidad del esfuerzo dedicado al proyecto que cualquier otra actividad de ingeniera del software

6.1 PRUEBAS DEL SOFTWARE


OBJETIVOS El ingeniero crea una serie de casos de prueba que intentan "demoler" el software que ha sido construido. Tiene como objetivos: (1) La prueba es un proceso de ejecucin de un programa con la intencin de descubrir un error. (2) Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces. (3) Una prueba tiene xito si descubre un error no detectado hasta entonces.

6.1 PRUEBAS DEL SOFTWARE


OBJETIVOS Por lo tanto hay que disear pruebas que saque a la luz diferentes clases de errores, hacindolo con la menor cantidad de tiempo y esfuerzo. Inclusive tiene como ventaja ver hasta qu punto las funciones parecen funcionar de acuerdo con las especificaciones y cumplir as los requisitos de rendimiento

6.1 PRUEBAS DEL SOFTWARE


PRINCIPIOS Para realizar pruebas efectivas un equipo de software debe efectuar revisiones tcnicas formales y efectivas. Esto elimina muchos errores antes de empezar las pruebas. La prueba comienza al nivel de componentes y trabaja hacia fuera, hacia la integracin de todo el sistema de cmputo. Las pruebas deberan empezar por lo "pequeo" y progresar hacia "lo grande" ( mdulos )

6.1 PRUEBAS DEL SOFTWARE


PRINCIPIOS Diferentes tcnicas de prueba son apropiadas en diferentes momentos. La prueba la dirige el desarrollador del software y en proyectos grandes un grupo independiente de pruebas. Las pruebas deberan planificarse mucho antes de que empiecen La prueba y la depuracin son actividades diferentes, pero ambas se incluyen en la estrategia de pruebas.

6.1 PRUEBAS DEL SOFTWARE


PRINCIPIOS A todas las pruebas se les debera poder hacer un seguimiento hasta los requisitos del cliente No son posibles las pruebas exhaustivas ( imposible ejecutar todas las combinaciones de caminos ) Pasa ser mas eficaces, las pruebas deberan ser realizadas por un equipo independiente

6.1 PRUEBAS DEL SOFTWARE


PRINCIPIOS Psicologicamente constructivas. el analisis y diseno son tareas

El ingeniero se siente orgulloso de lo que acaba de construir. Un error es disenar y ejecutar pruebas que solamente demuestren el buen funcionamiento del programa en lugar de descubrir errores.

6.2 FACILIDAD DE PRUEBA

La facilidad de prueba es la facilidad con que se puede probar un programa de computadora.

6.2 FACILIDAD DE PRUEBA


CARACTERISTICAS Operatividad: cuanto mejor funcione, con mayor eficiencia podra probarse, si el sistema tiene pocos errores al disenarse con calidad, ningn error bloqueara la ejecucin de pruebas Observabilidad: lo que se ve es lo que se prueba, se genera una salida distinta para cada entrada, los estados y variables estn visibles y se pueden consultar durante la ejecucion, un resultado incorrecto se identifica fcilmente, se informa de los errores internos, el cdigo fuente es accesible

6.2 FACILIDAD DE PRUEBA


CARACTERISTICAS Controlabilidad: cuanto mejor se controle el software, mejor se automatizaran y mejoraran las pruebas, se controlan directamente los estados y variables de software y hardware. Todos los resultados posibles se generan con alguna combinacin de entrada, los formatos de entrada y resultados son consistentes y estructurados; las pruebas se pueden especificar, automatizar y reproducir.

6.2 FACILIDAD DE PRUEBA


CARACTERISTICAS Capacidad de descomposicin : controlando el mbito de las pruebas podemos aislar los problemas y llevar a cabo mejores pruebas, al usar modularidad, se pueden probar independientemente. Simplicidad : cuanto menos haya que probar, mas rpido se hara, ( tipos: funcional, estructural y de cdigo ) ej: mnimo de caractersticas para cumplir con los requisitos, arquitectura modular, estandar para facil inspeccion y mantenimiento.

6.2 FACILIDAD DE PRUEBA


CARACTERISTICAS Estabilidad: cuanto menos cambios haya, menores alteraciones habra en la prueba, los cambios son infrecuentes, controlados y no invalidan las pruebas existentes, el software se recupera bien de las fallas. Facilidad de comprensin : cuanta mas informacin tengamos, mas inteligentes sern las pruebas, se entiende el diseo, las dependencias y la documentacin, si son especificas, detalladas y exactos.

6.2 FACILIDAD DE PRUEBA


BUENA PRUEBA si tiene una elevada probabilidad de encontrar un error si no es redundante ( sin repetir ) debe ser la mejor de su clase ( altas probabilidades encontrar errores ) no debe ser ni muy simple ni demasiado compleja

6.3 CASOS DE PRUEBA


CAJA BLANCA Y CAJA NEGRA Hay dos maneras de probar cualquier producto: 1) Si se conoce la funcion especifica para la que se diseno el producto se aplican pruebas que demuestren que cada funcion es plenamente operacional, mientras se buscan los errores de cada funcion. 2) Si se conoce el funcionamiento interno el producto, se aplican pruebas para asegurar que todas las piezas encajen, es decir, que las operaciones internas se realicen de acuerdo con las especificaciones.

6.3 CASOS DE PRUEBA


CAJA BLANCA Y CAJA NEGRA El software debe probarse desde dos perspectivas diferentes: la lgica interna del programa utilizando tcnicas de diseo de casos de prueba de "caja blanca" los requisitos del software utilizando tcnicas de diseo de casos de prueba de "caja negra"

6.3 CASOS DE PRUEBA


CAJA BLANCA Y CAJA NEGRA Las pruebas de caja blanca se basan en un examen cercano al detalle procedural, examinando condiciones y ciclos. La pruebas de caja negra se aplican a la interfaz del software, examinando el aspecto funcional del sistema.

6.3 CASOS DE PRUEBA


CAJA BLANCA Este mtodo obtiene casos de prueba que: * garanticen que se ejercitan por lo menos una vez todos los caminos independientes de cada mdulo. * ejerciten todas las decisiones lgicas en sus vertientes verdadera y falsa. * ejecuten todos los bucles en sus lmites y con sus lmites operacionales. * y ejerciten las estructuras internas de datos para asegurar su validez.

6.3 CASOS DE PRUEBA


CAJA BLANCA Tipos de Prueba: Prueba de la Ruta Basica Pruebas de la estructura de control Prueba de condicion Prueba del flujo de datos Prueba de bucles

6.3 CASOS DE PRUEBA


CAJA NEGRA Es un complemento que intenta descubrir diferentes errores que la otra prueba realiza, tales como: funciones incorrectas ausentes errores de interfaz errores en estructuras de datos en accesos a bases de datos externas errores de rendimiento errores de inicializacin y de terminacin.

6.3 CASOS DE PRUEBA


CAJA NEGRA Tipos de Prueba: Metodos graficos de prueba Particion Equivalente Analisis de valores limite Prueba de tabla ortogonal Pruebas de interfaces graficas Prueba de arquitectura cliente/servidor Pruebas de servidor Pruebas de base de datos Preubas de transaccion Pruebas de comunicacin de red Pruebas de documentacion Pruebas de sistemas de tiempo real

6.4 ESTRATEGIAS DE PRUEBA


Prueba del sistema

Prueba de validacion

Prueba de integracion

Prueba de Unidad

Codigo

Diseno Requisitos

Ingenieria del Sitema

6.4 ESTRATEGIAS DE PRUEBA


1. Nasas The Voyager bug (sent the probe into the sun). 2. The AT&T bug that took out 1/3 of US telephones. 3. The DCS bug that took out the other 1/3 a few months later. 4. The Intel Pentium chip bug (it was software, not hardware). 5. The Ariane V bug.

Cmo fu ? Por qu ? Cunto cost ? Qu se hizo ?

También podría gustarte