Vous êtes sur la page 1sur 23

Pruebas del diseo del

software

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Desde el punto de vista procedimental

UNA ESTRATEGIA DE PRUEBA DEL SW

Etapas de prueba del SW

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

UNA ESTRATEGIA DE PRUEBA DEL SW

La prueba en el contexto de espiral

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Contenidos

Introduccin
Error
Pasos
Verificacin & Validacin
Mtodos de pruebas
Tipos de pruebas
Actividades de pruebas

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Introduccin

Se verifica el resultado de la implementacin probando


cada build -internos e intermedios- y la release.
Objetivos:

Planear las pruebas requeridas en cada iteracin, incluyendo


pruebas de integracin y de sistema.

Integracin: para cada build, estilo caja blanca.

Sistema: al final de cada iteracin. Comportamiento observable


externamente.

Disear e implementar las pruebas, creando casos de prueba,


procedimientos de prueba (cmo hacerlos) y creando
componentes de prueba ejecutables para automatizar las pruebas.
Realizar las pruebas y manejar sistemticamente los resultados de
las mismas.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Error

Un error software existe cuando el software


no hace lo que el usuario espera que haga,
acordado previamente en la especificacin de
requisitos.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Pasos

Los ing. de pruebas realizan el plan de pruebas para cada


iteracin (esfuerzo de pruebas a realizar).
Describen los casos de prueba y los procedimientos de
prueba a realizar.
Si procede, los ing. de componentes crean los
componentes de prueba para automatizar las pruebas.
Los probadores de sistema e integracin prueban cada
build y anotan los defectos encontrados.
Los resultados se pasan a los ing.de pruebas para que
evalen los resultados de las pruebas y a otros flujos como
diseo e implementacin para subsanar los defectos.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Verificacin & Validacin

Verificacin:

Se ha construido el sistema correctamente?

Validacin:

se ha construido el sistema correcto?

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Diseo de casos de prueba.


Enfoques principales

Pruebas de Software
Escuela Politcnica Superior de Ingeniera
Departamento de Ingeniera Informtica (DII)

Mtodos de pruebas (I): caja blanca

Comportamiento interno y estructura del


programa.
Se ejecutan todas las sentencias al menos
una vez
Se navega por todos los caminos
independientes
Realista: es imposible.
Tcnicas:

Prueba de interfaz

Anlisis del flujo de datos a travs de las interfaces.

Prueba de estructuras de datos locales


Prueba del camino bsico

Definicin de un conjunto bsico de caminos de


ejecucin usando una medida calculada previamente
de la complejidad
lgica del mdulo (complejidad
Escuela Politcnica
Superior de Ingeniera
Departamento
de Ingeniera Informtica (DII)
ciclomtica).

Mtodos de pruebas (y II): caja


negra

Considera el SW como una caja negra sin


tener en cuenta los detalles.
Los datos de entrada han de generar una
salida en concordancia con las
especificaciones.
Tcnicas:

Particin de equivalencia

Divisin de la entrada de un programa en clases de


datos de las que se pueden derivar casos de prueba
para reducirlos.

Anlisis de valores lmite

Probar los lmites de cada clase de equivalencia.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Tipos de pruebas (I): unitarias

Prueba de cada mdulo o clase del programa


de manera que cumpla unitariamente el caso
de uso que implementa.
Realizada por el ingeniero de desarrollo del
caso de uso.
Ventajas:

Error ms localizado.
Se pueden probar varios mdulos simultaneamente.

Mtodo empleado: caja blanca.


En algunos casos se pueden crear mdulos
sencillos de prueba para probar mdulos con
alta cohesin.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Tipos de pruebas (II): de


integracin

Integracin de mdulos en subsistemas.


Mtodo: caja negra -blanca a veces-.
Tipos:

No incremental (BIG BANG): todo a la vez :(


Incremental.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Tipos de pruebas (III): de


validacin

Comprobacin de que se cumplen todos los


requisitos.
Dos partes:

Validacin por parte del usuario.


Utilidad, facilidad de uso y ergonoma de la GUI.

Tipos:

Pruebas Alfa: realizadas por los desarrolladores en


el entorno de usuario.
Pruebas Beta: realizadas por el usuario.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Tipos de pruebas (IV): de sistemas

Se prueba el sistema integrado en su entorno


(HW & SW).
Consta de pruebas de:

interfaces externas
volumen
funcionamiento
recuperacin
seguridad
resistencia
rendimiento/comportamiento
fiabilidad
documentacin

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Tipos de pruebas (y V): de


aceptacin

ltimo paso antes de la entrega formal del


SW al cliente.
Se realiza normalmente en el entorno del
usuario.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividades de Pruebas

Planear las pruebas.


Disear pruebas.
Implementar pruebas.
Realizar pruebas de integracin.
Evaluar pruebas.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Planear las pruebas

Objetivos:

Describir una estrategia de pruebas (p.e. cuantos casos de prueba


sern automatizados, con qu tcnicas, etc.)
Estimar los recursos precisos.

Planificar el esfuerzo.

Las entradas son los casos de uso, el modelo de diseo,


etc.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Disear pruebas (I)

Objetivos:

Pruebas de integracin:

Identificar y describir los casos de prueba para cada build.


Identificar y estructurar los procedimientos de prueba
especificando como realizar los casos de prueba.
Chequear que las interacciones reales entre objetos son las
especificadas en las realizaciones de los casos de uso.

Pruebas de sistemas:

Probar casos de uso bajo diferentes condiciones (de hardware, de


carga, de nmero de actores, con diferentes tamaos de base de
datos) y combinaciones.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Disear pruebas (y II)

Pruebas de regresin:

Algunos casos de prueba de previas builds podrn usarse en la


actual para asegurar que las cosas que funcionaban en la build
anterior lo siguen haciendo.

A veces los casos de prueba no podrn ser reutilizados


directamente.

A la hora de disear procedimientos de prueba, deben


tratar de reutilizarse lo ms posible (por ejemplo
especificando un nico procedimiento para partes
comunes de varios casos de uso).

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Implementar pruebas

Crear componentes de prueba que puedan automatizar los


procesos de prueba (p.e generadores de carga).

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Realizar pruebas de


integracin

Si existe algn fallo en la batera de pruebas realizada, es


necesario notificarlo a los ingenieros de componentes
cuyos componentes no estn funcionando, y a los
ingenieros de pruebas para que puedan evaluar el
resultado global de las pruebas.

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Actividad: Evaluar pruebas

El objetivo es evaluar el esfuerzo de pruebas durante la


iteracin.
Bsicamente se usan dos mtricas:

Completitud de las pruebas: % de los casos de prueba que se han


ejecutado y % del cdigo que se ha probado.

Fiabilidad: se basa en analizar los defectos descubiertos y las


tendencias que puedan extraerse de ellos (p.e una parte que falla
demasiadas veces, o una tendencia general a que se produzcan
situaciones anmalas bajo ciertas situaciones de carga).

Escuela Politcnica Superior de Ingeniera


Departamento de Ingeniera Informtica (DII)

Vous aimerez peut-être aussi