Las Mejores Herramientas Para Realizar Pruebas de Software

11

Transcript of Las Mejores Herramientas Para Realizar Pruebas de Software

Page 1: Las Mejores Herramientas Para Realizar Pruebas de Software
Page 2: Las Mejores Herramientas Para Realizar Pruebas de Software
Page 3: Las Mejores Herramientas Para Realizar Pruebas de Software

Las mejores herramientas para realizar pruebas de software

Testeando Software

Actualmente el número de herramientas para pruebas de software

disponibles, tanto en el mercado como de manera gratuíta ) herramientas de código abierto), es

muy amplio. En el siguiente listado os dejamos las que para nosotros son lás más importantes.

Las hemos dividido en las siguientes categorías según sean herramientas open source (gratuítas) o

herramientas comerciales (de pago).

1. Herramientas de gestión de pruebas

2. Herramientas para pruebas funcionales

3. Herramientas para pruebas de carga y rendimiento.

Herramientas Open Source:

1) Herramientas de gestión de pruebas

Bugzilla Testopia FitNesse qaManager qaBook RTH (open source) Salome-tmf Squash TM Test Environment Toolkit TestLink Testitool XQual Studio Radi-testdir Data Generator

2) Herramientas para pruebas funcionales

Selenium Soapui Watir  (Pruebas de aplicaciones web en Ruby) WatiN  (Pruebas de aplicaciones web en .Net) Capedit

Page 4: Las Mejores Herramientas Para Realizar Pruebas de Software

Canoo WebTest Solex Imprimatur SAMIE ITP WET WebInject

3) Herramientas para pruebas de carga y rendimiento

FunkLoad FWPTT load testing loadUI jmeter

Herramientas comerciales:

1) Herramientas de gestión de pruebas

HP Quality Center/ALM   QA Complete   qaBook T-Plan Professional SMARTS   QAS.Test Case Studio   PractiTest   SpiraTest   TestLog ApTest Manager   Zephyr

2) Herramientas para pruebas funcionales

QuickTest Pro   Rational Robot   Sahi   SoapTest   Test Complete   QA Wizard   Squish   vTest   Internet Macros  

3) Herramientas para pruebas de carga  y rendimiento

HP LoadRunner LoadStorm NeoLoad WebLOAD Professional Forecast ANTS – Advanced .NET Testing System

Page 5: Las Mejores Herramientas Para Realizar Pruebas de Software

Webserver Stress Tool Load Impact

Herramientas Todo en Uno Test Studio   – Una herramienta para pruebas de rendimiento, carga, pruebas automáticas, gestión

de pruebas y test exploratorio.

Herramientas para pruebas sobre teléfonos móviles Testdroid -Herramienta para pruebas automatizadas para Android.

Hay todavía más herramientas para realizar pruebas de software, así que si crees que shemos

olvidado alguna importante, indícanoslo en un comentario.

Herramientas de Software Libre para el Soporte de Pruebas

1. Introducción

El Software Libre puede ser usado con cualquier propósito, incluso puede ser distribuido de

manera comercial, no hay que confundir gratis con libre. El Software Libre permite tener la libertad

de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y

adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de mejorar el

programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie.

1.1. Propósito

El objetivo de esta actividad es conocer, evaluar y seleccionar herramientas de Software Libre

que soporten pruebas, para su posterior uso en el desarrollo del Plan de Pruebas del Sistema

SIRADEx.

2. Herramientas Investigadas

2.1. 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

Page 6: Las Mejores Herramientas Para Realizar Pruebas de Software

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

2.2. 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.

2.3. 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. Su curva de aprendizaje es mayor que la de otras

herramientas.

Page 7: Las Mejores Herramientas Para Realizar Pruebas de Software

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.

2.4. 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 permitiendo 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.

2.5. 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

Page 8: Las Mejores Herramientas Para Realizar Pruebas de Software

como Spam, cambia el “subject” o “asunto” insertando el tag “*** CACTUS SPAM ***”, pudiendo

así crearse una regla en el cliente de correo que cuando encuentre el tag, lo envíe 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

2.6. 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 métodos, por lo que provee las mismas

funcionalidades, pero en un ambiente de desarrollo de PHP. Trabaja bajo las plataformas

soportadas por PHP.

2.7. 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:

Page 9: Las Mejores Herramientas Para Realizar Pruebas de Software

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.

2.8. GrandTestAutoGrandTestAuto es una herramienta para las pruebas unitarias aplicaciones escritas en Java.

Ejecuta automáticamente todas las pruebas unitarias para una aplicación y, al mismo tiempo los

controles que la prueba unitaria proporcionando una cobertura suficiente.

GrandTestAuto es gratuito para su uso y modificación bajo los términos de la Licencia Wide

Open.

Además, si se desea ejecutar las pruebas unitarias para una aplicación en el desarrollo de una

sola clase, TestRunner, una herramienta que viene con GrandTestAuto, hace el trabajo.

Mediante el uso de GrandTestAuto, puede estar seguro de que su aplicación está ampliamente

probada.

GrandTestAuto requiere JDK1.5 y no posee interfaz grafica pues la herramienta está destinada

a ser ejecutada desde la línea de comandos o automáticamente como parte de un proceso de

construcción. No es claro que una interfaz de usuario añadirá mucho valor a GTA