sábado, 4 de julio de 2009

JUnit

JUnit es una Herramienta que facilita en gran manera el manejo de pruebas a código fuente.
Básicamente JUnit funciona creando clases (carpeta test en NetBeans) que instancian a las clases reales del proyecto, y agregando valores ficticios de entrada a cada método, se compara con valor esperado de respuesta del método. De esta forma se puede saber si el método funciona como se esperaba. Para estas comparaciones. Dependiendo del tipo deseado, se utilizan los distintos asserts de JUnit. A continuación se explicarán los más importantes. (mayoría).

assertEquals(obj1, obj2) Sirve para comparar objetos, y si estos son iguales la prueba es pasada sin error.

assertArrayEquals (array1, array2) Este assert es especifico para Arrays de diferentes tipos, si los arrays son iguales, se considera pasada la prueba.

assertFalse (condicion booleana) Sirve para compara si el valor booleando devuelto por un método es falso. De ser el caso, se considera superada la prueba. (existe el assertTrue, criterio éxito inverso).

assertNotNull (objeto) assert en que se considera aprobada la prueba, si el objeto referenciado es diferente de null. (existe el assertNull, criterio éxito inverso).

assertSame (objeto1, objeto2) assert que compara las referencias de 2 objetos, se considera exitosa la prueba si la referencia es hacía el mismo objeto. (existe el assertNotSame, criterio éxito inverso).

sábado, 27 de junio de 2009

Herramienta MVC Java

Maverick es un controlador de vista de modelo para publicaciones de web con Java y J2EE. Que le permite generar una presentación usando una variedad de plantillas y tecnologías de transformación.

Maverick es fácil de usar , el code es fácil de entender, cualquiera puede comprenderlo fácilmente. Pero no pretende ofrecer todo lo necesario para construir una aplicación web, por ejemplo; conexión de base de datos, servidores de aplicaciones, validación de frameworks ,plantillas de idiomas, ya no existe.

Tus comandos, controladores y vistas estan configuradas con un XML sitemap muy sencillo. Para aun mas flexibilidad, puedes pre-procesarlo con XSLT.Maverick es multi-plataformas; ha sido porteado a ambos .NET y PHP.

Maverick ignora acerca de las tecnologías de vista. puede utilizar cualquier templating engine que te guste con Maverick. Por ejemplo JSP(con JSTL no necesitas especiales tag libaries), Velocity y Domify/XSLT. Los desarrolladores de Maverick activamente utilizar los tres de estos en su "vida real" para construir aplicaciones web.

Esto no es un framework diseñado para personas que construyen frameworks; Maverick ha sido diseñado y construido por gente que crea aplicaciones web para la vida real y están decepcionados con la complejidad y la invasividad de existencia de las herramientas de código abierto (open source tools).

sábado, 13 de junio de 2009

configuraciones



SubVersion:

Lo primero para tener SubVersion es descargar los paquetes de apache, y SubVersion:

sudo apt-get install subversion libapache2-svn


Luego de descargar e instalar. Pasamos a configurar.


sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

Agregamos lo siguiente al archivo (modificamos los valores segun el caso)

DAV svn
SVNPath /home/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

Creamos una carpeta y un repositorio para svn

sudo mkdir /home/svn
sudo svnadmin create /home/svn

Le damos permisos a apache sobre el repositorio
sudo chown -R www-data /home/svn


Para agregar la seguridad del password:

sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd bob


Reiniciamos Apache.
sudo /etc/init.d/apache2 restart

Y listo!


SubVersion, Hudson, Trac

Comandos Basicos SubVersion (svn, svnadmin)

Crear un repositorio nuevo: svnadmin create nombre_repositorio


Hacer una copia de seguridad de todo el repositorio: svnadmin dump nombre_repositorio > ficheroBackup


Restaurar una copia de seguridad en un nuevo repositorio
svnadmin create nombre_nuevo_repositorio
svnadmin load nombre_nuevo_repositorio <>


Añadir un árbol de directorios al repositorio: svn import path_al_directorio nombre_repositorio


Obtener una copia de trabajo: svn checkout file:///nombre_repositorio/dir directorio_de_trabajo


Hacer una copia de seguridad de todo el repositorio: svnadmin dump nombre_repositorio > ficheroBackup


Ver el estado actual de la copia de trabajo: svn status


Actualizar la copia de trabajo con los últimos cambios en el repositorio: svn update


Actualizar el repositorio con los cambios de tu copia de trabajo: svn commit -m "Mensaje para etiquetar los cambios"


Que es Hudson?

Es un servidor que compila el codigo de un proyecto de software de una manera automatizada, para encontrar errores y corregirlos de la manera mas pronta. (su principal ventaja esta en proyectos para los que trabajan mas de un desarrollador)

Herramientas similares:

CruiseControl.NET (CCNet) Es una herramienta del mismo tipo de Hudson, y a sido desarrollada para trabajar en projectos desarrollados en .Net

Cargo. Servidor de prueba continua desarrollado especificamente para aplicaciones java más especificamente J2EE (usado tambien para construcciones con ant y build).


Que es Trac?

Trac es una Herramienta del tipo wiki mejorado, en donde de una manera visual y mas amigable se pueden administrar versiones de un proyecto.

Herramientas similares:

Visual SourceSafe: Herramienta con licencia privativa que engloba el administrador de versiones con ambiente visual junto con servidor de prueba continua de codigo.

sábado, 12 de enero de 2008

El otro lado de la moneda Extreme Programming (XP)


Pues hasta ahora hemos visto modelos de gestión de calidad de software, pero para ir agregando puntos de vista, y otras versiones de la "historia" tenemos del otro lado la Programación Extrema (XP).

La Programación Extrema se basa en el supuesto de que todo en el vida varía, y que este es un proceso natural, para el que hay que estar preparado, y que para un proyecto de desarrollo de software es muy común los cambios en los requisitos, y de allí su punto de vista distinto, En lugar de crear grandes planificaciones, los proyectos de "XP" no lo hacen tan extenso, si no que postulan que es mejor simplemente afrontar el cambio, que tener una gran estructura predefinida, y estar tratando de controlarlo.

Una persona enfocada en este paradigma dice: "Es mejor poner énfasis en la Adaptabilidad que en la previsibilidad" Es decir sus proyectos son totalmente dinámicos.



Las principales características de la "XP" son:

Desarrollo Iterativo incremental: Esto significa que realizan variaciones no grandes entre cada etapa.

Frecuente Interacción con el Cliente: Esto para ir verificando el cumplimiento de los bloques, y reconocimiento de cambio en los requisitos.

Pruebas Unitarias Continuas: Realizar pruebas especificas sobre el código escrito en cada iteración, y recomienda la escrita en papel antes de código de las ideas a realizar.

Corrección de Todos los Errores: Consiste en no avanzar a la siguiente funcionalidad si no esta ideal la anterior.

Programación en parejas: Recomienda trabajar cierta parte del proyecto en parejas, haciendo el mismo trabajo, y juntos, para la revisión instantánea y maximización de ideas.

Simplicidad: En este paradigma se dice, hay que hacer código sencillo, de esta forma si necesitamos modificar algo, será más fácil, incluso agregar funcionalidades.

Refactorizar el Código: Esta relacionado con reescribir el código escrito, con el objetivo de obtener mayor Simplicidad.


Cada quien tiene derecho a tener un punto de vista, yo me quedo con los Modelos de Gestión de Calidad....

jueves, 10 de enero de 2008

Test Autoevaluacion y Autoasesoria CMMI

A continuación les agrego "zips" con autoevaluaciones creadas con referencia en el modelo CMMI de gran utilidad para enfocar esfuerzos, ya que como otros modelos de gestión de calidad, nos provee una "linea base" o de referencia, para medir que tan gestionado esta nuestro proyecto.

1. Test sobre capacidad de procesos de prueba (Ingles Incluye el test, hoja de calculo, archivo de ayuda, explicación de términos y conceptos, y archivo Readme)

2. Test procesos basada en el modelo CMMI-SE/SW/IPPD (Ingles Incluye el test, hoja de calculo, archivo de ayuda, explicación de términos y conceptos, y archivo Readme)

3. Test estamos en nivel 2 CMMI-SE/SW 1.1 (Version Traducida al Español Incluye solamente hoja de calculo)

miércoles, 9 de enero de 2008

Guia Básica Aplicación Metrica


En esta ocación les agrego el link de un PDF que contiene una guía de aplicación del modelo de gestión de calidad de Software "Metrica" Modelo con reseña en este sitio en el post de nombre "Modelo Metrica 3" para acceder haz clik aqui.