Pregunta

Parece que hay una gran cantidad de herramienta de pruebas de estrés / carga que soporta AJAX.
Me pregunto ¿qué tan bien implementado estas herramientas.

No les queda registro de solicitud HTTP y reproducirlo?
Es la manera correcta para probar AJAX aplicación?
¿Cómo Google prueba sus aplicaciones ajax?

¿Fue útil?

Solución

Si usted está preocupado acerca de la funcionalidad única, algo así como Watin , Watir , selenio o cualquier funcional herramienta para el caso funcionaría. Mientras se pone suficiente tiempo en las pruebas funcionales para permitir devoluciones de llamada ajax entonces que debe hacer el truco.

Para añadir a mi respuesta,

Si se trata de las pruebas unitarias javascript que podría utilizar algo como qunit como se describe por un compañero LosTechian en esta publicación . Este es un uso bastante según la invención de un complemento nunit y qunit para integrar js pruebas de unidad.

Por pura coincidencia, la misma persona que publicó que entrada en el blog de pruebas qunit acaba de publicar ayer sobre una este mismo tema

Otros consejos

La mayoría de las herramientas de pruebas de carga por ahí hacer la carga AJAX pruebas de la misma manera: ejecutan el tráfico HTTP en bruto que se ve durante una fase de "grabación" (que puede ser solicitudes de páginas, las solicitudes de imágenes, o incluso peticiones AJAX). La principal diferencia entre ellos es lo bueno es su herramienta grabador / IDE es y lo fácil que le ayuda a parametrizar las peticiones HTTP que reflejen el tráfico mundo real basado en los resultados dinámico / en tiempo real.

Advertencia, flagrante enchufe : La única excepción a esto es mi empresa, BrowserMob . En lugar de simular el tráfico observó, que en realidad utiliza navegadores web reales para hacer retroceder a la carga. Como tal, la materia AJAX es manejado por el navegador.

Enlace de interés : separar de la flagrante tapón superior (aunque espero que verlo - estamos en la delantera con la fijación de precios y proporcionar una prueba gratuita), hace poco escribí un artículo para Ajaxian sobre pruebas de carga AJAX . Se va a más detalles acerca de las implicaciones técnicas de uso de los usuarios del navegador reales (RBUS) frente a los usuarios virtuales (VU).

Tome un vistazo a LoadBooster ( https://www.loadbooster.com ). Se utiliza sin cabeza de secuencias de comandos del navegador PhantomJS / CasperJs para probar sitios web. PhantomJS analizará y hacer que cada página, ejecutar el script del lado del cliente. El enfoque navegador sin interfaz es más fácil escribir escenarios de prueba para apoyar AJAX complejo pesada aplicación Web 2.0, la navegación del explorador, clic del ratón y las pulsaciones de teclado en el navegador o esperar hasta que exista un elemento de DOM. LoadBooster support script HTML selenio también.

exención de responsabilidad: yo trabajo para LoadBooster.

aplicaciones de Google están escritos en GWT, que viene con su propia extensión de JUnit. artículo en aplicaciones de pruebas de unidad ajax con GWT .

Si no desea configurar su propio servidor de pruebas de carga, hay un par de servicios de pruebas de carga en línea gratuitos que se pueden ejecutar las pruebas de carga directamente a través de Internet. Por ejemplo http://loadimpact.com o http://loadstorm.com

He usado Generador usuario virtual, que es una parte del software LoadRunner de HP, para probar aplicaciones AJAX. El software tiene varios protocolos de aplicaciones que se pueden utilizar para registrar las aplicaciones web, por ejemplo, AJAX, y haga clic y secuencias de comandos.

Para la mayoría de la carga de aplicaciones Web para ello, es suficiente para grabar y reproducir peticiones http. Esto le dará el resultado de cómo los servidores están manejando la carga. Si su aplicación web hace un montón de carga asíncrona y renderizar en el lado del cliente, por ejemplo, análisis de grandes conjuntos de datos de XML o JSON, o muchas modificaciones DOM, puede ser relevante para incluir el nivel navegador para medir la experiencia del usuario final.

Todos los probadores de carga apoyarían AJAX ellos son simplemente conexiones HTTP adicionales.

Hay algunas libres hacia fuera allí- Jmeter , BadBoy , Grinder que todos lo hacen así.

Todos ellos tienen algún tipo de ayuda para la grabación / reproducción, pero eso no es siempre lo que estás buscando.

La manera más fácil que he hecho es para grabar una sesión de ejemplo, sustituir unos parametros con variables y el bucle fuera de un archivo CSV o Excel.

Punto de partida: video de una presentación de Google en las pruebas de código abierto <. / p>

Editar: actualizado enlace de vídeo

.

He usado SilkPerformer en un trabajo anterior . De acuerdo con el enlace, tienen algunas mejoras AJAX. Por desgracia, la seda es lejos de ser libre.

Jiffy . Es una suite de medición de extremo a extremo, y es posteriormente especie de complejo. Sin embargo, las estadísticas son bastante impresionantes.

asedio? que puede hacer la prueba de HTTP y pase lo que quiera.

También puede echar un vistazo a fwptt es de código abierto. Si usted es un desarrollador de .NET se puede hacer uso de la manipulación automática de parámetros y la posibilidad de utilizar su propio objeto .NET para hacer las pruebas.

He utilizado con éxito para JMeter prueba de carga de nuestra aplicación Ajax (JSF / RichFaces). No me molesté con la herramienta de grabación de JMeter -. En vez usé el plugin para Firefox HttpFox para monitorear lo que el navegador es POST-ción con el servidor y he recreado en este JMeter

Se nos hacía un poco complejo, pero la prueba de carga actual es bastante robusto. JMeter tiene todo tipo de 'elementos' útiles para extraer Identificación de desde una página web, realizar la lógica condicional, incrementan los contadores, etc.

aislado Mejor escritura método de prueba o API para aplicaciones ajax pruebas de carga. Hay algunas razones:

  • No es tan fácil de escribir pruebas funcionales para aplicaciones Ajax, por ejemplo, para GWT.
  • Puede utilizar Jmeter WebDriver complemento , pero para cada ejecución se inicia el navegador que se utilice la mayor parte de RAM y CPU.
  • No se cargará backend frontend, para que pueda evitar ajax.

Puede dividiremos su prueba de esa manera: para la aplicación Ajax uso de selenio o PhantomJS / CasperJS. Para las pruebas de carga utilizar JMeter, Gatling través de la API no a través de Ajax.

Mi elección es Firebug (complemento de navegador). su muy ligero y fácil de manejar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top