2010-06-04 17 views
6

¿Cuáles son algunas buenas herramientas automatizadas para aplicaciones web de prueba de carga (prueba de esfuerzo), que no no usan registro y reproducción de paquetes de red HTTP?¿Alguna sugerencia para una buena herramienta de prueba automática de carga web?

Soy consciente de que existen numerosas herramientas de prueba de carga en el mercado que graban y reproducen paquetes de red HTTP. Pero estos no son adecuados para mi propósito, debido a esto:

  • Los HTTP formato de paquete cambia muy a menudo en nuestra aplicación (por ejemplo, cuando Optimizamos una llamada AJAX). No queremos adaptar todos los scripts de prueba simplemente porque hay un ligero cambio en el formato de paquete HTTP.

  • Nuestro equipo de pruebas no necesita conocer ninguna parte interna de nuestra aplicación para escribir sus scripts de prueba. Sin embargo, una herramienta que reproduce paquetes HTTP requiere para conocer el formato de las solicitudes y respuestas HTTP, de modo que puedan adaptar los detalles de los paquetes HTTP reproducidos (por ejemplo, nombre de usuario).

La herramienta automatizada de pruebas de carga Busco debe ser capaz de dejar que el equipo de prueba de escritura "recuadro negro" scripts de prueba, tales como:

  • página Web de invocación en el URL http: // ....
  • Primero, ingrese XXX en el campo de texto XXX.
  • Luego, presione el botón XXX.
  • Espere hasta que se reciba la respuesta del servidor web.
  • Verifique que el campo de texto XXX ahora contiene el texto XXX.

La herramienta debe ser capaz de simular hasta varios usuarios de 1000, y debe ser compatible con las aplicaciones web que utilizan ASP.NET y AJAX.

+1

He votado las respuestas recomendando Watin y PushToTest, porque estas herramientas no usan el enfoque "Registro y respuesta HTTP". Lamentablemente, solo puedo marcar uno de los dos como respuesta. –

Respuesta

0

TestMaker por PushToTest.com puede ejecutar secuencias grabadas tales como selenio, así como muchos idiomas diferentes, como HTML, Java, Ruby, Groovy, .Net, Visual Basic, PHP, etc. Tiene una infraestructura común para los informes y puede crear carga en su laboratorio de prueba o usar entornos de prueba en la nube como EC2 para laboratorios de prueba virtuales.

Ofrecen seminarios web gratuitos sobre el uso de herramientas de prueba de código abierto mensualmente y hay uno el próximo martes.

http://www.pushtotest.com

+1

Las cinco respuestas en SO recomiendan TestMaker/PushToTest. En aras de la divulgación completa, es posible que desee incluir un descargo de responsabilidad si está asociado con el producto. – rob

1

Una licencia puede ser costosa (si no tiene MSDN), pero Visual Studio 2010 Ultimate Edition tiene un gran conjunto de herramientas de prueba de esfuerzo y carga que hacen lo que usted describe. You can try it out for free for 90 days here.

+0

Ya lo he comprobado; Visual Studio Load Test, sin embargo, utiliza el enfoque de registro y respuesta HTTP, que quiero evitar. –

0

Hay algunos enfoques; Sin embargo, he estado en situaciones en las que he tenido que usar mis propias utilidades generadoras de carga.

En cuanto a la secuencia de comandos de prueba se refiere Implica:

  • el envío de una petición GET a http: // forma página de entrada (sólo comprobar si se da una respuesta 200)
  • el envío de una solicitud POST a la dirección http: // formulario de una página presentar con pares pregeneradas clave/valor para el texto XXX y realizar una verificación de expresión regular en la respuesta

a menos que su página web es complejo a JAX no hay necesidad de "simular presionar un botón": esto es atendido por la solicitud POST.

Dado que su prueba consta de solo un proceso de 2 pasos, debe haber varios paquetes de carga automatizados que podrían hacer esto.

He utilizado anteriormente httperf para probar la carga de un sitio web grande: puede simular una sesión que consta de varias solicitudes y puede simular una gran cantidad de usuarios (es decir, sesiones) simultáneamente. Por ejemplo, si su sitio web generó una cookie de sesión desde la página de inicio, podría hacer que esa sea la primera solicitud, httperf luego usaría esa cookie para solicitudes posteriores, hasta que hubiera terminado de hacer la lista de solicitudes suministradas.

+1

En realidad, quiero evitar el envío de GET/POST en el nivel HTTP (ver mi pregunta). –

+0

Su página es una página compleja de AJAX. Debe saber que no hay lenguajes de programación que puedan emular un navegador JavaScript. Su mejor opción es instalar varias computadoras que ejecutan muchas instancias de su navegador favorito controlado por un script escrito personalizado que se comunica con su navegador favorito. Naturalmente, esta es una gran cantidad de trabajo, por lo que la mayoría de los administradores de sistemas pragmáticos utilizarán un enfoque más simplificado para las pruebas de carga. –

+0

En realidad, ejecutar 1000 PC por usuario en Elastic Compute Cloud de Amazon es algo en lo que ya hemos pensado. El precio estaría bien para nosotros, pero preferiríamos una solución interna. Una herramienta de prueba de carga que emula un navegador JavaScript es exactamente lo que estoy buscando. Creo que no puede ser tan difícil implementar una herramienta de este tipo, porque la herramienta básicamente solo necesita ser compatible con JavaScript (por ejemplo, utilizar el motor de scripting gratuito de Microsoft) y comprender el DOM. Todas las partes complejas tales como CSS o renderización no serían necesarias en dicha herramienta de prueba de carga. –

2

JMeter He encontrado que es bastante útil, también tiene una funcionalidad de grabación para registrar casos de uso para que no tenga que especificar cada GET/POST manualmente sino que haga clic en el caso de uso una vez y luego deje que JMeter repitelo.
http://jmeter.apache.org/

+0

Desafortunadamente, esta herramienta también entra en la categoría de grabación + reproducción HTTP, que explícitamente quiero evitar. –

Cuestiones relacionadas