2009-02-10 4 views
16

Sembra che ci sia molto stress/strumento di test di carico che supporta AJAX.
Mi chiedo quanto bene questi strumenti siano implementati.Strumenti per il test di carico Ajax

Registrano solo la richiesta http e la riproducono?
È il modo giusto per testare l'app AJAX?
Come fa Google a testare le app ajax?

risposta

1

Se si è preoccupati solo della funzionalità, qualcosa come Watin, Watir, Selenium o qualsiasi strumento funzionale a tale scopo funzionerebbe. Fintanto che metti un tempismo sufficiente nei tuoi test funzionali per consentire callback ajax, allora dovrebbe fare il trucco.

da aggiungere alla mia risposta,

Se si parla di test di unità Javascript si potrebbe usare qualcosa come qunit come descritto da un collega LosTechian in this posting. Questo è un uso piuttosto ingegnoso di un add-nunit e di qunit per l'integrazione dei test di unità js.

per puro caso, la stessa persona che ha scritto che il test qunit post sul blog appena pubblicato uno ieri su this very topic applicazioni

+5

questo non è un test di carico. carico prova prova le prestazioni di un'applicazione sotto un dato carico, ad es. "quanto funziona con 100 utenti simultanei". – MorganTiley

0

Ho usato SilkPerformer in un lavoro precedente. Secondo il link, hanno alcuni miglioramenti AJAX. Sfortunatamente, Silk è tutt'altro che gratuita.

1

Tutti i tester di carico supportano AJAX - sono solo connessioni HTTP aggiuntive.

ci sono pochi quelli gratuiti fuori lì- Jmeter, BadBoy, Grinder che tutto farlo bene.

Tutti hanno una sorta di supporto per la registrazione/riproduzione, ma non è sempre quello che stai cercando.

Il modo più semplice che ho fatto è quello di registrare una sessione di esempio, sostituire alcuni parametri con variabili e cancellarla da un file csv o excel.

Ottimo punto di partenza: video di una presentazione google sui test open source.

Modifica: collegamento video aggiornato.

+0

Il collegamento al video è ora rotto – dg123

1

Se non si desidera configurare il proprio server di test di carico, esistono un paio di servizi di test di carico online gratuiti che possono eseguire test di carico direttamente su Internet. Ad esempio http://loadimpact.com o http://loadstorm.com

0

Verificare Jiffy. È una suite di misura end-to-end, ed è successivamente una specie di complesso. Tuttavia, le statistiche sono piuttosto impressionanti.

0

Siege? può fare test HTTP e passare quello che vuoi.

1

Ho utilizzato Virtual User Generator, che fa parte del software Loadrunner di HP, per testare le applicazioni AJAX. Il software ha diversi protocolli applicativi che possono essere utilizzati per registrare applicazioni Web, ad es. AJAX e clic e script.

Per la maggior parte dei test di carico delle applicazioni Web è sufficiente registrare e riprodurre le richieste http. Ciò fornirà il risultato di come i server gestiscono il carico. Se la tua applicazione web fa un sacco di caricamento asincrono e rendering sul lato client, ad es. analizzando dataset di grandi dimensioni di xml o json, o molte modifiche DOM, può essere rilevante includere il livello del browser per misurare l'esperienza dell'utente finale.

6

La maggior parte degli strumenti di test del carico in uscita eseguono il test di carico AJAX allo stesso modo: eseguono il traffico HTTP non elaborato che viene visualizzato durante una fase di "registrazione" (che possono essere richieste di pagine, richieste di immagini o anche richieste AJAX) . La principale differenza tra loro è quanto è buono il loro strumento IDE/registratore e quanto facilmente ti aiuta a parametrizzare le richieste HTTP in modo tale da riflettere il traffico del mondo reale basato su risultati dinamici/in tempo reale.

Avviso, spina sfarzosa: L'unica vera eccezione è la mia azienda, BrowserMob. Invece di simulare il traffico osservato, utilizza effettivamente browser Web reali per ridurre il carico. In quanto tale, il materiale AJAX viene gestito dal browser.

Link utile: separata dal tappo palese sopra (anche se spero di check it out - siamo in attacco con i prezzi e di fornire una prova gratuita), di recente ho scritto un articolo per Ajaxian su AJAX load testing. Fornisce ulteriori dettagli sulle implicazioni tecniche dell'utilizzo di utenti di browser reali (RBU) rispetto a utenti virtuali (VU).

0

Si può anche dare un'occhiata a fwptt è open source. Se sei uno sviluppatore .net puoi utilizzare la gestione automatica dei parametri e la possibilità di utilizzare il tuo oggetto .net per eseguire i test.

0

Ho usato con successo JMeter per caricare il test dell'applicazione Ajax (JSF/RichFaces). Non mi sono preoccupato dello strumento di registrazione di JMeter, ma ho usato il plugin HttpFox per Firefox per monitorare ciò che il browser invia POST al server e l'ho ricreato in JMeter.

È diventato un po 'complesso, ma il test di carico è ora abbastanza robusto. JMeter dispone di tutti i tipi di utili "elementi" per estrarre gli ID da una pagina Web, eseguire la logica condizionale, incrementare i contatori, ecc.

0

Metodo di prova isolato o API migliore per il test di carico dell'applicazione ajax. Ci sono alcuni motivi:

  • Non è così facile scrivere test funzionali su applicazioni Ajax, ad esempio per GWT.
  • È possibile utilizzare Jmeter WebDriver plugin, ma per ogni esecuzione avvia il browser che utilizzerà la maggior parte della RAM e della CPU.
  • Caricherete il backend senza frontend, quindi potete evitare ajax.

È possibile suddividere il test in questo modo: per l'applicazione Ajax utilizzare Selenium o PhantomJS/CasperJS. Per il test del carico utilizzare JMeter, Gatling tramite API non tramite Ajax.

2

Dai un'occhiata a LoadBooster (https://www.loadbooster.com). Utilizza il browser scriptable headless PhantomJS/CasperJs per testare i siti web. Phantomjs analizzerà e renderizzerà ogni pagina, eseguirà lo script sul lato client. L'approccio browser headless è più facile da scrivere scenari di test per supportare l'app complessa Web 2.0 di AJAX, la navigazione del browser, il clic del mouse e le sequenze di tasti nel browser o attendere fino a quando un elemento esiste nel DOM. LoadBooster supporta anche lo script HTML di selenio.

Disclaimer: Lavoro per LoadBooster.

0

La mia scelta è firebug (addon del browser). è molto leggero e maneggevole