Está en la página 1de 19

PRUEBAS DE SOFTWARE

Control de Calidad del Software

Pruebas de Unidad

ndice de la fiabilidad del software:


se comporta de acuerdo a las especificaciones y requisitos de rendimiento.
La prueba no puede asegurar la ausencia de defectos: slo puede demostrar que existen defectos en el software.

No es una actividad secundaria:

30-40% del esfuerzo de desarrollo En aplicaciones crticas (p.ej. control de vuelo, reactores nucleares), de 3 a 5 veces ms que el resto de pasos juntos de la ingeniera del software! El coste aproximado de los errores del software (bugs) para la economa americana es el equivalente al 0,6% de su PIB, unos 60.000 millones de dlares Evitar bichos puede ser un gran negocio!

Pruebas de Unidad

A todas las pruebas se les debera poder hacer un seguimiento hasta los requisitos de los clientes (trazabilidad). Las pruebas deberan planificarse antes de que empiecen. El principio de Pareto es aplicable a la prueba del software (donde hay un defecto, hay otros). Las pruebas deberan empezar por lo pequeo y progresar hacia lo grande. No son posibles las pruebas exhaustivas. Para ser ms efectivas, las pruebas deberan ser conducidas por un equipo independiente. Se deben evitar los casos de prueba no documentados ni diseados con cuidado. No deben realizarse planes de prueba suponiendo que prcticamente no hay defectos en los programas y, por tanto, dedicando pocos recursos a las pruebas.

Pruebas de Unidad

Se concentra en el esfuerzo de verificacin de la unidad ms pequea del diseo del software: el componente o mdulo del software.
Las pruebas de unidad se concentran en la lgica del procesamiento interno. Este tipo de prueba se puede aplicar en paralelo a varios componentes.

Pruebas de Integracin

Si todo funciona bien individualmente, por qu dudan que funcione cuando se une? La prueba de integracin es una tcnica sistemtica para construir la arquitectura del software, mientras, al mismo tiempo, se aplican las pruebas para descubrir errores asociados con la interfaz. El objetivo es tomar componentes a los que se aplic una prueba de unidad y construir una estructura de programa que determine el diseo. A menudo se tiende a intentar una integracin que no sea incremental (enfoque big bang), se combinan todos los componentes por anticipado, se prueba todo el programa como un todo.

Pruebas de Validacin

Las pruebas de validacin empiezan tras la culminacin de la prueba de integracin, cuando se han ejercitado los componentes individuales. Se ha terminado de ensamblar el software como paquete y se han descubierto y corregido los errores de interfaz.
La prueba se concentra en las acciones visibles para el usuario y en la salida del sistema que ste puede reconocer. La validacin se define de una forma simple en que se alcanza cuando el software funciona de tal manera que satisface las expectativas razonables del cliente (especificacin de requisitos-criterios de validacin.

Pruebas de Validacin
Criterios de la prueba de validacin

La validacin del software se logra mediante una serie de pruebas que demuestren que se cumple los requisitos.
Un plan de prueba delinea la clase de pruebas que se aplicarn y un procedimiento de prueba define los casos de prueba especficos. Despus de que se ha dirigido cada caso de prueba de validacin, existir dos condiciones posibles: 1) La caracterstica de funcionamiento o desempeo cumple con la especificacin y se la acepta. 2) se descubre una desviacin de la especificacin y se crea una lista de deficiencias.

Pruebas de Validacin
Revisin de la configuracin

Es un elemento importante del proceso de validacin. So objetivo es asegurar que todos los elementos de la configuracin del software se hayan desarrollado apropiadamente, estn catalogados y tengan el detalle suficiente para reforzar la fase de soporte del ciclo de vida del software.

Pruebas del Sistema

Al final del desarrollo el software se incorpora a otros elementos del sistema (hardware, personas, informacin) y se realiza una serie de pruebas de integracin del sistema y de validacin. Estas pruebas estn ms all del alcance del proceso del software y no las realizan nicamente los ingenieros de software. Sin embargo, los pasos dados durante el diseo y la prueba del software mejorarn en gran medida la probabilidad de tener xito en la integracin del software del sistema mayor.

Pruebas del Sistema


Prueba de seguridad La interrupcin abarca un amplio rango de actividades: hackers

La prueba de seguridad comprueba que los mecanismos de proteccin integrados en el sistema realmente lo protejan de irrupciones inapropiadas. Durante la prueba de seguridad quin la aplica desempea el papel del individuo que desea entrar en el sistema.

Prueba de Interfaces Grficas de Usuario (GUI, Graphical User Interface)

Uso de una lista de chequeo preestablecida (ver (Pressman 98), p.319): Para ventanas: Se abrirn las ventanas mediante rdenes basadas en el teclado o en un men? Se puede ajustar el tamao, mover y desplegar la ventana? Se regenera adecuadamente cuando se escribe y se vuelve a abrir? ... Para mens emergentes y operaciones con el ratn: Se muestra la barra de men apropiada en el contexto apropiado? Es correcto el tipo, tamao y formato del texto? Si el ratn tiene varios botones, estn apropiadamente reconocidos en el contexto? ... Entrada de datos: Se repiten y son introducidos adecuadamente los datos alfanumricos? Funcionan adecuadamente los modos grficos de entrada de datos? (p.e. barra deslizante) Se reconocen adecuadamente los datos no vlidos? Son inteligibles los mensajes de entrada de datos?

Pruebas del Sistema


Prueba de resistencia Las pruebas de resistencia estn diseadas para confrontar los programas con situaciones anormales.

La prueba de resistencia ejecuta un sistema de tal manera que requiera una frecuencia o un volumen anormal de recursos
La persona que aplica la prueba tratar de sobrecargar el programa. Una variante de la prueba de resistencia es una tcnica denominada prueba de sensibilidad. Las pruebas de sensibilidad tratan de descubrir combinaciones de datos dentro de las clases de entrada vlidas que causen inestabilidad o procesamiento inapropiado.

Pruebas del Sistema


Prueba de desempeo La prueba de desempeo est diseada para probar el desempeo del software en tiempo de ejecucin dentro del contexto de un sistema integrado.

La prueba de desempeo se aplica en todos los pasos del proceso de la prueba, incluso al nivel de la unidad, el desempeo de un mdulo individual debe evaluarse mientras se realizan las pruebas.

Sin embargo no es sino hasta que se encuentren totalmente integrados todos los elementos del sistema que es posible asegurar el verdadero desempeo del sistema.

Resumen

1. Prueba de unidad: es la prueba de cada mdulo, que normalmente realiza el propio personal de desarrollo en su entorno 2. Prueba de integracin: con el esquema del diseo del software, los mdulos probados se integran para comprobar sus interfaces en el trabajo conjunto 3. Prueba de validacin: el software totalmente ensamblado se prueba como un todo para comprobar si cumple los requisitos funcionales y de rendimiento, facilidad de mantenimiento, recuperacin de errores, etc. 4. Prueba del sistema: el sw. ya validado se integra con el resto del sistema (rendimiento, seguridad, recuperacin y resistencia) 5. Prueba de aceptacin: el usuario comprueba en su propio entorno de explotacin si lo acepta como est o no

Relacin entre productos de desarrollo y niveles de prueba

Requisitos de usuario Especificacin de requisitos Diseo modular Especificacin lgica del mdulo

Pruebas de aceptacin

Pruebas de sistema

Pruebas de integracin Pruebas de unidad

(Piattini et al. 96)

Cdigo

TCNICAS DE PRUEBA DEL SOFTWARE

Pruebas de Caja Negra y Caja Blanca

Pruebas de Caja Negra y Caja Blanca


Hay dos maneras construido: de probar cualquier producto

1. Si se conoce la funcin especfica para la que se diseo el producto, se aplican pruebas, que demuestren que cada funcin es plenamente operacional, mientras se buscan los errores de cada funcin. (Prueba de Caja Negra) 2. Si se conoce el funcionamiento interno del producto, se aplican pruebas para asegurarse de que todas las piezas encajan, es decir, que las operaciones internas se realizan de acuerdo a las especificaciones, y que se han probado todos los componentes internos de manera adecuada. (Prueba de Caja Blanca)

Pruebas de Caja Negra y Caja Blanca

Las pruebas de caja negra son las que se aplican a la interfaz del software. Una prueba de caja negra examina algn aspecto funcional de un sistema que tiene poca relacin con la estructura lgica interna del software. La prueba de caja blanca del software se basa en un examen cercano al detalle procedimental. En la prueba de caja blanca se prueban las rutas lgicas del software y la colaboracin entre componentes, al proporcionar casos de prueba que ejerciten conjuntos especficos de condiciones, bucles o ambos.

También podría gustarte