Pruebas Orientadas a Objeto

Slides:



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

MODELOS ORIENTADOS A OBJETOS
PLANIFICACIÓN DE TESTING
METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Lenguaje Unificado de Modelado
Curso de Java Capitulo 7: Continuación Poo Profesor:
ANÁLISIS DE REQUERIMIENTOS
Tomado de:
Arquitectura CLARO-TECNOTREE
Diseño orientado al flujo de datos
Fundamentos de Ingeniería de Software
CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DESCRIPCION DEL PROBLEMA
Aspectos Avanzados de la Tecnología de Objetos
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Desarrollo Orientado a Objetos con UML
Diagramas de clases Modelan la vista estática del sistema
Profesor: Miguel Angel Vidal
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Fundamentos de Programación
Introducción a la programación Orientada a objetos
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Modelado Arquitectónico
Diseño del Software Diseño de datos Diseño arquitectónico
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
Fundamentos de Programación
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
5.3 APROXIMACIONES AL DISEÑO
ISF5501 Ingeniería de Software
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería del Software
Métricas Técnicas para Sistemas Orientados a Objeto
Ingeniería de software
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Desarrollo de Software Orientado a Objetos (deficiencias)
UNIVERSIDAD LATINA BASES DE DATOS DISEÑO DE BASES DE DATOS (modelos para el diseño)
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
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.
Christian Monrreal Gonzalez Daryl Silverman Aguilar Gone
Clasificación de Diagramas
Diseño de Sistemas.
Ingeniería de Requisitos
Programación IV Desarrollo orientado a Objetos con UML CLASE # 2 Tec. Christian Alexander Martínez Arteaga.
TIPOS DE PRUEBAS DEL SOFTWARE
Relación con otras asignaturas del plan de estudio
Modelan la vista estática del sistema Elementos básicos: Clases Relaciones Objeto: Representación de una entidad discreta (real o abstracta) - Estado:
PROGRAMACIÓN IV INTRODUCCIÓN.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Proceso de desarrollo de Software
La Programación Orientado a Objetos
Bachillerato Ingeniería en Informática Fundamentos de Computación.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Fundamentos de Ingeniería de Software
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.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Verificación y Validación del Software
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Transcripción de la presentación:

Pruebas Orientadas a Objeto

Objetivo El objetivo general de las pruebas orientadas a objeto es encontrar el número máximo de errores con el mínimo esfuerzo; El cual es idéntico al objetivo de las pruebas de software convencional.Pero la estrategia y táctica difiere significativamente en las pruebas OO.

Indicaciones para realizar pruebas La definición de las pruebas deben ampliarse para incluir técnicas de detección de errores aplicados a los modelos AOO y DOO. La estrategia para las pruebas de unidad e integración deben cambiar significativamente. El diseño de casos de prueba deben tener en cuenta las características propias del software orientado a objeto.

Problemas comunes de análisis evitables Se puede crear subclases especiales para acomodar el atributo innecesario o sus excepciones. Una mala interpretación de la definición 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 extraño.

Problemas en el desarrollo predecidles en el análisis Puede ocurrir una asignación impropia de clases a subsistemas y/o tareas durante el diseño del sistema. Se realizaría un esfuerzo de trabajo no necesario para crear el diseño procedimental de las operaciones relacionadas con el atributo innecesario. El modelo de intercambio de mensajes seria incorrecto (puesto que los mensajes deben diseñarse para las operaciones que son extrañas).

Modelos de pruebas AOO y DOO Corrección (exactitud) de los modelos de AOO y DOO: -La notación y sintaxis usada para representar los modelos de análisis y diseño estará vinculada al método especifico de análisis y diseño elegidos para el proyecto . Consistencia de los modelos de AOO y DOO: -Esto puede juzgarse a través de una << consideración 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 módulos individuales, la menor unidad a probar es la clase u objeto encapsulado.Una clase puede contener un cierto numero de operaciones, y una operación particular puede existir como parte de un número de clases diferentes. Prueba de integración en el contexto OO: -Debido a que el software orientado a objeto no tiene una estructura de control jerárquica, las estrategias convencionales de integración ascendente y descendente poseen un significado muy pequeño.Utiliza dos nuevas pruebas : las basadas en hilos y las basadas en uso. Prueba de validación en un contexto OO: -En el nivel de validación o del sistema , los detalles de conexiones de clases desaparecen . La validación del software se centra en las acciones visibles de usuario y salidas del sistema reconocidas por el.

Diseño de casos de prueba para el software OO Implicaciones de los conceptos OO para el diseño de casos de prueba: -Como ya hemos visto, la clase OO es el objetivo para el diseño de los casos de prueba. Debido al encapsulamiemto de atributos y operaciones complica un poco la elaboración de dichas pruebas. Aplicabilidad de métodos convencionales de diseño de casos de prueba: -Los métodos 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 diseñar pruebas que posean una alta probabilidad en la detección de errores posibles .

Diseño de casos de prueba para el software OO El impacto de la programación OO en la realización de pruebas: -Existen varias formas en las que la programación orientada a objetos impacta en la realización 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 jerarquía de clases: - La herencia no obvia la necesidad de ejecución de pruebas completas en todas las clases derivadas. De hecho esto puede complicar el proceso de prueba. Diseño 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.

Métodos 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 métodos asociados con el fin de realizar diferentes secuencias de casos de prueba para dichos métodos. Pruebas de partición a nivel clase: -Las pruebas de partición reducen el numero de casos de prueba necesarios para ejercitar la clase de la manera en la que lo hace la partición equivalente para el software convencional.Las particiones basadas en estados categorizan las operaciones de clases basándose en su habilidad para cambiar de estados.

Diseño de casos de prueba interclases Pruebas de clases múltiples: - 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 próximo 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 transición de estados como el modelo de representar el comportamiento dinámico de una clase.