Pruebas de Software: Junit. Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Pruebas de Software: Junit. Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes"

Transcripción

1 Pruebas de Software: Junit Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes 1

2 Qué es Junit? Es un framework de pruebas para Java, utilizado para escribir y ejecutar pruebas repetibles. Es una instancia de la arquitectura xunit para frameworks de pruebas unitarias. Es de código abierto, creado porerich Gamma GoF, Kent Beck Inicialmente utilizado para extreme Programming 2

3 Características Aserciones para probar resultar esperados Formas para compartir información de pruebas Suites de pruebas para organizar y ejecutar pruebas fácilmente Programa que ejecuta las pruebas de manera gráfica y textual 3

4 Objetivos Ejecutar pruebas de manera automática Evitar el problema de tener que ejecutar pruebas una por una, de manera manual con posibilidad de errores. Sencillo Proveer solamente la funcionalidad que requiere una persona para hacer pruebas Se debe aprender poco para poder escribir una prueba 4

5 Objetivos (cont.) Crear pruebas que retienen su valor agregado a través del tiempo Capacidad de repetir una prueba bajo las mismas condiciones Si hago cambios sobre el software, lo demás debe mantenerse funcionando Provee una forma de hacer pruebas de regresión Se pueden agrupar conjuntos de pruebas de distintas personas sin problemas, debido al carácter uniforme que provee 5

6 Objetivos (cont.) Crear pruebas para cada parte del software La idea es crear las pruebas al comienzo del desarrollo y no después Es como crear las pruebas a partir de las clases que no contienen implementación y a medida que se desarrolla software ir probando Un cambio significa ejecutar las pruebas anteriores y las nuevas 6

7 Conceptos Básicos Cada clase de prueba contiene métodos para probar los métodos de una clase particular: Cada método de prueba debe tener la anotación 7

8 Conceptos Básicos BookLogic BookLogicTest BookDTO getbook(long id) booklogic void getbooktest() BookDTO createbook( BookDTO dto) void createbooktest() Public void createbooktest() { BookDTO result = booklogic.createbook(dto); 8

9 Conceptos Básicos BookLogic private IBookLogic booklogic; BookDTO getbook(long id) booklogic void getbooktest() BookDTO createbook( BookDTO dto) void createbooktest() Public void createbooktest() { BookDTO result = booklogic.createbook(dto); 9

10 Conceptos Básicos BookLogic private IBookLogic booklogic; BookDTO getbook(long id) booklogic void getbooktest() BookDTO createbook( BookDTO dto) void createbooktest() Se crea un objeto con datos aleatorios utilizando Podam Public void createbooktest() { PodamFactory factory = new PodamFactoryImpl(); BookDTO dto = factory.manufacturepojo(bookdto.class); BookDTO result = booklogic.createbook(dto); 10

11 Conceptos Básicos BookLogic private IBookLogic booklogic; BookDTO getbook(long id) booklogic void getbooktest() BookDTO createbook( BookDTO dto) void createbooktest() Se crea un objeto con datos aleatorios utilizando Podam Se consulta la BD utilizando un manejador de persistencia Se compara lo que se creó con lo que se obtuvo Public void createbooktest() { PodamFactory factory = new PodamFactoryImpl(); BookDTO dto = factory.manufacturepojo(bookdto.class); BookDTO result = booklogic.createbook(dto); Assert.assertNotNull(result); BookEntity entity = em.find(bookentity.class, result.getid()); Assert.assertEquals(dto.getName(), entity.getname()); Assert.assertEquals(dto.getIsbn(), entity.getisbn()); Assert.assertEquals(dto.getImage(), entity.getimage()); Assert.assertEquals(dto.getDescription(), entity.getdescription()); 11

12 Conceptos private BookPersistence bookpersistence; BookPersistence BookPersistenceTest BookEntity getbook(bookentity e) bookpersistence void getbooktest() BookEntity createbook(bookentity e) void createbooktest() Se crea un objeto con datos aleatorios utilizando Podam Se consulta la BD utilizando un manejador de persistencia public void createbooktest() { PodamFactory factory = new PodamFactoryImpl(); BookEntity newentity = BookConverter.basicDTO2Entity( factory.manufacturepojo(bookdto.class)); BookEntity result = bookpersistence.create(newentity); Assert.assertNotNull(result); Se compara lo que se creó con lo que se obtuvo BookEntity entity = em.find(bookentity.class, result.getid()); Assert.assertEquals(newEntity.getName(), entity.getname()); Assert.assertEquals(newEntity.getIsbn(), entity.getisbn()); Assert.assertEquals(newEntity.getImage(), entity.getimage()); Assert.assertEquals(newEntity.getDescription(), entity.getdescription()); 12

13 Fixtures (Ambientes @AfterClass 13

14 Fixtures (Ambientes de public void configtest() { try { utx.begin(); cleardata(); insertdata(); utx.commit(); catch (Exception e) { e.printstacktrace(); try { utx.rollback(); catch (Exception e1) { e1.printstacktrace(); private void cleardata() { em.createquery("delete from BookEntity").executeUpdate(); private void insertdata() { for (int i = 0; i < 3; i++) { PodamFactory factory = new PodamFactoryImpl(); BookEntity entity = BookConverter.basicDTO2Entity(factory.manufacturePojo( BookDTO.class)); em.persist(entity); data.add(entity); 14

JUnit 3 vs. JUnit 4. David Alonso Ríos. Facultad de Informática Universidade da Coruña 2008/2009

JUnit 3 vs. JUnit 4. David Alonso Ríos. Facultad de Informática Universidade da Coruña 2008/2009 JUnit 3 vs. JUnit 4 David Alonso Ríos Facultad de Informática Universidade da Coruña 2008/2009 Novedades de JUnit 4 Utiliza anotaciones de Java 5 para: Identificar los tests, en vez de usar convenciones

Más detalles

Lenguaje Java Avanzado

Lenguaje Java Avanzado Lenguaje Java Avanzado Sesión 4: Pruebas con JUnit 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a JUnit Implementación de las pruebas Ejecución de pruebas Pruebas con excepciones

Más detalles

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES 1 Objetivo del caso JUnit 2 Poder utilizar JUnit para realizar

Más detalles

Contenido. Comentarios. l Estilo l Documentación l Pruebas l Depuración **/ l Comentarios de código. l Comentarios de documentación

Contenido. Comentarios. l Estilo l Documentación l Pruebas l Depuración **/ l Comentarios de código. l Comentarios de documentación {F-PROG dit Contenido l Estilo l Documentación l Pruebas l Depuración Fundamentos de Programación DIT- 1 {F-PROG dit Comentarios l Comentarios de código n /*... */ n // comentario táctico: hasta fin de

Más detalles

Lenguaje Java Avanzado

Lenguaje Java Avanzado Sesión 8: Pruebas con DbUnit 2012-2013 Depto. Ciencia de la Computación e IA Puntos a tratar Framework Prácticas recomendadas Ciclo de vida Interfaces y clases DbUnit y Eclipse Ejemplos 2011-2012 Depto.

Más detalles

Programación Tema 8: Estilo y pruebas. Programación DIT-UPM

Programación Tema 8: Estilo y pruebas. Programación DIT-UPM Programación Tema 8: Estilo y pruebas Programación DIT-UPM 1 Contenidos! Estilo! Pruebas! Depuración Programación DIT-UPM 2 Calidad del Software! Estilo, prueba, depuración: aspectos relacionados con el!

Más detalles

Programación II - TP1 1er Cuatrimestre 2018

Programación II - TP1 1er Cuatrimestre 2018 Fecha de presentación: 15/5/18 Fecha de entrega por mail: 29/5/18 Programación II - TP1 1er Cuatrimestre 2018 Requerimientos técnicos: Grupos de 1 o 2 personas Se debe utilizar al menos una vez iteradores

Más detalles

PRESENTACIÓN TRABAJO FIN DE GRADO

PRESENTACIÓN TRABAJO FIN DE GRADO PRESENTACIÓN TRABAJO FIN DE GRADO SISTEMA DE CONTROL DE DEMANDAS CIUDADANAS 2 º C I C L O D E I N G E N I E R Í A E N I N F O R M Á T I C A Á R E A : I N G E N I E R Í A D E L S O F T W A R E A L U M N

Más detalles

Pruebas de Software: Herramientas: Pruebas Unitarias. Elisa Herrmann Ingeniería del Software de Gestión

Pruebas de Software: Herramientas: Pruebas Unitarias. Elisa Herrmann Ingeniería del Software de Gestión Pruebas de Software: Herramientas: Pruebas Unitarias Elisa Herrmann Ingeniería del Software de Gestión Contenido Qué son Pruebas Unitarias? Frameworks Ventajas Desventajas y limitaciones Mitos sobre Pruebas

Más detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados

Más detalles

Capitulo 3. Test Driven Development

Capitulo 3. Test Driven Development Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Manual Programador

Manual Programador Documento elaborado por: Revisado por: Francisco José Cantero Villar Miguel J. Vázquez Rebollo Versión: 1.0.0 Lugar y fecha: Sevilla, 9 de Septiembre de 2005 Contenido: 1 Objetivos... 3 2 Integración en

Más detalles

Pruebas, depuración y profiling

Pruebas, depuración y profiling Pruebas, depuración y profiling LSUB GSYC 13 de abril de 2016 (cc) 2016 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento -

Más detalles

Ahora bien puede estar el fichero persistence.xml en algún otro sitio?

Ahora bien puede estar el fichero persistence.xml en algún otro sitio? Antes de ayer Carlos Oliva un lector de mi blog me preguntó si habría forma de configurar de una manera mas flexible el fichero persistence.xml. Me pareció una pregunta interesante ya que aunque muchas

Más detalles

TESTS UNITARIOS. keep the bar green to keep the code clean

TESTS UNITARIOS. keep the bar green to keep the code clean TESTS UNITARIOS keep the bar green to keep the code clean Para qué hacer tests unitarios? Es imposible hacer software libre de defectos. Tiempo del desarrollador: Diseño Análisis Debug Desarrollo Los tests

Más detalles

Pruebas unitarias JUnit

Pruebas unitarias JUnit Pruebas unitarias JUnit Pruebas unitarias Conceptos básicos Es una forma de probar el correcto funcionamiento de un módulo de código. Sirve para asegurar que cada uno de los módulos funcione correctamente

Más detalles

INGENIERÍA DEL SOFTWARE II Práctica 1. Univ. Cantabria Fac. de Ciencias Carlos Blanco, Juan Hernández

INGENIERÍA DEL SOFTWARE II Práctica 1. Univ. Cantabria Fac. de Ciencias Carlos Blanco, Juan Hernández INGENIERÍA DEL SOFTWARE II Práctica 1 Pruebas con Junit y Eclemma Univ. Cantabria Fac. de Ciencias Carlos Blanco, Juan Hernández Objetivos Realizar pruebas de caja negra de forma automática Familiarizarse

Más detalles

Elementos de Java LSUB. 30 de marzo de 2016 GSYC

Elementos de Java LSUB. 30 de marzo de 2016 GSYC Elementos de Java LSUB GSYC 30 de marzo de 2016 (cc) 2015 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial -

Más detalles

3.5 Implementación de Pruebas de Integración con Spring y JUnit

3.5 Implementación de Pruebas de Integración con Spring y JUnit 3.5 Implementación de Pruebas de Integración con Spring y JUnit Índice Código de pruebas en Maven JUnit JUnit 4 Inicialización y borrado de datos Spring TestContext Framework Configuración Inyección de

Más detalles

Conceptos básicos de Orientación a Objetos, manejo con Eclipse.

Conceptos básicos de Orientación a Objetos, manejo con Eclipse. Conceptos básicos de Orientación a Objetos, manejo con Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de

Más detalles

Soluciones Kata TDD. Solución requisito 1

Soluciones Kata TDD. Solución requisito 1 Soluciones Kata TDD Este documento recoge las soluciones a los primeros 8 ejercicios de la Kata Test Driven Development (TDD): Example Walkthrough de Viktor Farcic: https://technologyconversations.com/2013/12/20/test-driven-development-tdd-example-walkthrough/

Más detalles

Seminario 2 Eclipse PROGRAMACIÓN 3. Septiembre Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante.

Seminario 2 Eclipse PROGRAMACIÓN 3. Septiembre Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante. Seminario 2 PROGRAMACIÓN 3 Septiembre 2011 de clases Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante Seminario 2.1 1 2 3 4 de clases 5 de clases 6 7 Seminario 2.2 Localizado en

Más detalles

COMPONENTES Y CONTENEDORES. Ingeniería de Software II

COMPONENTES Y CONTENEDORES. Ingeniería de Software II COMPONENTES Y CONTENEDORES Ingeniería de Software II Motivación Los componentes son paquetes de software o módulos que encapsulan un conjunto de funciones similares. Estos componentes viven dentro de un

Más detalles

Introducción a la Computación. Testing en Python. Facultad de Ciencias Exactas y Naturales, UBA 28/05/2013

Introducción a la Computación. Testing en Python. Facultad de Ciencias Exactas y Naturales, UBA 28/05/2013 Introducción a la Computación Testing en Python Maximiliano Geier (mgeier@dc.uba.ar) Facultad de Ciencias Exactas y Naturales, UBA 28/05/2013 Maximiliano Geier (UBA) Clase 9: Testing en Python 28/05/2013

Más detalles

Pruebas. Una introducción práctica. Javier Gutiérrez sirve de algo? Ariane segundos después explotó.

Pruebas. Una introducción práctica. Javier Gutiérrez sirve de algo? Ariane segundos después explotó. Pruebas Una introducción práctica. Javier Gutiérrez (javierj@lsi.us.es) Probar sirve de algo? Ariane 5. Lanzado por primera vez el 4 de junio de 1996. Ariane 5. 36.7 segundos después explotó. Motivo: Fallo

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que

Más detalles

Contenido. Pruebas del Software. Verificación vs. Validación. Prueba de Software. Information Engineering Research Group

Contenido. Pruebas del Software. Verificación vs. Validación. Prueba de Software. Information Engineering Research Group Contenido Pruebas del Software Information Engineering Research Group Repaso de los conceptos básicos de Prueba de Software vistos en la parte teórica del curso Descripción del framework JUnit Adaptaciones

Más detalles

JAVA RMI: ESTRUCTURA INTERNA RMI

JAVA RMI: ESTRUCTURA INTERNA RMI Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento

Más detalles

Tema 5 - Pruebas del software Ingeniería del Software de Gestión II

Tema 5 - Pruebas del software Ingeniería del Software de Gestión II escuela técnica superior de ingeniería informática Tema 5 - Pruebas del software Ingeniería del Software de Gestión II Objetivos Cuáles son las alternativas para verificar y validar software Qué son las

Más detalles

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 13/11/2017

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 13/11/2017 Introducción a la Computación Testing en Python Maximiliano Geier Facultad de Ciencias Exactas y Naturales, UBA 13/11/2017 Maximiliano Geier (UBA) Testing en Python 13/11/2017 1 / 12 Testing Qué era testing?

Más detalles

2. Indica cuál de las siguientes afirmaciones es cierta:

2. Indica cuál de las siguientes afirmaciones es cierta: Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido

Más detalles

JUnit es un paquete Java para automatizar las pruebas de clases Java.

JUnit es un paquete Java para automatizar las pruebas de clases Java. Pruebas unitarias José A. Mañas 11.2.2016 1 Introducción Se dice que un programa es aceptable cuando: hace lo que debe hacer no hace lo que no debe hacer Un programador jamás debería entregar un programa

Más detalles

BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACION CONCURRENTE PARALELA Y PRACTICA 3 (PARTE 1 Y 2) HILOS POSIX NOMBRE:

Más detalles

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++; Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja

Más detalles

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 14 de SEPTIEMBRE de 2006

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 14 de SEPTIEMBRE de 2006 INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 14 de SEPTIEMBRE de 2006 NOMBRE: GRUPO: Las dos primeras preguntas son de test. Es obligatorio marcar las respuestas correctas usando un bolígrafo

Más detalles

Java Mockito y los Mock Object

Java Mockito y los Mock Object Java Mockito es uno de los frameworks de Mock más utilizados en la plataforma Java. Esto es debido a la gran facilidad de uso que tiene. Vamos a intentar explicar el concepto de Mock y como funciona Java

Más detalles

Testing. Contenidos. Proyectos de tests. Curso 13/14

Testing. Contenidos. Proyectos de tests. Curso 13/14 Curso 13/14 Testing Contenidos Proyectos de tests Creando un TestCase Tipos de tests Partes del test Invariantes Interfaz de Usuario Gestión del estado App. Lista de tareas 2 Proyectos de tests Los tests

Más detalles

Curso 13/14. Desarrollo de aplicaciones Android. Testing

Curso 13/14. Desarrollo de aplicaciones Android. Testing Curso 13/14 Desarrollo de Testing Contenidos Proyectos de tests Creando un TestCase Tipos de tests Partes del test Invariantes Interfaz de Usuario Gestión del estado App. Lista de tareas 2 Proyectos de

Más detalles

Universidad de Cantabria

Universidad de Cantabria Serialization Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Comprender la serialización de objetos para obtener la persistencia

Más detalles

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Ejercicios Resueltos Ejercicio 03. El siguiente código muestra para calcular la potencia de dos de cualquier número con cualquier cantidad

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2003 1) Se dispone del siguiente array de números reales ya creado.

Más detalles

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC Lo primero que hay que saber es que la manera más conveniente de acceder a una base de datos utilizando el lenguaje de programación JAVA, es a través del

Más detalles

Adoptando el Paradigma de la Programación Orientada a Atributos

Adoptando el Paradigma de la Programación Orientada a Atributos Adoptando el Paradigma de la Programación Orientada a Atributos Raúl Marticorena, Carlos López y Carlos Pardo Área de Lenguajes y Sistemas Informáticos Departamento de Ingeniería Civil UNIVERSIDAD DE BURGOS

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE

Más detalles

Programación II. Mario Aldea Rivas Programación II 25/03/11 1

Programación II. Mario Aldea Rivas Programación II 25/03/11 1 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Tema 2. Programación dirigida por eventos Bloque temático 3. Esquemas algorítmicos Programación

Más detalles

Excepciones LSUB, GSYC, URJC. Monday, February 4, 13

Excepciones LSUB, GSYC, URJC. Monday, February 4, 13 LSUB, GSYC, URJC 1 Gestión de errores para casos excepcionales Parte del interfaz de una clase Clases en sí mismas 2 g() g() f() maneja excepciones main Pila 3 g() Excepción g() f() manejador excepciones

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

Invocación de Métodos Remotos: Prácticas de Laboratorio

Invocación de Métodos Remotos: Prácticas de Laboratorio Invocación de Métodos Remotos: Prácticas de Laboratorio XIII Jornadas de Enseñanza Universitaria de la Informática Teruel, 16-18 de julio de 2007 Coromoto León Hernández, Gara Miranda Valladares (cleon

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Aseguramiento de la calidad y pruebas de software

Aseguramiento de la calidad y pruebas de software Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Automatización de pruebas unitarias Blanca A. Vargas Govea vargasgovea@itesm.mx Abril 23, 2013 Contenido Automatización de pruebas

Más detalles

Clases (construcción)

Clases (construcción) Clases (construcción) Carlos Fontela cfontela@fi.uba.ar Temario Implementación de clases Atributos Métodos y propiedades Constructores Excepciones Diseño contractual TDD o diseño guiado por las pruebas

Más detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingeniería del Software Separación entre Presentación y Lógica del Negocio Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas

Más detalles

Applying UML and Patterns Capítulos 18, 19, 20 y 21

Applying UML and Patterns Capítulos 18, 19, 20 y 21 Applying UML and Patterns Capítulos 18, 19, 20 y 21 ALEJANDRO ZAPATA SÁNCHEZ CINVESTAV-Tamaulipas 17 de Octubre del 2012 ALEJANDRO ZAPATA SÁNCHEZ (CINVESTAV) Capítulos 18, 19, 20 y 21 17 de Octubre del

Más detalles

JUNIT. Pruebas Unitarias

JUNIT. Pruebas Unitarias JUNIT. Pruebas Unitarias Dpto. de Ingeniería de Sistemas Telemáticos http://www.lab.dit.upm.es/~lprg Introducción Un programa es aceptable cuando: Hace lo que se acordó que debía hacer en las especificaciones.

Más detalles

Ejercicio 3 Proyecto Intérprete Curso de Spring Framework

Ejercicio 3 Proyecto Intérprete Curso de Spring Framework www.globalmentoring.com.mx Curso de Spring Framework Ejercicio 3 Proyecto Intérprete Objetivo del Ejercicio El objetivo del ejercicio del Proyecto Intérprete. Al finalizar deberemos observar la siguiente

Más detalles

1. Conceptos básicos de POO 1

1. Conceptos básicos de POO 1 1. Conceptos básicos de POO 1 Es muy importante conocer bien nuestro paradigma de programación y además el lenguaje de programación, ya que hay lenguajes y paradigmas que se adaptan mejor a ciertas tareas

Más detalles

5.3 Diseño por capas con Servicios Web

5.3 Diseño por capas con Servicios Web 5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica

Más detalles

Concurso: Cuánto sabes de JAVA?

Concurso: Cuánto sabes de JAVA? Concurso: Cuánto sabes de JAVA? Motivación: o Para cambiar el ritmo de las jornadas y que no todas las actividades sean charlas o Recordar conocimientos y aprender algo nuevo. o Las preguntas pueden ayudarnos

Más detalles

Instructivo de Persistencia Utilizando Hibernate

Instructivo de Persistencia Utilizando Hibernate UdeChile :: DCC CC3002 @ 2009 Metodologías de Diseño y Programación CC3002 @ 2009 Instructivo de Persistencia Utilizando Hibernate Daniel Perovich Andrés Vignaga dperovic, avignaga@dcc.uchile.cl Diploma

Más detalles

Casos de prueba: JUnit

Casos de prueba: JUnit Índice 1 Introducción a JUnit... 2 2 Integración de JUnit en Eclipse...2 3 Un ejemplo sencillo...4 3.1 Implementación de los casos de prueba...5 3.2 Pruebas con lanzamiento de excepciones... 10 3.3 Ejecución

Más detalles

Código Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4

Código Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4 EL EJEMPLO El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente. Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local. El sistema operativo

Más detalles

El concepto Java Reflection y como utilizarlo

El concepto Java Reflection y como utilizarlo Java Reflection es quizás el API que más versatilidad aporta al lenguaje Java ya que nos permite resolver muchos problemas de una forma totalmente diferente a la habitual. El API de Java reflection nos

Más detalles

Clases (construcción)

Clases (construcción) Clases (construcción) Carlos Fontela cfontela@fi.uba.ar Temario Implementación de clases Atributos Métodos y propiedades Constructores Excepciones Diseño contractual TDD o diseño guiado por las pruebas

Más detalles

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba Pruebas de Software R. Casallas Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes 1 Agenda Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba 2 1 Pruebas de Programas

Más detalles

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java Catecbol Capacitación Tecnológica Científica para Bolivia www.catecbol.com facebook.com/catecbol @catecbol catecbol@gmail.com Programación Orientada a Objetos en Java Saúl Medrano Estados Unidos La unión

Más detalles

Fundamentos de Computadores y Lenguajes

Fundamentos de Computadores y Lenguajes Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida

Más detalles

El modelo V nos permite ejecutar el proceso de validación y verificación en cada una de las etapas de un proyecto. Codificación

El modelo V nos permite ejecutar el proceso de validación y verificación en cada una de las etapas de un proyecto. Codificación ASEGURAMIENTO DE CALIDAD Modelo V El modelo V nos permite ejecutar el proceso de validación y verificación en cada una de las etapas de un proyecto. Análisis de Requerimientos Pruebas de Aceptación Diseño

Más detalles

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE Java EE Ejercicio 4 EJB Sesión Sistema SGA Objetivo del Ejercicio El objetivo del ejercicio es agregar un EJB de Sesión a nuestro proyecto SGA (Sistema de Gestión de Alumnos), el cual desarrollaremos a

Más detalles

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF.

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF. Este curso está dirigido a gente interesada en el desarrollo de aplicaciones JEE con JSF. Este framework permite agilizar y simplificar en gran medida el desarrollo de aplicaciones Web Java. Estudiaremos

Más detalles

JUnit. JUnit registra si es falso el valor retornado por la función evaluada Así se ha detectado una falla

JUnit. JUnit registra si es falso el valor retornado por la función evaluada Así se ha detectado una falla Aprendizaje Java acelerado por casos de prueba JUnit Agenda JUnit Ventajas de DrJava 2 Ejemplos Rellene con su algoritmo Indentación Análisis Conclusiones JUnit Conjunto de bibliotecas creadas por Erich

Más detalles

Capítulo 4. Arquitectura del Sistema SIGAU

Capítulo 4. Arquitectura del Sistema SIGAU Capítulo 4. Arquitectura del Sistema SIGAU En este capítulo se presenta la arquitectura del sistema creado en el contexto de esta tesis. Se hará énfasis en la interfaz del sistema y qué componentes dan

Más detalles

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:

Más detalles

DISEÑAR APLIC I ACIO I N O ES 1

DISEÑAR APLIC I ACIO I N O ES 1 DISEÑAR APLICACIONES 1 El análisis y diseño de sistemas de software es un área amplia y compleja. En este capítulo se expone una pequeña introducción a la metodología de análisis y diseño. El estudio detallado

Más detalles

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente. HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la

Más detalles

Tutorial Java con acceso a datos

Tutorial Java con acceso a datos Tutorial Java con acceso a datos Jazna Meza Hidalgo Enero 2010 1 OBJETIVOS Utilizar MySQL para manipulación de datos Trabajar con SQL como lenguaje de consulta Construir una aplicación Java capaz de acceder

Más detalles

INTRODUCCION A LA PROGRAMACION EN JAVA

INTRODUCCION A LA PROGRAMACION EN JAVA Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de

Más detalles

Automatización de Pruebas con Selenium

Automatización de Pruebas con Selenium D Curso Automatización de Pruebas con Selenium 16 Horas A Coruña, 29 y 30 de Enero 2018 www.vitaedigital.com INTRODUCCIÓN En la actualidad, las herramientas de desarrollo han aumentado la productividad

Más detalles

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento

Más detalles

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB 5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo

Más detalles

PROTOCOLOS DE RED SMTP

PROTOCOLOS DE RED SMTP PROTOCOLOS DE RED SMTP Qué es SMTP? Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de aplicación. Protocolo de red basado en textos utilizados

Más detalles

Introducción a los Threads Java

Introducción a los Threads Java 75-62 Técnicas de Programación Concurrentes II Lic. Ing. Osvaldo Clúa 2014 Facultad de Ingeniería Universidad de Buenos Aires Introducción a los Threads Java Para crear un nuevo Thread Se extiende la clase

Más detalles

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento Contenido 1. Base de datos SQL Server (BD_Empleados_USS)... 2 2. Proyectos y paquetes necesarios... 3 3.

Más detalles

Programación II 2do cuatrimestre 2017

Programación II 2do cuatrimestre 2017 Tecnología Java El propósito de esta clase es aplicar los conceptos de TAD y Complejidad en Java. A continuación se mencionan algunas herramientas que nos ayudaran a aplicar estos y otros conceptos que

Más detalles

Estructuras de Datos I

Estructuras de Datos I Estructuras de Datos I Introducción Ángel Lucas González Martínez Jaime Ramírez DLSIIS. Facultad de Informática Universidad Politécnica de Madrid 1 Objetivo de la asignatura Aprender técnicas y conocimientos

Más detalles

Procesamiento de archivos XML (Parte 1)

Procesamiento de archivos XML (Parte 1) Procesamiento de archivos XML (Parte 1) Rubby Casallas 1 Referencias Esta presentación es un breve resumen de XML y no pretende ser exhaustiva. Para más información por favor consultar las siguientes referencias:

Más detalles

Java Optional ifpresent y como utilizarlo

Java Optional ifpresent y como utilizarlo Hoy vamos a hablar de Java Optional ifpresent. Cuando trabajamos con el tipo Optional conseguimos mejoras a la hora de trabajar con valores nulos. Veamos un ejemplo sencillo imaginemos que tenemos una

Más detalles

Java RMI. Sistemas distribuidos

Java RMI. Sistemas distribuidos Java RMI Sistemas distribuidos Entornos orientados a objetos Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí. Un programa solicita servicios invocando los

Más detalles

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net Marcos de Desarrollo Diseño e implementación de aplicaciones Web con.net Objetivos Aprender a crear pruebas en Visual Studio con Test Project Test Project En.NET hay un tipo de proyecto específico para

Más detalles

Interfaces y Clases Internas

Interfaces y Clases Internas Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?

Más detalles

Presentación del Curso Presencial. Programación en Java Nivel Básico

Presentación del Curso Presencial. Programación en Java Nivel Básico Presentación del Curso Presencial Programación en Java Nivel Básico Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 6 Contenidos del curso... 7 Competencias previas... 9 Recursos...

Más detalles

ESTUDIO DE ADOPCIÓN DE TÉCNICAS DE DESARROLLO DE SOFTWARE GUIADO POR LAS PRUEBAS

ESTUDIO DE ADOPCIÓN DE TÉCNICAS DE DESARROLLO DE SOFTWARE GUIADO POR LAS PRUEBAS ESTUDIO DE ADOPCIÓN DE TÉCNICAS DE DESARROLLO DE SOFTWARE GUIADO POR LAS PRUEBAS Calixto Maldonado, Iris Gastañaga, Claudia Inchaurrondo, Pablo Vaca, Matías Bueno, María Soledad Romero, Juan Pablo Peretti

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información Procesos Ejecutables. Manejo de Excepciones y Conexiones a Bases de Datos 1 Agenda Introducción Manejo de Bucles Configuración de Temporizadores Manejo de Variables Conclusiones

Más detalles

Capítulo 3. Introducción a la programación. Continuar

Capítulo 3. Introducción a la programación. Continuar Capítulo 3 Introducción a la programación Continuar Introducción Java es un lenguaje que tiene muchas ventajas frente a otros lenguajes de programación: es open source (código abierto), esto permite ver

Más detalles

10 -Herencia Y Polimorfismo. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

10 -Herencia Y Polimorfismo. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 10 -Herencia Y Polimorfismo Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Herencia Si se supone que somos buenos programando, cuando creemos una clase es posible que sea

Más detalles

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //...

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //... APELLIDOS, Nombre: N o Matrícula: U.P.M. E.T.S.I.Inf Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software. Examen de Programación II. 27 de Marzo de 2014. Primer parcial. Realización:

Más detalles

9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software

9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software Introducción y La Vida del Ciclo de Desarrollo del Software Usualmente las tareas realizadas como parte del desarrollo de un software son modeladas durante el Ciclo de Vida de Desarrollo del Software.

Más detalles