La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Mock objects Rosemary Torrico Bascopé. Introducción Las Pruebas de unidad han sido aceptadas como la “mejor práctica” para el desarrollo de software."— Transcripción de la presentación:

1 Mock objects Rosemary Torrico Bascopé

2 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.

3 …. 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.

4 … 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.

5 … 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.

6

7 Definición Un Mock Object es un "objeto falso", un objeto que representa a otro y lo sustituye en funcionalidad. (http://www.dosideas.com/wiki/Mock_Object)http://www.dosideas.com/wiki/Mock_Object 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

8 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

9 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).

10 …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).

11 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

12 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.

13 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.

14 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.

15

16 Videos recomendados http://www.youtube.com/watch?v=fAb_Onoo CsQ http://www.youtube.com/watch?v=fAb_Onoo CsQ http://www.youtube.com/watch?v=R9FOchgT tLM


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

Presentaciones similares


Anuncios Google