Pergunta

Parece haver um monte de estresse / carga testar ferramenta que AJAX apoio.
Eu estou querendo saber o quão bem faz estas ferramenta implementada.

Será que eles único pedido http registro e reproduzi-la?
É o caminho certo para aplicação de teste AJAX?
Como o Google teste seus aplicativos Ajax?

Foi útil?

Solução

Se você está preocupado sobre a funcionalidade única, algo como Watin , Watir , selênio ou qualquer funcional ferramenta para que o assunto iria funcionar. Contanto que você colocar tempo suficiente em seus testes funcionais para permitir ajax chamadas de retorno, em seguida, que deve fazer o truque.

Para adicionar à minha resposta,

Se você está falando de unidade testar seu javascript você poderia usar algo como QUnit como descrito por um colega LosTechian nesta postagem . Este é um uso muito inventiva de um suplemento nunit e QUnit para testes de unidade integrando js.

Por pura coincidência, a mesma pessoa que postou que QUnit teste post só postou um ontem sobre este tema

Outras dicas

A maior parte da carga de ferramentas de teste lá fora, fazer carga AJAX testando da mesma maneira: eles executam o tráfego HTTP cru que é visto durante uma fase de "gravação" (que pode ser solicitações de páginas, pedidos de imagem, ou mesmo pedidos Ajax). A principal diferença entre eles é o quão bom sua ferramenta de gravador / IDE é eo quão facilmente ele ajuda você parametrizar a solicitações HTTP tal que eles refletem o tráfego do mundo real com base em dinâmicas resultados / em tempo real.

Atenção, plugue flagrante : A única verdadeira exceção a isso é a minha empresa, BrowserMob . Em vez de simular o tráfego observado, ele realmente usa navegadores reais para dirigir de volta carga. Como tal, o material AJAX é tratado pelo browser.

link Útil : separar a ficha flagrante acima (embora eu espero que você verificá-la - estamos na frente com o preço e fornecer um teste gratuito), eu escrevi recentemente um artigo para Ajaxian sobre AJAX testes de carga . Ele vai para mais detalhes sobre as implicações técnicas do uso de usuários do navegador reais (RBUS) vs. usuários virtuais (UVs).

Dê uma olhada LoadBooster ( https://www.loadbooster.com ). Ele utiliza sem cabeça scripts PhantomJS navegador / CasperJs para sites de teste. PhantomJS irá analisar e processar cada página, executar o script do lado do cliente. A abordagem navegador sem cabeça é mais fácil de cenários de teste de escrita para apoiar AJAX complexo aplicativo pesado Web 2.0, de navegação do navegador, clique do mouse e teclas digitadas no navegador ou esperar até que um elemento existe no DOM. LoadBooster roteiro HTML apoio selênio também.

Disclaimer: Eu trabalho para LoadBooster.

aplicativos do Google são escritos em GWT, que vem com sua própria extensão para JUnit. artigo na unidade de testar aplicações Ajax com o GWT .

Se você não quiser configurar o seu próprio servidor de teste de carga, há um par de serviços de testes de carga on-line gratuitos que podem ser executados testes de carga directamente através da Internet. Por exemplo http://loadimpact.com ou http://loadstorm.com

Eu usei Virtual User Generator, que é uma parte do software Loadrunner da HP, para testar aplicações AJAX. O software tem vários protocolos de aplicativos que podem ser usados ??para aplicações web registro, por exemplo, AJAX, e clique e Script.

Para a maioria da carga de aplicação web testá-lo é suficiente para gravar e reproduzir http solicitações. Isto lhe dará o resultado de como os servidores estão lidando com a carga. Se o seu aplicativo web faz um monte de carregamento assíncrono e renderização do lado do cliente, por exemplo, analisar grandes conjuntos de dados de XML ou JSON, ou muitas modificações DOM, pode ser relevante para incluir a camada navegador para medir a experiência do usuário final.

Todos os testadores de carga iria apoiar AJAX eles são conexões HTTP apenas adicionais.

Existem algumas versões livres fora lá- Jmeter , BadBoy , Grinder que todos fazê-lo bem.

Todos eles têm algum tipo de suporte para gravação / reprodução, mas que nem sempre é o que você está procurando.

A maneira mais fácil que eu fiz é para gravar uma sessão de exemplo, substituir alguns parâmetros com variáveis ??e loop-lo fora de um arquivo CSV ou Excel.

excelente ponto de partida:. vídeo de uma apresentação do Google em testes de código aberto

Edit:. Link de vídeo atualizado

Eu usei SilkPerformer em um trabalho anterior . De acordo com o link, eles têm algumas melhorias AJAX. Infelizmente, Seda está longe de ser livre.

Confira Jiffy . É um conjunto de medição end-to-end, e é posteriormente tipo de complexo. No entanto, as estatísticas são bastante impressionantes.

Siege ? ele pode fazer HTTP testar e passar o que quiser.

Você também pode ter um olhar para fwptt que é open source. Se você é um desenvolvedor .net você pode fazer uso do parâmetro de tratamento automático e a possibilidade de usar o seu próprio objeto .net para fazer os testes.

Eu tenho usado com sucesso JMeter para carregar teste a nossa aplicação Ajax (JSF / RichFaces). Eu não me incomodei com a ferramenta de gravação do JMeter -. Em vez eu usei o HttpFox plugin para o Firefox para monitorar o que o navegador é POST-ing para o servidor e eu recriou isso no JMeter

O fez um pouco complexo, mas o teste de carga é agora bastante robusto. JMeter tem todos os tipos de 'elementos' úteis para extrair ID do de uma página da Web, execute lógica condicional, contadores de incremento etc.

Melhor gravação isolado método de teste ou API para aplicação ajax testes de carga. Há algumas razões:

  • Não é tão fácil de escrever testes funcionais para aplicações Ajax, por exemplo, para GWT.
  • Você pode usar Jmeter WebDriver plug-in , mas para cada corrida começa navegador que irá usar mais de RAM e CPU.
  • Você irá carregar backend não frontend, assim você pode evitar ajax.

Você pode dividir seu teste assim: para o Ajax selênio uso do aplicativo ou PhantomJS / CasperJS. Para o uso de testes de carga JMeter, Gatling via API não via Ajax.

A minha escolha é o Firebug (addon browser). é muito leve e fácil de manusear

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top