jueves, 26 de julio de 2007

Selenium - JavaScript Web Application Security Testing Tool

Entre las buenas practicas de desarrollo seguro esta el uso de distintas herramientas de test de aplicaciones y tests automatizados de errores, para el caso de los desarrollos web tenemos a ...

Selenium
,
una herramienta de código abierto que funciona directamente sobre el navegador web, carga los script de prueba y los va comprobando uno a uno dando al final una tabla con los resultados.
Esta herramienta trabaja con aplicaciones en línea y es multilenguaje (Java, PHP, .NET, Perl, otros), admite páginas DHTML complejas, funcionalidad para JavaScript así como llamadas AJAX, permite también un fácil y rápido testeo de aplicaciones complejas Web 2.0.

Selenium tiene dos maneras básicas de funcionar:
-Selenium IDE: mediante el navegador firefox (extensión), esta herramienta te permite grabar las acciones para luego repetirlas y así comprobar que una aplicación web, o el propio navegador, siguen funcionando bien. Crea pruebas funcionales sin programar nada, pero son algo rígidas.
Es decir te permite "automatizar acciones" por ejemplo rellenar formularios, test de funcionalidad específicos, parametrizar, navegar por webs con menú tediosos etc.
Para ver una pantalla de esta versión acceder a este link y para acceder a un vídeo de demostración tenemos este otro link.
- Selenium RC (Remote Control): Selenium Remote Control provides a Selenium Server. Realiza tareas automáticas en JavaScript. Trabaja con con una una librería llamada PHPUnit que se integra perfectamente en PEAR mediante su propio canal, permite automatizar la interacción de un usuario virtual con el navegador, y tomar nota posteriormente de los resultados producidos.
Los tests con Selenium se ejecutan directamente en cualquier Navegador :
* Windows: Internet Explorer 6.0, Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+, Seamonkey 1.0, Opera 8
* Mac OS X: Safari 1.3+, Firefox 0.8 to 1.5, Camino 1.0a1, Mozilla Suite 1.6+, 1.7+, Seamonkey 1.0
* Linux: Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+ y Konqueror.

Rubén Gómez, autor de la web RKG@home nos recomienda los siguientes link relacionados:
. Guía de instalación de PHPUnit

. Guía de instalación Selenium-RC
: Recordar que buscará el nombre del navegador configurado en nuestro sistema de pruebas en el path, para Firefox por ejemplo buscará firefox-bin
. Artículo muy interesante
con un proyecto ejemplo de este tipo de sistema de pruebas, e información más o menos detallada de cómo probarlo (tener en cuenta el tutorial anterior)
Con respecto al unit test de toda la vida, una característica muy interesante también de PHPUnit es la capacidad de generar clases de pruebas esqueletos sobre nuestras clases e incluso crearlos en tiempo real a partir de unas directivas de preprocesamiento que incluiríamos en las mismas a modo de comentarios, la información sobre esto se encuentra en la guía de bolsillo de PHPUnit, sección Skeleton.

Otro link vinculado con la herramienta es la web programania.net donde presentan una opinión distinta de la utilidad de Selenium.
Actualizado al 16/Sep/07

No hay comentarios: