¿Necesitas realmente Selenium?

Acabo de leer un interesante artículo que critica Selenium (¡gracias, Raúl!). Pongo por delante que yo soy un gran fan de Selenium como generador de pruebas funcionales. Me gusta mucho por su sencillez y por su eficacia.

Las principales críticas que el artículo esgrime es que Selenium es muy lento a la hora de hacer pruebas automatizadas. Selenium funciona emulando acciones dentro del navegador de verdad, no con un navegador falso como pudiera hacer, por ejemplo, HTTPunit. Lo que si acaba admitiendo el artículo es que existen algunos tipos de pruebas, como los que no están basados en la interacción entre el cliente (navegador) y el servidor que sólo los puedes hacer con Selenium. Por ejemplo todo aquello que sea el resultado del uso de javascript.

En mi opinión el artículo tiene razón. Lo que viene a decir es que habrá mucha gente que pueda estar utilizando Selenium y soportando cierta lentitud en las pruebas, sin que realmente necesite todo su potencial. Si esa gente utilizara herramientas como HTTPunit para pruebas sencillas les puede bastar. Pero, ¡ojo!, porque seguramente para hacer pruebas también se esté utilizando algún tipo de xUnit (jUnit, phpUnit, etc…) y las pruebas se te pueden solapar, de forma que pruebes lo mismo con HTTPunit y con jUnit haciendo tus pruebas inútiles.

Para mí la clave de Selenium y las pruebas funcionales es que te permiten llegar a dónde los xUnit no llegan. Si los utilizas para lo mismo, estás duplicando el trabajo…

El artículo original.

2 Comentarios

  • 1. alfredo  |  Enero 29th, 2007 at 11:10 pm

    Interesante el articulo.

    En mi opinión las mismas pruebas que realizas con HTTUnit las puedes realizar sin problema con Junit usando objetos mock para las request, por ejemplo con springMVC es muy sencillo hacerlo.

    Luego selenium es para otra cosa, probar la aplicación “de arriba a abajo” y esto requiere por supuesto pasar por el interfaz de usuario, yo de momento estoy empezando con selnium y de momento me esta gustando, aunque es cierto que aún no lo tengo integrado dentro del proceso de desarrollo y build. aprovecho para hacerte un par de preguntas si no te importa :P

    - ¿Mecere la pena integrar las pruebas de selnium con el build diuario o CI?, ¿es muy lento o problematico?

    - ¿Que tal selenium para probar aplicaciones AJAX?, tengo una aplicación bastante compleja con GWT y me gustaría saber hasta que punto es posible automatizar las pruebas funcionales con selnium.

  • 2. Luis Artola  |  Enero 29th, 2007 at 11:31 pm

    Te digo: Selenium es la caña. Es muy potente y sencillo de aprender. Ahora bien, va por la versión 0.8 y apenas tiene documentación todavía. Cuando uno se lanza a utilizarlo tiene que tener paciencia y muchas ganas de andar probando y equivocándose una y otra vez.

    Los test de Selenium se pueden integrar en “test suites”. Puedes hacer un test suite con todos las pruebas que tengas para la aplicación.

    Saludos!

Comenta el articulo:

Requerido

Requerido,