SlideShare uma empresa Scribd logo
1 de 9
9. Cierre
             JUnit y pruebas unitarias
             Examen




Programación III                   Tema 9 - Cierre
JUnit y pruebas unitarias

   • JUnit es un framework para desarrollar
     pruebas unitarias
           – Pruebas de una clase / módulo de código
           – Objetivo: aislar las partes y probar la corrección
             de cada una
           – Se podrán ejecutar de forma automática
   • JUnit es una herramienta gratuita
           – http://www.junit.org
           – Integrada con Eclipse, NetBeans y otros IDEs


Programación III                  Tema 9 - Cierre
¿Ganamos/perdemos
                     tiempo?
   • Es habitual la idea de que hacer JUnit's es
     una pérdida de tiempo
           – Pero es más una inversión
           – No sólo vale para prueba inicial sino
                   • seguir probando en la evolución del sistema
                   • permiten incorporar los bugs como nuevas pruebas
                   • de forma progresiva ("aprender de los errores")
   • ¡Merece la pena invertir el tiempo para luego
     recuperarlo!


Programación III                        Tema 9 - Cierre
Versión de JUnit

   • JUnit 3 utiliza código Java "habitual"
   • JUnit 4 utiliza anotaciones

   • En este resumen sólo hablaremos de JUnit 3




Programación III           Tema 9 - Cierre
Pasos a seguir
           – Importar JUnit:
                      – import junit.framework.TestCase;
           – Crear una clase que extienda TestCase
                   • Clase de pueba para una clase
           – Implementar método setUp()
                   • Inicialización de las pruebas
           – Implementar método tearDown()
                   • Si procede para liberar recursos (cerrar ficheros...)
           – Definir métodos de test: testXXX()
                   • Uno por cada método original (XXX = nombre)
           – Ejecución del caso de prueba
                   • Método run()
Programación III                           Tema 9 - Cierre
¿Qué hay en los tests?
           – Varios métodos que se pueden utilizar:
                   • testEquals( val1, val2 ) --> si no son equals, fallo
                   • testTrue( cond ) --> si no es cierta, fallo
                   • fail( mensaje ) --> si llega a ejecutarse es fallo
           – También aserciones:
                   • assertFalse( cond ), assertTrue( cond )
                   • assertNull( obj ), assertNotNull( obj )
                   • assertSame( obj ), assertNotSame( obj )




Programación III                           Tema 9 - Cierre
Ejemplo
           public class OperacionTest extends TestCase {
             Operacion o1;
             protected void setUp() throws Exception {
               super.setUp();
               o1 = Operacion.creaOperacion( "2 / -3 * (17 + 1)" );
             }
             public void testCreaOperacion() {
               Operacion o1b = new OperacionBinaria(
                      new Numero(2), '/', new Numero(-3) );
               Operacion o1b2 = new OperacionBinaria(
                      new Numero(17), '+', new Numero(1) );
               o1b = new OperacionBinaria( o1b, '*', o1b2 );
               assertEquals( o1, o1b );
               assertTrue( o1.getValor()==o1b.getValor() );
             }


Programación III                    Tema 9 - Cierre
TestSuite

   • Se pueden agrupar varias pruebas
           – Para lanzar todas juntas

                   TestSuite ts = new TestSuite( "ejemplo" );
                   ts.addTest( new OperacionTest() );
                   ts.addTest( new FraccionTest() );
                   ts.addTest( new RealTest() );




Programación III                      Tema 9 - Cierre
Examen

   • Dos horas
   • Ejercicio de programación en máquina
           – Partiendo de código ya desarrollado
           – Incluirá
                   • Herencia
                   • Interfaces
                   • Excepciones
                   • Ventanas
                   • Eventos
                   • Threads
   • Que compile, que funcione
Programación III                      Tema 9 - Cierre

Mais conteúdo relacionado

Destaque

Metropolitan State University Denver - Kyle Starkey
Metropolitan State University Denver - Kyle StarkeyMetropolitan State University Denver - Kyle Starkey
Metropolitan State University Denver - Kyle StarkeyKyle Starkey
 
eva gluyas CV v6 Feb 2016
eva gluyas CV v6 Feb 2016eva gluyas CV v6 Feb 2016
eva gluyas CV v6 Feb 2016Eva Gluyas
 
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)Edimar Santos
 
Μοσκώβ -Σελήμ, Γ. Βιζυηνός Κείμενα Νεοελληνικής Λογοτεχνίας Β' Λυκείου
Μοσκώβ -Σελήμ, Γ. Βιζυηνός  Κείμενα Νεοελληνικής Λογοτεχνίας Β' ΛυκείουΜοσκώβ -Σελήμ, Γ. Βιζυηνός  Κείμενα Νεοελληνικής Λογοτεχνίας Β' Λυκείου
Μοσκώβ -Σελήμ, Γ. Βιζυηνός Κείμενα Νεοελληνικής Λογοτεχνίας Β' ΛυκείουStella Karioti
 
Biocompatibility of dental materials / aesthetic dentistry courses
Biocompatibility of dental materials / aesthetic dentistry coursesBiocompatibility of dental materials / aesthetic dentistry courses
Biocompatibility of dental materials / aesthetic dentistry coursesIndian dental academy
 
Bed side management and safety
Bed side management and safetyBed side management and safety
Bed side management and safetyBhupendra Makwana
 

Destaque (10)

Metropolitan State University Denver - Kyle Starkey
Metropolitan State University Denver - Kyle StarkeyMetropolitan State University Denver - Kyle Starkey
Metropolitan State University Denver - Kyle Starkey
 
Rent
RentRent
Rent
 
eva gluyas CV v6 Feb 2016
eva gluyas CV v6 Feb 2016eva gluyas CV v6 Feb 2016
eva gluyas CV v6 Feb 2016
 
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)
LIVRO "VEREDINHA HISTÓRIA E CULTURA"(Edimar L.Santos e Ivan Geraldo)
 
Intel CSR Analysis
Intel CSR AnalysisIntel CSR Analysis
Intel CSR Analysis
 
Geosoft Systems Ltd.
Geosoft Systems Ltd.Geosoft Systems Ltd.
Geosoft Systems Ltd.
 
Μοσκώβ -Σελήμ, Γ. Βιζυηνός Κείμενα Νεοελληνικής Λογοτεχνίας Β' Λυκείου
Μοσκώβ -Σελήμ, Γ. Βιζυηνός  Κείμενα Νεοελληνικής Λογοτεχνίας Β' ΛυκείουΜοσκώβ -Σελήμ, Γ. Βιζυηνός  Κείμενα Νεοελληνικής Λογοτεχνίας Β' Λυκείου
Μοσκώβ -Σελήμ, Γ. Βιζυηνός Κείμενα Νεοελληνικής Λογοτεχνίας Β' Λυκείου
 
Biocompatibility of dental materials / aesthetic dentistry courses
Biocompatibility of dental materials / aesthetic dentistry coursesBiocompatibility of dental materials / aesthetic dentistry courses
Biocompatibility of dental materials / aesthetic dentistry courses
 
Bed side management and safety
Bed side management and safetyBed side management and safety
Bed side management and safety
 
Flyer
FlyerFlyer
Flyer
 

Semelhante a Programación III (Java) - 09 Cierre

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013dayaorte
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junitpattyand89
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareIker Canarias
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Juampy NR
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmockkaolong
 
Información básica Java
Información básica JavaInformación básica Java
Información básica JavaFordBull2er
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gioRobert Wolf
 
Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Boni García
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas AutomatizadasAngel Nuñez
 
Jyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc X
 
Ejerciciosparaelprimerparcial
EjerciciosparaelprimerparcialEjerciciosparaelprimerparcial
Ejerciciosparaelprimerparcialmtemarialuisa
 

Semelhante a Programación III (Java) - 09 Cierre (20)

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junit
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de software
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
 
Tdd
TddTdd
Tdd
 
Información básica Java
Información básica JavaInformación básica Java
Información básica Java
 
Test unitarios
Test unitariosTest unitarios
Test unitarios
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
Testeo unitario
Testeo unitarioTesteo unitario
Testeo unitario
 
Jyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc java-cap23 j unit
Jyoc java-cap23 j unit
 
Ios.s14
Ios.s14Ios.s14
Ios.s14
 
Ejerciciosparaelprimerparcial
EjerciciosparaelprimerparcialEjerciciosparaelprimerparcial
Ejerciciosparaelprimerparcial
 

Mais de Andoni Eguíluz Morán

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611Andoni Eguíluz Morán
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Andoni Eguíluz Morán
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...Andoni Eguíluz Morán
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosAndoni Eguíluz Morán
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512Andoni Eguíluz Morán
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Andoni Eguíluz Morán
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoAndoni Eguíluz Morán
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesAndoni Eguíluz Morán
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Andoni Eguíluz Morán
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesAndoni Eguíluz Morán
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaAndoni Eguíluz Morán
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Andoni Eguíluz Morán
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasAndoni Eguíluz Morán
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Andoni Eguíluz Morán
 
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesAndoni Eguíluz Morán
 

Mais de Andoni Eguíluz Morán (20)

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamos
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativo
 
Uso ético y seguro de las TIC
Uso ético y seguro de las TICUso ético y seguro de las TIC
Uso ético y seguro de las TIC
 
Redes Sociales Educativas
Redes Sociales EducativasRedes Sociales Educativas
Redes Sociales Educativas
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitales
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos Digitales
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativa
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)
 
SGGN 20140605
SGGN 20140605SGGN 20140605
SGGN 20140605
 
Programación III (Java) - 07b Swing
Programación III (Java) - 07b SwingProgramación III (Java) - 07b Swing
Programación III (Java) - 07b Swing
 
Programación III (Java) - 07 Eventos
Programación III (Java) - 07 EventosProgramación III (Java) - 07 Eventos
Programación III (Java) - 07 Eventos
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 Ventanas
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7
 
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
 

Último

EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 

Último (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

Programación III (Java) - 09 Cierre

  • 1. 9. Cierre JUnit y pruebas unitarias Examen Programación III Tema 9 - Cierre
  • 2. JUnit y pruebas unitarias • JUnit es un framework para desarrollar pruebas unitarias – Pruebas de una clase / módulo de código – Objetivo: aislar las partes y probar la corrección de cada una – Se podrán ejecutar de forma automática • JUnit es una herramienta gratuita – http://www.junit.org – Integrada con Eclipse, NetBeans y otros IDEs Programación III Tema 9 - Cierre
  • 3. ¿Ganamos/perdemos tiempo? • Es habitual la idea de que hacer JUnit's es una pérdida de tiempo – Pero es más una inversión – No sólo vale para prueba inicial sino • seguir probando en la evolución del sistema • permiten incorporar los bugs como nuevas pruebas • de forma progresiva ("aprender de los errores") • ¡Merece la pena invertir el tiempo para luego recuperarlo! Programación III Tema 9 - Cierre
  • 4. Versión de JUnit • JUnit 3 utiliza código Java "habitual" • JUnit 4 utiliza anotaciones • En este resumen sólo hablaremos de JUnit 3 Programación III Tema 9 - Cierre
  • 5. Pasos a seguir – Importar JUnit: – import junit.framework.TestCase; – Crear una clase que extienda TestCase • Clase de pueba para una clase – Implementar método setUp() • Inicialización de las pruebas – Implementar método tearDown() • Si procede para liberar recursos (cerrar ficheros...) – Definir métodos de test: testXXX() • Uno por cada método original (XXX = nombre) – Ejecución del caso de prueba • Método run() Programación III Tema 9 - Cierre
  • 6. ¿Qué hay en los tests? – Varios métodos que se pueden utilizar: • testEquals( val1, val2 ) --> si no son equals, fallo • testTrue( cond ) --> si no es cierta, fallo • fail( mensaje ) --> si llega a ejecutarse es fallo – También aserciones: • assertFalse( cond ), assertTrue( cond ) • assertNull( obj ), assertNotNull( obj ) • assertSame( obj ), assertNotSame( obj ) Programación III Tema 9 - Cierre
  • 7. Ejemplo public class OperacionTest extends TestCase { Operacion o1; protected void setUp() throws Exception { super.setUp(); o1 = Operacion.creaOperacion( "2 / -3 * (17 + 1)" ); } public void testCreaOperacion() { Operacion o1b = new OperacionBinaria( new Numero(2), '/', new Numero(-3) ); Operacion o1b2 = new OperacionBinaria( new Numero(17), '+', new Numero(1) ); o1b = new OperacionBinaria( o1b, '*', o1b2 ); assertEquals( o1, o1b ); assertTrue( o1.getValor()==o1b.getValor() ); } Programación III Tema 9 - Cierre
  • 8. TestSuite • Se pueden agrupar varias pruebas – Para lanzar todas juntas TestSuite ts = new TestSuite( "ejemplo" ); ts.addTest( new OperacionTest() ); ts.addTest( new FraccionTest() ); ts.addTest( new RealTest() ); Programación III Tema 9 - Cierre
  • 9. Examen • Dos horas • Ejercicio de programación en máquina – Partiendo de código ya desarrollado – Incluirá • Herencia • Interfaces • Excepciones • Ventanas • Eventos • Threads • Que compile, que funcione Programación III Tema 9 - Cierre