Testare le applicazioni Javascript

di: Marco Solazzi     20 Dicembre 2010

Ci sono fasi del ciclo di vita di un'applicazione che ogni sviluppatore vorrebbe evitare; fra queste spiccano la documentazione del codice e la realizzazione di test suite.

Fra le ragioni che spingono gli sviluppatori a odiare queste fasi c'è sicuramente la noiosità del compito ed il tempo non indifferente che di solito vi si deve dedicare.

In questo articolo prenderemo in considerazione la realizzazione di script di test automatizzati (o test suite) per testare le applicazioni JavaScript. Per questo linguaggio, infatti, sono spesso gli stessi sviluppatori a non ritenere necessaria la realizzazione di test suite, salvo poi ritrovarsi a testare manualmente intere interfacce su piattaforme e browser diversi.

Cosa sono le test suite

Con il termine test suite si possono identificare metodologie e tipologie di test molto diverse tra loro per strumenti e finalità. Tuttavia, in generale, ci si riferisce ad una serie di script che vengono lanciati in maniera più o meno automatica e che servono a testare il codice sorgente di un'applicazione sia a livello di metodi e funzioni che di interazione utente, il tutto all'interno di un ambiente specifico separato dal contesto di produzione e fruizione dell'applicazione.

Perché testare le applicazioni

Avere a disposizione uno strumento rapido per la verifica del codice sorgente permette di prevenire alcuni problemi tipici dello sviluppo di applicazioni JavaScript come:

  • errori introdotti nella varie iterazioni dello sviluppo come il refactoring;
  • impossibilità di verificare la reazione del programma ad input errati dell'utente;
  • inconsistenze legate all'aggiunta di nuove funzionalità;
  • incompatibilità legate all'aggiornamento di librerie e script di terze parti.

Infine, in un ambiente di sviluppo condiviso, testare il nuovo codice prima di caricarlo su un server garantisce un'elevata affidabilità del codice e permette di evitare lunghe sessioni finali di debug.

Oltre a questi vantaggi generali, le test suite per JavaScript offrono anche la possibilità di verificare velocemente la funzionalità delle applicazioni su diversi browser e diverse piattaforme, in modo da garantire una qualità e solidità difficilmente raggiungibili con i test manuali.

Una questione di tempo

Esistono varie teorie relative alle tempistiche e alle modalità con le quali effettuare i test di un'applicazione.

L'approccio più intuitivo è quello di scrivere i test e lanciarli durante la fase di debug del codice.
Il problema è che questa metodologia rende il lavoro molto lungo e spesso noioso, costringendo lo sviluppatore a ripercorrere codice scritto magari molto tempo prima.

All'opposto, è possibile creare e riadattare i test ad ogni fase di modifica del codice, per poi lanciarli e verificarne il funzionamento. In questo caso si è sempre sicuri che il codice prodotto sia stabile ed è molto più facile isolare gli errori introdotti con le ultime modifiche.

Un approccio diverso è invece quello del Test Driven Development (TDD), nel quale lo sviluppatore realizza prima il test (in modo che fallisca) per poi scrivere il codice che lo faccia verificare. Il livello di stabilità garantito da questa metodologia di sviluppo è molto alto, anche se ad un primo contatto può sembrare poco chiara.

Tipologie di test suite in JavaScript

In ambito JavaScript una test suite può avvalersi principalmente di tre strumenti in base al livello di complessità dell'applicazione, della sua interazione con il DOM e della necessità di verifiche cross-browser.

  • Unit Testing
  • UI Testing
  • Test Automation / Distributed Testing

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti