Pruebas. Una introducción práctica. Javier Gutiérrez sirve de algo? Ariane segundos después explotó.
|
|
- Alejandro Toledo Velázquez
- hace 6 años
- Vistas:
Transcripción
1 Pruebas Una introducción práctica. Javier Gutiérrez Probar sirve de algo? Ariane 5. Lanzado por primera vez el 4 de junio de Ariane segundos después explotó. Motivo: Fallo software. La programación no se había probado lo suficiente. 1
2 y qué es una prueba?. Verificación dinámica del comportamiento del software a partir de un conjunto finito de casos de prueba. y esto qué significa?. Para probar un programa tenemos que ejecutarlo. Verificación dinámica del comportamiento del software a partir de un conjunto finito de casos de prueba. La prueba tiene un límite. No vale ejecutar el programa de cualquier manera. 2
3 y qué es un caso de prueba?. Valores de entrada. Probar es ejecutar un programa con unos cuantos casos de prueba. Acciones. Resultado esperado. Ejemplos de casos de prueba Funciona el teléfono?. Valores de prueba Acciones 1. Descolgar auricular. 2. Marcar número de Pepote. 3. Esperar contestación. Resultado esperado (Pepote): Digameee Digameee. Me está bien esta camisa? Valores de prueba Mi cuerpo. Acciones 1. Ponerme la camisa. 2. Abrochármela. 3. Moverme un poco. 4. Mirarme al espejo. Cuidado con la etiqueta o con arrugarla por si hay que devolverla Resultado esperado Elegancia y confort. 3
4 Un ejemplo public int suma(int a, int b) { return a + b; Qué casos de prueba podemos escribir?. Valores de prueba??? Acciones Resultado esperado??? Los casos de prueba son finitos (y cuantos menos, mejor). Un ejemplo public int suma(int a, int b) { return a + b; Qué casos de prueba podemos escribir?. Valores de prueba 0, 0 0, b = no 0 3, 4-2, -8-3, 6 Integer.MAX_ VALUE,, 6 Acciones Resultado esperado 0 b Y algunas permutaciones más. 4
5 Por qué he elegido esos casos de prueba?. 5 valores = 25 casos de prueba. Otro ejemplo I. public static void Intercambia(List l1, List l2) { Object b1=null; Object aux=null; Collections.sort(l1); Collections.sort(l2); ListIterator i1=l1.listiterator(); while (i1.hasnext()) { b1=i1.next(); int pos=collections.binarysearch(l2,b1); 1 if (pos<0) { if (i1.hasnext()){ aux=i1.next(); if (b1.equals(aux)) { 2 i1.remove(); l2.add(b1); Collections.sort(l2); Quita un elemento de la lista l1 y lo pone en la lista l2 si: 1. No está en l2. 2. Está repetido en l1. Entrada: l1 = {3, 4, 1, 2, 3, 1 l2 = {3, 4, 2, 6, 4 Salida: l1 = {1, 2, 3, 3 4 l2 = {1, 2, 3, 4, 4, 6 Veamos algunos casos De prueba. 5
6 Otro ejemplo II. Valores de prueba l1 = null o l2 = null l1 = { y l2 = * l1 = {1, 2, 3 y l2 = {4, 5, 6 l1 = {1, 3, 2, 3 y l2 = {4, 5, 6 l1 = {1, 3, 2, 3, 1, 2 l2 = {1, 2, 3, 4, 5, 6 Acciones Intercambia(l1, l2) Resultado esperado Falla!!! (Null PointerException) L2 ordenada l1 = {1, 2, 3 y l2 = {4, 5, 6 l1 = {1, 2, 3 y l2 = {3, 4, 5, 6 l1 = {1, 1, 2, 2, 3, 3 l2 = {1, 2, 3, 4, 5, 6 * Significa una lista con cualesquiera valores. Estos casos de prueba (y sus permutaciones) garantizan que el método funciona bien en cualquier circunstancia? Otro ejemplo III. Valores de prueba l1 = {1, 2, 2, 3 y l2 = {4, 5, 6 l1 = {1, 1, 2, 3, 3 y l2 = {4, 5, 6 l1 = Un valor repetido 3 veces l2 = * Acciones Intercambia(l1, l2) Resultado esperado Falla!!! l1 = {1, 2, 2, 3 y l2 = {4, 5, 6 Falla!!! l1 = {1, 2, 3, 3 y l2 = {1, 4, 5, 6 Falla!!! El valor aparece repetido en l1. * Significa una lista con cualesquiera valores. 6
7 En conclusión Probar es ejecutar casos de prueba. Caso de prueba: entrada + acciones + salida salida obtenida == salida esperada salida obtenida!= salida esperada Un programa que pasa todos sus casos de prueba es un programa sin errores?. JUnit I. Open Source framework for the automation of unit tests under Java. Existen muchas versiones para distintos lenguajes. Su API es nuestro mapa de carreteras. 7
8 IDEs: JDeveloper Eclipse Forte / Netbeans Intelli J JBuilder TogetherJ VisualAge JUnit II. JUnit III. Nuestra primera prueba Vamos a probar nuestra función suma import junit.framework.*; public class TestSuma extends TestCase { // Atributos // Pruebas public void testsumapositivos() { int r = Suma.Suma(3, 4); assertequals( Suma de 3 y 4 no es 7", r, 7 ); Los imports no se nos pueden olvidar. Cada clase guarda un conjunto de pruebas relacionadas. Las clases deben heredar de TestCase. Los atributos serán la información a compartir por las distintas pruebas. Cada método que empieze por void test es una prueba. Los métodos assertx() permiten evaluar si la prueba se pasa o no. 8
9 JUnit IV. Más cosas. Inicio y fin de la prueba. protected void setuup(){ // Me conecto a una BBDD protected void teardown(){ //Me desconecto de la BBDD Métodos assertx() void assertequals() void assertnull() void assertnotnull() Void asserttrue() JUnit V. Nuestra segunda prueba. T.A.D. Lista (Lista.java) // Devuelve el número de elementos de la lista public int size(); // Vacía la lista. public void clear(); // Vacía la lista. public void clear(); // Añade el elemento x en la posición i. public void add(int i, Object x): // Devuelve el elemento en la posición i. public Object get(int i); Escribir un conjunto de pruebas (JUnit) para el TAD lista. 9
10 JUnit V. Nuestra segunda prueba. Prueba Lista (TestLista.java) protected void setup() { listavacia = new Lista(); listallena = new Lista(); elems = new Object[4]; listallena.add(0, elems[0] = new Integer(1)); listallena.add(1, elems[1] = new Integer(2)); listallena.add(2, elems[2] = new Integer(3)); elems[3] = new Integer(4); En primer lugar el setup(). Este setup() se ejecuta siempre antes de un nuevo método test*. 2 conjuntos de pruebas: sobre una lista con elementos y sobre una lista vacía. JUnit V. Nuestra segunda prueba. T.A.D. Lista (Lista.java) 1 public void testisempty() { asserttrue(listavacia.isempty()); asserttrue(!listallena.isempty()); // Devuelve el número de elementos de la public lista. void testclear() { public int size(); 2 listavacia.clear(); asserttrue(listavacia.isempty()); // Vacía la lista. listallena.clear(); asserttrue(listallena.isempty()); public void clear(); // Devuelve true si la lista está vacía. public void testgetllena() { public boolean isempty(); assertequals(listallena.get(0),elems[0]); assertequals(listallena.get(1),elems[1]); // Añade el elemento x en la posición i. assertequals(listallena.get(2),elems[2]); public void add(int i, Object x): try { listallena.get(3); // Devuelve el elemento en la posición i. catch (IndexOutOfBoundsException e) { public Object get(int i); return; fail("error. listallena no lanzó "+ excepción indice fuera de límites"); 3 10
11 JUnit V. Nuestra segunda prueba. T.A.D. Lista (Lista.java) public void testaddllena() { 4 listallena.add(3, elems[3]); assertequals(listallena.get(3), elems[3]); // Devuelve el número de elementos listallena.add(0, de la lista. elems[3]); assertequals(listallena.get(0), elems[3]); public int size(); // Vacía la lista. public void clear(); public void testsize() { // Devuelve true si la lista está 5 assertequals(listavacia.size(), 0); vacía. assertequals(listallena.size(), 3); public boolean isempty(); listallena.add(3, elems[0]); assertequals(listallena.size(), 4); // Añade el elemento x en la posición i. listallena.add(4, elems[0]); public void add(int i, Object x): assertequals(listallena.size(), 5); // Devuelve el elemento en la posición i. public Object get(int i); JUnit VI. Ejecución de pruebas. junit.textui.testrunner junit.swingui.testrunner 11
12 Un seguro de vida Probar mientras se codifica. Siempre que modifiquemos algo hemos de escribir una nueva prueba que lo verifique y, además, las pruebas antiguas deben funcionar. Además, mejora el diseño. Una taxonomía de casos de prueba. 12
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 detallesContenido. 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 detallesRegistro de traza en Java
Registro de traza en Java javierj@us.es / jjgrodriguez@gmail.com y qué es la traza? Veremos dentro de poco como crear el objeto log. public int suma(int a, int b) { log.debug( Entrando en suma ); int sum;
Más detallesPruebas 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 detallesJUnit 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 detallesLaboratorio de Programación
Laboratorio de Programación Documentación Pruebas Unitarias Dpto. de Ingeniería de Sistemas Telemáticos http://www.lab.dit.upm.es/~lprg/ febrero 2010 Documentación Documentación y Pruebas 2 1 Qué es documentar?
Más detallesProgramació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 detallesJUnit 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 detallesINGENIERÍ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 detallesProgramació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 detallesPROGRAMACIÓ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 detallesEstructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Más detallesJUnit. 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 detallesDiseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
Más detallesGrado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 80M, 2014/ de Marzo de
Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 80M, 2014/2015 09 de Marzo de 2015 Nombre y Apellidos:... PROBLEMA 1 (1 punto) Programación Orientada a Objetos. Una compañía solicita
Más detallesEjercicios resueltos de programación
Ejercicios resueltos de programación Mariano Fernández López Escuela Politécnica Superior, Universidad San Pablo CEU 18 de marzo de 2015 Índice general 1. Implementación de un método recursivo 2 1.1. Enunciado.............................
Más detallesPruebas 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 detallesPROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Más detallesTema 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 detallesFundamentos de Programación
Fundamentos de Programación Colecciones de Objetos José A. Mañas Dpto. de Ingeniería de Sistemas Telemáticos http://www.dit.upm.es/~pepe/doc/fprg/ colecciones Cuando tenemos varios
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesTecnología de la Programación
Tecnología de la Programación Pruebas de unidad: JUnit David Cabrero Souto Facultad de Informática Universidade da Coruña Curso 2007/2008 Pruebas de unidad Se validan los componentes (módulos) del sistema
Más detallesIntroducción al Proceso de Pruebas.
Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos
Más detalles8. Colecciones e iteradores
8. Colecciones e iteradores - interfaz Collection - clases ArrayList, LinkedList, HashSet, TreeSet - interfaz Map - clases TreeMap, HashMap - Iteratores: interfaz Iterator El lenguaje de programación Java
Más detallesProgramació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 detallesDepto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011
Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Ejercicio 1 (2 puntos) SOLUCIONES class TarjetaDeCredito
Más detallesSoluciones 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 Parcial. Junio 2004 1) Se desea crear una clase para hacer cálculos sobre el movimiento
Más detallesArrays, Cadenas y Vectores Tipos Genéricos
Unidad Didáctica 5 Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.2.1 Introducción Según lo visto hasta ahora Cómo representaría
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesCLAVE 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 detallesAlgoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez
Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Más detallesUnidad Didáctica 6. Tipos List y Set con tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos. Versión 1.0.
Unidad Didáctica 6 Tipos List y Set con tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Estructuras de datos predefinidas en Java (Colecciones)
Más detallesSoluciones 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 detallesProgramació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 detallesAlgoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesGrado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de
Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 84M, 2014/2015 12 de Marzo de 2015 Nombre y Apellidos:... PROBLEMA 1 (1 punto) Programación Orientada a Objetos. Una empresa de alquiler
Más detallesPruebas 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 detallesProgramación de sistemas Listas enlazadas
Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas
Más detallesTema 4 Corrección y Robustez. Programación Orientada a Objetos Curso 2010/2011
Tema 4 Corrección y Robustez Programación Orientada a Objetos Curso 2010/2011 Contenido Especificación formal. Asertos. Pruebas unitarias. Excepciones. Diseño por contrato. Curso 2010/2011 Programación
Más detallesPruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005
Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005 JUnit es una herramienta para la realización de pruebas de unidad de software desarrollado con Java, que es una herramienta de software
Más detallesTema 3. Repaso de primero Análisis y Diseño de Algoritmos
Tema 3. Repaso de primero Análisis y Diseño de Algoritmos ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Departamento de Lenguajes y Sistemas Informáticos Curso 2010-2011 Índice 1. Programación genérica
Más detallesSCR6150c Versión 2.0(12/01/05)
SCR6150c Versión 2.0(12/01/05) JUnit: Manual de usuario Fecha: Referencia: EJIE S.A. Mediterráneo, 3 Tel. 945 01 73 00* Fax. 945 01 73 01 01010 Vitoria-Gasteiz Posta-kutxatila / Apartado: 809 01080 Vitoria-Gasteiz
Más detallesProgramación Tema 9: Bibliotecas y Colecciones. Programación DIT-UPM
Programación Tema 9: Bibliotecas y Colecciones 1 Contenidos l Bibliotecas l Concepto de colección l Definición y uso de lista (List, ArrayList) l Recorridos sobre colecciones l Conjunto (Set, HashSet)
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesProgramación concurrente en Java
Diseño Y Aplicaciones de Sistemas Distribuidos Programación concurrente en Java Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Threads en
Más detallesTema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Más detallesHOJA 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 detallesContenido. 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 detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesFundamentos 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 detallesSoluciones 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 Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de
Más detallesExcepciones. Excepciones
Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase
Más detallesCapitulo 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 detallesExamen de Estructuras de Datos y Algoritmos (Ingeniería Informática)
Examen de Estructuras de Datos y Algoritmos (Ingeniería Informática) Primera parte (50% nota del examen) Septiembre 2009 1) Se desea hacer un método con la cabecera que se muestra abajo que cree y retorne
Más detallesc) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto
Examen de Programación (13294) Convocatoria de Junio 2008 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 a) Explicar qué es un NullPointerException ( por qué ocurre? cuando se produce?). Dar
Más detallesJUNIT 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 detallesUniversidad de los Andes Ingeniería de Sistemas y Computación. ISIS1205 Algorítmica y Programación 2. Hoja de trabajo teórica Nivel 7 (N7-EE)
Universidad de los Andes Ingeniería de Sistemas y Computación ISIS1205 Algorítmica y Programación 2 Hoja de trabajo teórica Nivel 7 (N7-EE) Cupi2 Enunciado: Desarrolle las modificaciones al programa exposicióncanina
Más detallesElementos 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 detallesGrados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6
Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen 2 (Solución) Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Departamento
Más detallesManual de usuario JUnit
Manual de usuario JUnit Fecha: 17 Diciembre 2014 Referencia: EJIE S.A. Mediterráneo, 14 01010 Vitoria-Gasteiz Posta-kutxatila / Apartado: 809 01080 Vitoria-Gasteiz Tel. 945 01 73 00* Fax. 945 01 73 01
Más detallesIntroducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Más detallesComputación Geométrica Colecciones en Java
Computación Geométrica Colecciones en Java Colecciones en Java Copyright 2010-2011 Universidad de Alicante 1 La interfaz Iterator La interfaz java.util.iterator se usa para recorrer las colecciones posicionales
Más detallesConcurso: 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 detallesPráctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesClase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Más detallesPRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES
FUNDAMENTOS DE PROGRAMACIÓN Curso: 2012/13 PRIMER EXAMEN PARCIAL. 5 de febrero de 2013. SOLUCIONES Versión:1.0.7 EJERCICIO 1: El tipo Beca a) 0,25 puntos public enum TipoBeca { ORDINARIA, MOVILIDAD, EMPRESA
Más detallesProgramación Avanzada, curso 2011 Juan Manuel Fernández Peña
//Ejemplo curso Programación Avanzada feb-jun 2011 //Juan Manuel Fernández public class Persona { private String nombre, apellido1, apellido2; private int dia, mes, anio; aa){ // Constructor public Persona(String
Más detallesParte 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 detallesFUNDAMENTOS DE INFORMÁTICA
ÁREA DE LENGUAJES Y SISTEMAS INFORMÁTICOS DEPARTAMENTO DE INFORMÁTICA E INGENIERÍA DE SISTEMAS ESCUELA DE INGENIERÍA Y ARQUITECTURA FUNDAMENTOS DE INFORMÁTICA 1ª CONVOCATORIA (16-junio-2011) Ejercicio
Más detallesEjercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
Más detallesPruebas, 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 detallesProgramación II Práctica 04: Objetos
Introducción Programación II Práctica 04: Objetos Versión del 01/05/2016 En la siguiente práctica se utilizarán los conceptos de: herencia, sobrescritura, polimorfismo, abstract, extends e implements.
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detallesJAVA 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 detallesIntroducción a C# y la plataforma.net. Pablo Zaidenvoren 2013
Introducción a y la plataforma.net Pablo Zaidenvoren 2013 Plataforma.NET Una plataforma -> Muchos lenguajes Posibilidad de compartir funcionalidades entre ellos! Plataforma.NET Base Class Library -> Funcionalidades
Más detallesEl programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena en una línea, como por ejemplo: h o l a
Examen de Programación (13294) Convocatoria de Junio 2006 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 El programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena
Más detallesSincronización por Colas en en Java
75-62 Técnicas de Programación Concurrentes II Lic. Ing. Osvaldo Clúa 2013 Facultad de Ingeniería Universidad de Buenos Aires Sincronización por Colas en en Java Interface Collection Una interface
Más detallesBENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Y PARALELA PRACTICA 8 MONITORES BASADOS EN SEMÁFOROS
Más detallesEl programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena en una línea, como por ejemplo: h o l a
Examen de Programación (13294) Convocatoria de Junio 2006 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 El programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena
Más detallesDESARROLLO: Realizamos la declaración de variables con inicialización en cero se realizo el menú que se le muestra al usuario.
PRACTICA 1 MENU OBJETIVO: Reforzar conocimientos ya adquiridos sobre el manejo de programación en java a través de un programa, el cual realice un conteo de caracteres, cadenas, verificación de palíndromos
Más detallesSolución al Examen de Fundamentos de Computadores y Lenguajes
Solución al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2006 1) Se dispone de la siguiente clase enumerada. Escribir un método,
Más detallesEstructuras de Datos
Estructuras de Datos Conjunto de nodos sobre los cuales existe una relación de paternidad que verifica: Si no es vacío tiene un único nodo distinguido llamado raíz, que no tiene padre. Cada nodo que no
Más detallesColecciones e iteradores
Colecciones e iteradores - interfaz Collection - clases ArrayList, LinkedList, HashSet, TreeSet - interfaz Map - clases TreeMap, HashMap - Iteratores: interfaz Iterator El lenguaje de programación Java
Más detallesTé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 detallesFundamentos de Programación
Fundamentos de Programación interface 24.11.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemáticos http://www.dit.upm.es/~pepe/doc/fprg/ interface Son clases sí cuentan (public)
Más detallesADSW Tema 2 Diccionarios
ADSW Tema 2 Diccionarios José A. Mañas 10.3.2013 Contenido 1 interface Diccionario... 2 2 Implementaciones... 2 2.1 con arrays... 2 2.2 con arrays ordenados... 3 2.3 árbol binario de búsqueda... 5 2.4
Más detallesProgramación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Más detallesARREGLOS CLASE VECTOR. Ing. Marina Cipolletti
ARREGLOS CLASE VECTOR Ing. Marina Cipolletti QUÉ ES UN ARREGLO? Es una estructura de datos. Almacena datos del mismo tipo en forma indexada. El tamaño se declara en un primer momento y no cambia en tiempo
Más detallesSoluciones 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 detallesTitulación: Ingeniero Técnico en Informática de Gestión Curso: 2º. Nombre-Apellidos:
Nombre-Apellidos: Nota: 1. Ejercicio (1 punto) Responder a las siguientes preguntas de tipo test, seleccionando sólo una de las respuestas. Se evaluarán sólo las respuestas contestadas con el siguiente
Más detallesEstructuras de Datos. 14 de junio de Apellidos
Ejercicio 1) (3 puntos). Dado el TAD Pila de Números Enteros con las siguientes operaciones: boolean pilavacia (); void apilar (int x); int desapilar () throws PilaVacia; SE PIDE: Codificar un método estático
Más detallesEstructuras de Datos Clase 7 Listas e Iteradores (segunda parte)
Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía
Más detallesM.C. Yolanada Moyao Martínez
M.C. Yolanada Moyao Martínez Es una técnica de programación que permite que un bloque de instrucciones se ejecute n veces. En Java los métodos pueden llamarse a sí mismos. Si dentro de un método existe
Más detallesCLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS
CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS 1 TEMAS A VER Listas simples genéricas Pilas Colas 2 LISTA SIMPLE GENÉRICA Una lista simple genérica nos permite crear listas de diferentes objetos: enteros, char,
Más detalles