martes, 7 de septiembre de 2010

DIA 6 y 7 de Septiembre:Realizacion examen TDD

Inventa una funcionalidad a resolver con pruebas unitarias. Una vez aprobada por el profesor, crea la prueba, explícala en un documento paso a paso y parte por parte, e implementa el código necesario para su funcionamiento. Una vez acabado sube a repositorio y envia mail a profesor.

Inventa una funcionalidad a resolver con pruebas de comunicación o caja blanca. Una vez aprobada por el profesor, crea la prueba, explícala en un documento paso a paso y parte por parte, e implementa el código necesario para su funcionamiento. Una vez acabado sube a repositorio y envia mail a profesor.

Martes 2 y 3 de Septiembre:Pruebas De Caja Blanca

Las pruebas de caja blanca o caja transparente son más exigentes que las de caja negra, ya que se concentran en la forma en que el programa realiza su funcionalidad para lograr el resultado, y no en el resultado en sí.

Para ello se hacen comprobaciones de las comunicaciones entre los objetos, teniendo en cuentra al mismo tiempo los valores que se envían en dichas comunicaciones (parámetros) y los valores de retorno.

El framework/librería que utilizaremos para su exposición es Mockito .

Pasos para usar los objetos Mocks en nuestra clase prueba:
1)incluimos el import static de la libreria en nuestra clase prueba
2)Definimos nuestro metodo de prueba donde vamos a utilizar los mocks
3)Creamos los mocks y esperamos las llamadas a estos objetos


- Ejercicio a desarrollar de forma personal
TODO: Para desarrollar las siguientes funcionalidades habrá que definir el escenario de prueba (incluyendo mocks), las invocaciones y los resultados que garanticen el perfecto funcionamiento de la aplicación
  • Un fotografo, una vez que haya seleccionado una lista de fotografias propias, podrá enviar dicha seleccion a un servicio de revelado de copias (ServicioRevelado)

  • Un fotografo, una vez que haya seleccionado una lista de fotografias propias, podrá enviar dicha seleccion a un servicio de revelado de copias (ServicioRevelado), indicando el numero de copias de cada fotografia incluida
  • Un fotografo, una vez que haya seleccionado una lista de fotografias propias, podrá enviar dicha seleccion a un servicio de revelado de copias (ServicioRevelado), indicando el numero de copias de cada fotografia incluida y el tamaño de revelado( tamaño1, tamaño2, tamaño3) de cada fotografia

Lunes 1 De Septiembre : DESARROLLO DIRIGIDOPOR PRUEBAS(TDD - Test Driven Development)

Lo primero de todo es añadir a nuestro delicios la siguiente direccion: http://enjava.tiddlyspot.com/
Es otro blog donde el profesor ira publicando los futuros modulos.


El desarrollo guiado por pruebas, o Test-driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización (Refactoring).
Para esto utilizamos PruebasUnitarias .

Pasos de la prueba:
1) Escribir la prueba
2)Refactorizacion(cambiar los nombres a los metodos,variables,etc).Es para que el código sea legible en un futuro.
El proposito es lograr un código limpio que funcione.
3)Se lanzan pruebas en bateria
Vamos a probar una parte concreta con una prueba especifica.

Formas de escribir una Prueba:
  1. elegir el caso de uso o requerimiento
  2. crear los objetos que componen el escenario de prueba
  3. invocacion de programa
  4. comprobacion de resultados (Pruebas de Caja Negra) o comportamientos(Pruebas De Caja Blanca) y generación de mensajes con sentido
  5. refactorizacion

Utilizamos la etiqueta @Test para indicar los metodos de prueba
Utilizamos la etiqueta @DataProviderpara probar con diferentes valores.

Ejercicio a desarrollar Picacea(Catalogo de fotos):

Primera fase del desarrollo: código no compila

Segunda fase del desarrollo TDD:escribimos el código necesario para compilar

Tercera fase: se lanza la prueba para que falle

Cuarta fase: se escribe el menor código posible para que la prueba pase

Quinta fase: se refactoriza la prueba y/o el código








jueves, 29 de julio de 2010

Martes 27 y Miercoles 28 de julio

Realizacion del proyecto biblioteca.

Examen primer módulo:

Lunes 26 de julio

MAVEN
http://groups.google.com/group/eticom-master-java/web/maven
http://groups.google.com/group/eticom-master-java/web/maven-avanzado

VIERNES 23 DE JULIO

Hacer un ejercicio con ANT

Crear un appWeb.war .Conjunto de archivos que constituyen una aplicación web java


appWeb.war

├─── META-INF
│ └───MANIFEST
└─── WEB-INF
└───── web.xml
├───└── classes
├───└── es
│ └─── cea
│ └───HolaMundo.class
└─── lib
└───commons-logging.jar

OTRO Ejercicio a desarrollar con ANT

Archivo ANT (build.xml) que compile java teniendo en cuenta las librerías (dependencias) necesarias y genere un archivo jar. Lanzar esta tarea de compilacion desde el cmd de windows.

JUEVES 22 DE JULIO

Hemos dado XML (Extensible Markup Language).Intercambio de informacion entre plataformas.

Un XML tiene que tener el modo raiz.Dentro de esa raiz hay hijos,y los hijos tienen subhijos.

VALIDACION XML

DTDs.Se define el tipo de documento.
Schema.Te obliga mas que el DTDs. Te dice el tipo de dato.
Si incumplimos esta validacion nos da fallo el XML mal formado.

http://es.wikipedia.org/wiki/XML

http://www.w3schools.com/xml/default.asp


Apache ANT


* instalar ANT:http://apache.rediris.es/ant/binaries/apache-ant-1.7.0-bin.zip
o intentamos lanzar este archivo con ANT http://code.google.com/p/eticom-master-java/source/browse/trunk/eticom-jdbc/src/build.xml?r=98


* ejemplo de archivo build.xml: http://www.adp-gmbh.ch/java/ant/build_xml.html
* intro en español...
o http://www.marioalberto.com.mx/articulos/java_ant_basico.php
o http://www.javahispano.org/contenidos/es/introduccrion_a_ant/
* doc en inglés de los core task...
o http://ant.apache.org/manual/index.html
o http://ant.apache.org/manual/anttaskslist.html
o http://ant.apache.org/manual/CoreTasks/jar.html
o http://ant.apache.org/manual/CoreTasks/war.html