Mock objects Rosemary Torrico Bascopé. Introducción Las Pruebas de unidad han sido aceptadas como la “mejor práctica” para el desarrollo de software.

Slides:



Advertisements
Presentaciones similares
Como crear y usar una rúbrica
Advertisements

ANALISIS Y DISEÑO ORIENTADO A OBJETOS
DIAGRAMA DE COMPONENTES
Jorge Everardo Aguilar Morales ASOCIACIÓN OAXAQUEÑA DE PSICOLOGÍA A. C ETAPAS DE UNA EXPERIENCIA DE APRENDIZAJE.
FUNDAMENTOS DE LAS PRUEBAS DEL SOFTWARE
Pruebas de Unidad y Refactorización
METRICAS DE PROCESO Y PROYECTO
Software(s) para analizar trafico de red y ancho de banda
PRUEBAS DE HIPÓTESIS Mercedes de la Oliva.
Presentación del estado del arte
PROCEDURES AND IMPLEMENTATION EXPERIMENTAL ECONOMICS.
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
Unit Testing with Mock Objects Angel Núñez / snahider.blogspot.com.
INTRUCCIÓN TECNICA COPIAS DE SEGURIDAD TALLERES ALMERIA S.A.U
Representación del Conocimiento
Modelado Arquitectónico
Introducción a TDD. Enfoque de la Charla Presentar un ejemplo de principio a fin de una funcionalidad de un proyecto. Sin profundizar en las herramientas.
Semana 5 Subprogramas..

SOFTWARE DE SIMULACION
Modelado matemático de sistemas de control
INTRODUCCIÓN A LA SIMULACIÓN DE EVENTOS DISCRETOS
DISEÑO DE SOFTWARE 1ª. Parte
(Organización y Manejo de Archivos)
ETAPAS DE UNA EXPERIENCIA DE APRENDIZAJE
Material de apoyo Unidad 4 Estructura de datos
Departamento de Ingeniería en Obras Civiles
Programación orientada a objetos Capítulo 6 Objetos con buen comportamiento.
LENGUAJES DE PROGRAMACIÓN
Testing Rosemary Torrico Bascope. Software Quality Assurance SQA Garantiza la calidad de Software Se aplica la calidad a todo el proceso desde la concepción.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Metodología para solución de problemas
Ingeniería del Software
Ingeniería en Sistemas de Información
Hecho por santiago cespedes david hurtado 8.1
Test-Driven Development Juan Carlos Olivares Rojas MSN:
INGENIERÍA DE SOFTWARE
 ¿Qué es una pequeña empresa? ¿Qué es una pequeña empresa?  Decisiones sobre ¿qué tipo de la pequeña empresa para que de inicio Decisiones sobre ¿qué.
Introducción a las pruebas del software.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
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.
Las Pruebas del Software y sus Fundamentos
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Presentación del Sistema Versión Final del Producto.
Cap. 8 Energía Potencial Conservación de Energía
TIPOS DE PRUEBAS DEL SOFTWARE
problemas de la calidad del software
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
ADMINISTRACIÓN DE REDES SIZING de Servidores.
Carolina Rangel Felipe Montaño Alexis García
NORMA INTERNACIONAL DE AUDITORÍA 530
Proceso de desarrollo de Software
El Antivirus Cloud Computing es un antivirus que, al estar en la nube, se actualiza de forma más rápida con todas las novedades y que no consume nuestros.
ANTIVIRUS EN LA NUBE. CONCEPTO: Cloud Computing supone trabajar directamente en la Nube. De ahí que, en base a este concepto, se haya desarrollado todo.
ANTIVIRUS CLOUD COMPUTING. Los antivirus cloud o antivirus en la nube, son antivirus que aplican a los antivirus el concepto cloud computing. Instalan.
Este sistema tecnológico utiliza la Nube para liberar al usuario de toda la carga de procesamiento y almacenamiento. Todo se hace desde y en la Nube.
UNIVERSIDAD LATINA (UNILA)
ANTIVIRUS CLOUD COMPUTING Zamudio Julieta Antonella.
¿Desarrollo de Software a Medida o Software Comprado?
¿Compra o Desarrollo de Software? Compra de Software AlternativasVentajasDesventajas Compra de software de terceros adaptado -Mantiene la forma de.
Contar con las licencias que avalen el uso del software. Imposibilidad de copia y modificación. Contar con los manuales y la asesoría directamente.
Conveniencias entre comprar o desarrollar un software a medida.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Simulacion. Simulación Es la construcción de modelos informáticos que describen la parte esencial del comportamiento de un sistema de interés, así como.
REGRESIÓN LINEAL SIMPLE TEMA INTRODUCCIÓN Determinar la ecuación de regresión sirve para: – Describir de manera concisa la relación entre variables.
Curso de programación Visual Chart 6 (1ªEd.)
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Testing en Python Por Cristian Suárez Sistemas Operativos 1 Año 2010.
TEMA 7 ANÁLISIS DE LOS RESULTADOS TEMA 7 ANÁLISIS DE LOS RESULTADOS.
Transcripción de la presentación:

Mock objects Rosemary Torrico Bascopé

Introducción Las Pruebas de unidad han sido aceptadas como la “mejor práctica” para el desarrollo de software. Si se escribe un objeto, también debe proporcionar una clase de prueba automatizada que contiene los métodos que trabajan con el objeto, llamando a sus métodos públicos con distintos parámetros y asegurándose de que los valores devueltos son los adecuados.

…. Cuando se trata con datos simples u objetos de servicio, es sencillo escribir pruebas unitarias. – Sin embargo, muchos objetos dependen de otros objetos o capas de infraestructura. Cuando se trata de probar estos objetos, a menudo es costoso, poco práctico o ineficaz.

… La raíz de todos los problemas son las dependencias.. Todo depende de otra cosa, Se debe probar las llamadas más probables a otros métodos, y si no aislar a sus dependencias, a continuación, un fallo de la prueba en realidad podría ser un error en algún otro lugar. Así que puede haber falsos negativos en las pruebas: una prueba que falla, puede no ser un bug en el código, pero todavía se tiene que pasar tiempo investigando esto.

… Mediante el aislamiento de las dependencias, se asegura que un fallo en una prueba sin duda significaría un bug en tu código.... y las pruebas son más rápidas.

Definición Un Mock Object es un "objeto falso", un objeto que representa a otro y lo sustituye en funcionalidad. ( También es conocido como objeto simulado (pseudoobjetos). Este patrón es utilizado ampliamente en la Prueba Unitaria (test unit) para asegurar un correcto aislamiento de la clase bajo test. Prueba Unitaria

Comportamiento Imita el comportamiento de objetos reales de una forma controlada (Wikipedia) En los test de unidad, los mock objects se usan para simular el comportamiento de objetos complejos cuando es imposible o impracticable usar al objeto real en la prueba. Resuelve el problema del caso de objetos interdependientes

Funcionamiento Las dependencias que tenga nuestro objeto a testear pueden ser reemplazadas por mocks que funcionen como nosotros queremos. De esta manera, podremos testear en forma aislada a nuestra clase, sin preocuparnos por sus dependencias (más aún, sin preocuparnos por si realmente funcionan estas dependencias).

…Funcionamiento… Usando Mock Objects podemos asegurar un "entorno perfecto y a medida", haciendo que este entorno responda como nosotros necesitamos. Luego, si el test de la clase falla, será por un problema en esta misma clase (y no en sus dependencias ya que, por hipótesis, el entorno era ideal).

Frameworks para mock objects Existen varios frameworks que ayudan a la creación de mocks. EasyMock Mockito MockEjb EasyMock es uno de los más conocidos, y el usado por el equipo de Spring para testear su framework. EasyMock

Cuando usar mock objects Se usan en lugar de objetos reales que tengan algunas de estas características: – Devuelven resultados no determinísticos (por ejemplo la hora o la temperatura) – Su estado es difícil de crear o reproducir (por ejemplo errores de conexión) – Es lento (por ejemplo el resultado de un cálculo intensivo o una búsqueda en una Base de Datos) – El objeto todavía no existe o su comportamiento puede cambiar. – Debería incluir atributos o métodos exclusivamente para el testeo. – Los objetos simulados para imitar al objeto real deben imitar su misma interfaz.

Ejemplo La prueba de unidad de un objeto que utiliza una base de datos, puede ser instalar, configurar una copia local de la base de datos, para ejecutar pruebas. Los Mock Objets pueden proporcionar una salida a este dilema. – Un objeto ficticio ajusta a la interfaz del objeto real, pero tiene código sólo lo suficiente para engañar al objeto para comprobar y hacer el seguimiento de su comportamiento. – Siempre y cuando la clase que se está probando se comporte como se esperaba, no se dará cuenta de la diferencia, y la prueba unitaria puede comprobar que la consulta apropiada fue realizada.

Conclusiones Sin mucho esfuerzo, los Mock objets permiten poner a prueba hipótesis de cosas que rara vez ocurren en la vida real. Y, por último, puede probar soluciones incompletas.

Videos recomendados CsQ CsQ tLM