Está en la página 1de 11

Pruebas Orientadas a

Objeto

Objetivo

El objetivo general de las pruebas orientadas a objeto


es encontrar el nmero mximo de errores con el
mnimo esfuerzo; El cual es idntico al objetivo de
las pruebas de software convencional.Pero la
estrategia y tctica difiere significativamente en las
pruebas OO.

Indicaciones para realizar pruebas


La definicin de las pruebas deben ampliarse
para incluir tcnicas de deteccin de errores
aplicados a los modelos AOO y DOO.
La estrategia para las pruebas de unidad e
integracin deben cambiar significativamente.
El diseo de casos de prueba deben tener en
cuenta las caractersticas propias del software
orientado a objeto.

Problemas comunes de anlisis


evitables

Se puede crear subclases especiales para acomodar el


atributo innecesario o sus excepciones.
Una mala interpretacin de la definicin de las clases
puede conducir a relaciones de clases incorrectas o
innecesarias.
El comportamiento del sistema o sus clases puede
ser impropiamente caracterizado para acomodar el
atributo extrao.

Problemas en el desarrollo
predecidles en el anlisis

Puede ocurrir una asignacin impropia de clases a


subsistemas y/o tareas durante el diseo del sistema.
Se realizara un esfuerzo de trabajo no necesario para
crear el diseo procedimental de las operaciones
relacionadas con el atributo innecesario.
El modelo de intercambio de mensajes seria
incorrecto (puesto que los mensajes deben disearse
para las operaciones que son extraas).

Modelos de pruebas AOO y DOO

Correccin (exactitud) de los modelos de AOO y


DOO:
-La notacin y sintaxis usada para representar los modelos de anlisis y
diseo estar vinculada al mtodo especifico de anlisis y diseo elegidos
para el proyecto .

Consistencia de los modelos de AOO y DOO:


-Esto puede juzgarse a travs de una << consideracin de las relaciones
entre entidades en el modelo. Un modelo inconsistente tiene
representaciones que por una parte no son correctamente reflejadas en
otras partes del modelo>> .

Estrategias de pruebas orientadas a


objeto

Prueba de unidad en el contexto OO:


-En vez de mdulos individuales, la menor unidad a probar es la clase u objeto
encapsulado.Una clase puede contener un cierto numero de operaciones, y una
operacin particular puede existir como parte de un nmero de clases diferentes.
Prueba de integracin en el contexto OO:
-Debido a que el software orientado a objeto no tiene una estructura de control
jerrquica, las estrategias convencionales de integracin ascendente y descendente
poseen un significado muy pequeo.Utiliza dos nuevas pruebas : las basadas en
hilos y las basadas en uso.
Prueba de validacin en un contexto OO:
-En el nivel de validacin o del sistema , los detalles de conexiones de clases
desaparecen . La validacin del software se centra en las acciones visibles de
usuario y salidas del sistema reconocidas por el.

Diseo de casos de prueba para el software


OO

Implicaciones de los conceptos OO para el diseo de casos de prueba:


-Como ya hemos visto, la clase OO es el objetivo para el diseo de los
casos de prueba. Debido al encapsulamiemto de atributos y operaciones
complica un poco la elaboracin de dichas pruebas.
Aplicabilidad de mtodos convencionales de diseo de casos de
prueba:
-Los mtodos de caja-blanca y caja-negra pueden aplicarse a las
operaciones que se definen en una clase.
Pruebas basadas en fallo:
-El objetivo de la prueba basada en fallos dentro de sistemas OO es el
disear pruebas que posean una alta probabilidad en la deteccin de
errores posibles .

Diseo de casos de prueba para el software


OO

El impacto de la programacin OO en la realizacin de pruebas:


-Existen varias formas en las que la programacin orientada a objetos impacta en la
realizacin de las pruebas. Dependiendo del enfoque de la POO: algunos tipos de
errores se tornan menos posibles (no importa para lo que se pruebe), algunos tipos
de errores se tornan mas posibles (importando para lo que se pruebe), aparecen
nuevos tipos de errores .
Casos de prueba y jerarqua de clases:
- La herencia no obvia la necesidad de ejecucin de pruebas completas en todas las
clases derivadas. De hecho esto puede complicar el proceso de prueba.
Diseo de pruebas basadas en escenarios:
- Los resultados de pruebas basadas en errores no capturan dos tipos principales de
errores: (1) especificaciones incorrectas, y (2)interacciones entre
subsistemas.Cuando ocurren errores asociados con especificaciones incorrectas, el
producto no hace lo que desea el cliente. Puede hacer lo incorrecto, o pude omitir
alguna funcionalidad importante.

Mtodos de pruebas aplicables al


nivel de clase

Pruebas aleatorias para clases OO:


- Estas pruebas deben atacar una clase especifica a la vez identificando
todos los mtodos asociados con el fin de realizar diferentes secuencias de
casos de prueba para dichos mtodos.
Pruebas de particin a nivel clase:
-Las pruebas de particin reducen el numero de casos de prueba necesarios
para ejercitar la clase de la manera en la que lo hace la particin
equivalente para el software convencional.Las particiones basadas en
estados categorizan las operaciones de clases basndose en su habilidad
para cambiar de estados.

Diseo de casos de prueba


interclases

Pruebas de clases mltiples:


- Para cada clase cliente , usar la lista de operadores de clase para generar
una serie de consecuencias de pruebas aleatorias, generando mensajes.
- Para cada mensaje que se genera, determina la clase colaboradora y el
operador correspondiente en el objeto servidor.
- Para cada operador en el objeto servidor, determina los mensajes que
este transmite.
- Para cada uno de los mensajes, determina el prximo nivel de
operadores que se invocan e incorporarlos en la secuencia de prueba.
Pruebas derivadas de modelos de comportamiento:
-Se debe analizar el diagrama de transicin de estados como el modelo de
representar el comportamiento dinmico de una clase.

También podría gustarte