MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Provare le modifiche al codice di Gaia

Prima di sottomettere una patch al progetto dovrai eseguire alcune procedure di test per verificare che le modifiche che hai apportato al codice siano realmente funzionanti, e lo siano con tutto il resto del codice di Gaia. Questo articolo spiega come.

La procedura di test generalmente consiste in:

  • Procedura di debugging standard
  • Esecuzione di test automatici

Esaminiamole ora entrambe.

Debugging standard

Se sei uno sviluppatore web esperto debuggare il codice potrebbe risultare un processo familiare. Abbiamo già discusso come eseguire il codice di Gaia tramite Firefox e come modificare il codice di Gaia. Per modifiche più complesse farai sicuramente un uso maggiore degli strumenti di debugging messi a disposizione da Firefox.

Nota: Ulteriori informazioni sull'utilizzo di questi strumenti sono disponibili nella nostra zona degli strumenti.

Test automatici

Prima di sottomettere una patch, dovrai eseguire la sequenza di test standard automatici abbinati a Gaia per assicurarti che le modifiche al codice non incidano negativamente su nessuna delle funzionalità essenziali offerte dal telefono. I test che si possono eseguire sono:

  • unit testing
  • test di integrazione
  • test prestazionali
  • test sulla UI

Noi generalmente ti chiediamo di eseguire i test prima di sottomettere una patch; se sei alla tua prima esperienza puoi anche sottomettere senza eseguire i test, ma devi chiedere aiuto per poterli eseguire in futuro. Devi aggiornare il repository di Gaia per assicurarti di avere l'ultima versione.

Nota: Puoi trovare maggiori informazioni alla pagina test automatici di Firefox OS.

Nota: Dovresti prendere in considerazione di eseguire ciascun set di test su un dispositivo reale se disponibile (alcune funzionalità non sono supportate su un emulatore), in alternativa puoi utilizzare l'emultare B2G Desktop o Firefox Nightly.

Unit testing

Gli unit testing sono test che vengono eseguiti sulle singole unità di codice di una più grande applicazione - nel caso di Gaia, le singole app. Gaia utilizza:

  • mocha come framework per i test
  • chai come libreria per le asserzioni
  • sinon.js come libreria per mock object e stub
  • blanket.js come stumento di gestione della copertura dei test

Puoi utilizzare il seguente comando per scaricare, installare e avviare un server di unit testing (le operazioni impiegano alcuni minuti, potrebbe essere un buon momento per una tazza di caffè):

DEBUG=1 make
export FIREFOX=/Applications/FirefoxNightly.app/Contents/MacOS/firefox
bin/gaia-test

Verrà aperta una pagina web locale con una lista di unit testing. Per eseguirli:

  • Seleziona i test che vuoi eseguire dalla lista presente nella pagina (apparirà un asterisco a fianco)
  • Clicca il tasto "Execute"
  • Vai alla fine della pagina per vedere i risultati

Con la finestra aperta, puoi eseguire l'intera suite di test tramite il seguente comando:

make test-agent-test

Nota: Questa azione può richiedere molto tempo in quanto verranno eseguiti parecchi test (anche un'ora o più), ti converrebbe eseguire solo i test sulla app che hai mdificato. Potrai farlo aggiungendo APP=<app nome cartella> al comando precedente, per esempio APP=settings.

Nota: Per ulteriori informazioni puoi leggere l'articolo uniit testing di Gaia.

Test di integrazione

I test di integrazione prevedono il testing di differenti unità di codice assieme per verificare la correttezza dell'interazione fra le stesse, logicamente questo step avviene successivamente agli unit testing. I test di integrazione di Gaia sono gestiti tramite uno script marionette scritto in JavaScript e un server basato su python. Il server può comunicare con Gecko quindi è possibile controllare sia il browser che il dispositivo Firefox OS, facendoli interagire l'un l'altro.

Puoi eseguire il seguente comando per avviare i test di integrazione:

make test-integration

Nota: Analogamente agli unit testing, eseguire i test di integrazione completi può richiedere parecchio tempo, puoi aggiungere APP=<app nome cartella> al comando precedente per provare una singola app, per esempio APP=calendar.

Nota: per eseguire test di integrazione su dispositivi differenti (non smartphone) aggiungi GAIA_DEVICE_TYPE=<device type name> al precedente comando per specificare la tipologia di dispositivo, per esempio GAIA_DEVICE_TYPE=tv. Se non lo farai il test potrà fallire.

Nota: per ulteriori informazioni puoi leggere l'articolo sui test di integrazione di Gaia.

Test prestazionali

I test prestazionali di Gaia vengono eseguiti utilizzando il tool esterno Raptor CLI tool. Tramite Raptor puoi automatizzare l'esecuzione di un applicazione più volte e ottenere statistiche sui tempi di caricamento. Dopo aver eseguito un test, Raptor inoltre mostra l'utilizzo di memoria dell'applicazione.

Per utilizzare Raptor, per favore leggi il seguente articolo Raptor: Getting Started.

Test sulla UI

Fai riferimento all'articolo introduzione ai test sulla UI di Gaia.

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: chrisdavidmills, sgalbia
 Ultima modifica di: chrisdavidmills,