2010-05-24 15 views
6

Tenemos una base de código considerable con una cobertura de prueba relativamente alta para páginas/formularios, todo vía vainilla POST/GET.Selenium vs old-school POST/GET basado en pruebas

Ahora, nos encontramos moviéndonos más hacia el espacio 'ajaxy', y no es posible probar escenarios completos GET/POST como el registro de usuarios o la creación de un elemento, ya que implican muchas llamadas JavaScript/Ajax .

Si bien estas cosas son las más probables candidatas para las pruebas con Selenium, me pregunto si deberíamos adoptar las pruebas de Selenium en todos los ámbitos, dejando las pruebas POST/GET de la vieja escuela por completo.

Las ventajas de la adopción de Selenium parecen ser demasiado buenas: posibilidad de ejecutar prácticamente las mismas pruebas GET/POST pero en todo el rango de navegadores.

¿O me está perdiendo algo en mi búsqueda de cosas geniales y de moda y abandonando las antiguas y probadas pruebas POST/GET?

Respuesta

6

Existen ventajas y desventajas de ambos enfoques, por lo que mi recomendación sería usar ambos.

Selenium lanza un navegador real y simula a un usuario que interactúa con su aplicación web, lo cual puede ser excelente si está probando las características de Ajax. Puede verificar que los elementos estén visibles e interactuar con ellos tal como lo haría un usuario. Otra característica importante es la capacidad de tomar capturas de pantalla a través de Selenium, que puede ser increíblemente útil cuando se investigan fallas.

Desafortunadamente, iniciar un navegador y navegar a una página/estado específico en su aplicación puede ser lento, y necesitaría mucho hardware si quisiera probar usuarios concurrentes (prueba de carga) con Selenium.

Si solo quiere probar que su servidor responde con un HTTP 200 para ciertas acciones, o cargue probar sus aplicaciones, o que la respuesta contiene ciertos valores, entonces POST/GET básico sería más adecuado.

Si decide utilizar un enfoque de Selenium puro para las pruebas, le recomiendo examinar el uso de Selenium Grid o un servicio basado en la nube, ya que la ejecución de muchas pruebas a través de Selenium puede consumir bastante tiempo.

4

Creo que definitivamente debe usar las pruebas Selenium y POST/GET (Unidad) por completo, porque el objetivo de su prueba unitaria es probar la funcionalidad de una sección específica de código, pero Selenium está realizando pruebas de integración en su aplicación web .

Cuestiones relacionadas