Conocer y utilizar herramientas de Software Libre que

Anuncio
Proyecto de Sistema de Registro de las Actividades de Extensión de
Profesores y Estudiantes de la Universidad Simón Bolívar
Documento de Herramientas de SW Libre que soportan Pruebas
Versión <1.0>
Herramientas de Software Libre que soportan pruebas.
El objetivo de esta actividad es conocer herramientas de Software Libre
que soporten pruebas, para su posterior uso. A continuación, se presentan
algunas:
Junit
JUnit es un conjunto de librerías que son utilizadas en programación
para hacer pruebas unitarias de aplicaciones Java.
JUnit es un conjunto de clases (framework) que permite realizar la
ejecución de clases Java de manera controlada, para poder evaluar si el
funcionamiento de cada uno de los métodos de la clase se comporta como se
espera. Es decir, en función de algún valor de entrada se evalúa el valor de
retorno esperado; si la clase cumple con la especificación, entonces JUnit
devolverá que el método de la clase pasó exitosamente la prueba; en caso de
que el valor esperado sea diferente al que regresó el método durante la
ejecución, JUnit devolverá un fallo en el método correspondiente.
JUnit es también un medio de controlar las pruebas de regresión,
necesarias cuando una parte del código ha sido modificado y se desea ver que
el nuevo código cumple con los requerimientos anteriores y que no se ha
alterado su funcionalidad después de la nueva modificación.
En la actualidad las herramientas de desarrollo como NetBeans y
Eclipse cuentan con plug-ins que permiten que la generación de las plantillas
necesarias para la creación de las pruebas de una clase Java se realice de
manera automática, facilitando al programador enfocarse en la prueba y el
resultado esperado, y dejando a la herramienta la creación de las clases que
permiten coordinar las pruebas.
Este framework se encuentra actualmente en la versión 4.4.
Spec Explorer
Spec Explorer es una herramienta para realizar pruebas basadas en
modelo, para detectar defectos en el diseño, especificación e implementación
de programas.
Es un desarrollo del centro de investigación de Microsoft que se puede
descargar gratuitamente para usos no comerciales.
Ayuda a los equipos de desarrollo a detectar errores de diseño,
especificación e implementación
Tiene 3 componentes:
- Un verificador que ejecuta las pruebas de comportamiento
- Un motor que desenvuelve el estado final resultante
- Los lenguajes de modelado de software Spec# y AsmL
Abbot:
Abbot sirve tanto para probar componentes de manera aislada como
para grabar y reproducir una secuencia de acciones. La herramienta viene
con un editor (llamado Costello) muy completo que facilita la tarea de
grabar secuencias, construir casos de prueba, y reproducirlas.
Con el editor se ejecuta la aplicación y captura todas las pulsaciones de
ratón perfectamente. El editor, además, registra todos los componentes
(JMenuBar, JPane, JTextPane, etc. ) implicados en la secuencia.
Abbot almacena los casos de prueba en un XML bastante complejo, lo
que hace difícil hacer pruebas sin grabar/reproducir. La descripción de
errores es muy poco clara, ya que se limita simplemente a mostrar el texto
de la excepción.
Push to Test Test Maker
TestMaker es una aplicación de comprobación de servicios Web de
PushToTest. Requiere Java 1.4 para funcionar.
La instalación es simple.
Las pruebas de TestMaker están agrupadas en scripts llamados “Test
Agents”. El producto hace honor a su nombre al proporcionar un Agent Wizard
que leerá una definición WSDL y creará automáticamente un agente de prueba
delgado.
Debemos aclarar que TestMaker no está limitado a probar servicios Web;
también puede ser usado para probar aplicaciones Web. Los agentes de
prueba de TestMaker están escritos en Jython (Python escrito en Java). Por un
lado, los scripts de TestMaker pueden ser tan poderosos como lo permitan sus
habilidades de programador. Jython puede acceder a todas las librerías de
Java, así como las clases y métodos proporcionados con TestMaker. La librería
más grande de TestMaker es TOOL (Test Object Oriented Library: Librería de
Pruebas Orientadas a Objetos), e incluye clases para manejo de toda clase de
protocolos de comunicación: HTTP, HTTPS, SOAP, POP3, JDBC, y más.
Su curva de aprendizaje es mayor que la de otras herramientas.
Marathon
Herramienta de prueba simple y flexible para aplicaciones Java GUI
desarrolladas usando Swing (biblioteca gráfica)
Puede ser usado para desarrollar pruebas antes de que la aplicación
este disponible
Esta herramienta sólo sirve para pruebas de sistema/aceptación, no
permitirnedo escribir pruebas para componentes de manera individual. En esta
herramienta las pruebas no se guardan en XML sino en Python (y se procesan
con JPython). Esto hace que el código sea muy compacto, muy legible y que
tengamos
toda
la
potencia
de
Python
a
nuestra
disposición.
Aunque el editor no es tan completo como el editor de Abbot, incluye un menú
contextual sobre la aplicación a prueba que permite añadir comprobaciones al
mismo tiempo que se graba. Sin embargo también presenta problemas. El más
importante es que no se ha capturado la interacción con el diálogo para abrir un
archivo.
Cactus
Cactus Spam Filter es un software que puede ser usado con cualquier
cliente de correo, por ejemplo: Thunderbird, Outlook, Outlook Express, Eudora,
etc. Cactus Spam Filter funciona sobre Windows 2000 y Windows XP.
El funcionamiento de Cactus Spam Filter es muy simple, pero efectivo, lo que
hace es inspeccionar y modificar los correos que bajamos a través nuestro
cliente de correo con el protocolo POP3, revisando el encabezado del correo
que se esta recibiendo y en caso de detectarlo como Spam, cambia el “subject”
o “asunto” insertando el tag “*** CACTUS SPAM ***”, pudiendo asi crearse una
regla en el cliente de correo que cuando encuentre el tag, lo envie a la
papelera. Simple y efectivo.
La efectividad de Cactus Spam Filter aumenta a medida que lo utilizamos y le
enseñamos que es Spam y que no lo es. Cuando llega un correo Spam que no
fue identificado como tal, le enseñamos al software que ese correo es Spam,
así irá aprendiendo los patrones de Spam que recibimos en nuestro email.
Si nos llega correos de amigos o familiares desde cuentas de Hotmail o Gmail
que son marcadas como Spam por Cactus Spam Filter, lo entrenamos para
poner a nuestros contactos en la lista blanca.
Un software altamente recomendado por su efectividad y lo fácil de usar para
quienes tienen cuentas de correo electrónico que no poseen un servicio
antispam
phpAsserUnit
Es un tipo de herramienta o framework para hacer pruebas en PHP
(freeware).
Se basa en jsAsserUnit. Es un tipo de wrapper para los metodos, por lo
que provee las mismas funcionalidades, pero en un ambiente de desarrollo de
PHP. Trabaja bajo las plataformas soportadas por PHP.
PhpUnit
Es un tipo de herramienta o framework para hacer pruebas con PHP
(freeware).
Es igual que Junit para Java pero este es para PHP. Trabaja bajo las
plataformas soportadas por PHP.
Al igual que JUnit, PHPUnit es un framework para unit testing en
específico a PHP, que nos permite realizar prueba rápidamente, que son fáciles
de hacer, leer y analizar e independientes entre sí, entre otros.
PHPUnit es un framework para PHP que nos facilita la creación de
juegos de tests y la ejecución de estos y analiza sus resultados. Aunque
inicialmente PHP empezó como complemento dinámico para pequeñas
páginas web, actualmente PHP se utiliza para desarrollar aplicaciones web
complejas, por lo que es importante poder realizar las pruebas pertinentes a
nuestro código.
Entre las características nos encontramos con:

Forma parte del grupo de frameworks de xUnit

Puerto completo deJUnit para PHP5.

Soporte para Mock Objects (jMock).

Almacena los resultados en una Test Database.

Se integra con varias aplicaciones de test.
Cuadro comparativo
Cactus JUnit
Generación
de
reportes
Spec
Test
Explorer
Maker
si
si
si
si
si
si
si
Marathon
Abbot
Multiplataforma si
si
Diseño simple
si
si
si
si
si
si
si
si
si
si
Pruebas lógicas si
si
si
si
si
si
Pruebas
funcionales
Pruebas
desempeño
de
si
si
si
si
Bibliografía
-
http://es.wikipedia.org/wiki/JUnit
-
http://junit.sourceforge.net/
-
http://en.wikipedia.org/wiki/Cactus
-
http://research.microsoft.com/specexplorer/
-
http://www.navegapolis.net/content/view/462/88/
-
http://www.centronsoftware.com/tcbasic.html
-
http://www.members.thebigbus.com/resources/TestMaker/index.htm
-
http://en.wikipedia.org/wiki/Marathon
-
http://abbot.sourceforge.net/doc/overview.shtml
-
http://www.testingfaqs.org/t-unit.html#phpAsserUnit
-
http://www.testingfaqs.org/t-unit.html#PhpUnit
-
http://www.appperfect.com/products/teststudio.html?gclid=CMit1d3Jjp
MCFQ-WGgodNwVUgQ
-
http://www.opensourcetesting.org/unit_php.php
-
http://www.exefind.com/php-testing/
Descargar