2010-05-24 17 views
6

Abbiamo una base di codice considerevole con una copertura di test relativamente alta per pagine/moduli, tutti via vaniglia POST/GET.Selenium vs test POST/GET di vecchia scuola

Ora, ci troviamo a spostarci maggiormente nello spazio 'ajaxy', e non è del tutto possibile testare con GET/POST scenari completi come la registrazione dell'utente o la creazione di un oggetto, poiché coinvolgono molte chiamate JavaScript/Ajax .

Mentre cose del genere sono i candidati più probabili per i test con selenio, mi chiedo se dovremmo adottare i test del selenio su tutta la linea, lasciando del tutto i test POST/GET della vecchia scuola del tutto?

I vantaggi dell'adozione del selenio sembrano essere troppo buoni: è possibile eseguire praticamente gli stessi test GET/POST ma attraverso la gamma di browser.

O mi sto perdendo qualcosa nella mia ricerca di cose interessanti e alla moda e di abbandonare i vecchi test POST/GET?

risposta

6

Ci sono vantaggi e svantaggi di entrambi gli approcci, quindi la mia raccomandazione sarebbe quella di utilizzare entrambi.

Selenium avvia un browser effettivo e simula un utente che interagisce con la tua applicazione Web, che può essere utile se stai testando le funzionalità di Ajax. Può verificare che gli elementi siano visibili e interagiscano con essi proprio come farebbe un utente. Un'altra caratteristica killer è la possibilità di prendere screenshot attraverso il selenio, che può essere incredibilmente utile quando si indagano i fallimenti.

Sfortunatamente l'avvio di un browser e la navigazione in una pagina/stato specifici dell'applicazione possono essere lenti e occorrerebbe molto hardware se si desidera testare utenti concorrenti (test di carico) con Selenium.

Se si desidera verificare che il server risponda con un HTTP 200 per determinate azioni, o carichi il test delle applicazioni o che la risposta contenga determinati valori, il POST/GET di base sarebbe più adatto.

Se si decide di adottare un approccio Selenium puro ai test, consiglierei di utilizzare Selenium Grid o un servizio basato su cloud, poiché eseguire molti test con Selenium può richiedere molto tempo.

4

Penso che dovresti assolutamente utilizzare i test Selenium e POST/GET (Unit) del tutto, perché lo scopo del tuo unit test è testare la funzionalità di una sezione specifica di codice ma Selenium sta facendo test di integrazione sulla tua web-app .

Problemi correlati