Wikia

Wikia Centrale

Commenti0

Quality Blitz di Wikia - Abbasso i bug

Pensate per un momento a tutti gli strumenti e le funzioni che potete usare su Wikia per creare e condividere del contenuto. Ci sono editor, stanze della chat, forum, gallerie di immagini, pagine di discussione e commenti agli articoli, solo per iniziare. Per far funzionare tutto ciò, ogni giorno i nostri ingegneri lavorano su tanti codici di vario tipo: PHP, JavaScript, AJAX, HTML e MySQL.

Sfortunatamente, la programmazione è un compito difficile. A volte persino cose semplici, come una virgola o due punti mancanti, possono avere grosse conseguenze. Altre volte, gli utenti richiedono una funzione a cui gli ingegneri non hanno pensato. Per esempio, qualche tempo fa un utente ci ha fatto sapere che inserendo il codice del Tabber (<tabber>) nel codice del Tabview (<tabview>), la funzione Tabber smetteva di funzionare. Questa è semplicemente una cosa che non avevamo previsto che qualcuno provasse, perciò il codice non era adatto.

Trovare e correggere i bug

Quando un software genera un risultato non corretto o si comporta in modo inaspettato, si parla di "bug". Purtroppo Wikia non è immune ai bug. Oggi vi voglio parlare sia di come si comporta Wikia quando viene trovato un bug sia di un evento recente durante il quale Wikia si è concentrata per correggere ("patch") quanti più bug possibile.

QualityBlitzBlogPost-1.png

Un'occhiata al sistema di segnalazione di bug di Wikia.

Può essere difficile mantenere un equilibrio tra lo sviluppo di nuove funzioni e la risoluzione dei bug. Sebbene Wikia si sforzi veramente di risolvere ogni bug riscontrato, la necessità di garantire un'operatività agile e su ampia scala, significa, in realtà, che alcuni bug richiedono più tempo per essere presi in considerazione rispetto ad altri. Per identificare e risolvere più facilmente e velocemente i bug maggiori, Wikia utilizza un sistema di priorità per classificare i bug in ordine di gravità, tipo di impatto (blocca una funzione o crea solo disagio?), scala (numero di utenti coinvolti) e tipo di utenti coinvolti (utenti registrati vs. anonimi, amministratori vs. moderatori della chat...).

Ciò detto, ogni pochi mesi, Wikia programma un certo periodo di tempo da dedicare solo alla mole di bug in corso. Lo sviluppo dei prodotti si ferma per due settimane e tutti i nostri ingegneri hanno solo il compito di lavorare a quanti più bug possibili in questo lasso di tempo. Chiamiamo questa lotta serrata contro i bug "Quality Blitz".

Il nostro più recente Quality Blitz è avvenuto al ritorno dalle vacanze natalizie e si è completato l'ultima settimana di gennaio. Durante questo Blitz, i nostri ingegneri si sono divisi in cinque squadre e ogni squadra si è dedicata a un particolare gruppo di bug. In totale i nostri ingegneri hanno trattato e risolto 154 bug!

Le statistiche possono essere interessanti, specialmente se si tratta di 154 bug eliminati, ma potreste chiedervi: come avviene la risoluzione di un bug? Vediamo, dall'inizio alla fine, il caso specifico di un bug che è stato affrontato durante il Quality Blitz, per avere un'idea generale di come il nostro team di ingegneri risolve i bug.

Come vengono analizzati i bug

Verso la fine dell'autunno scorso, un utente ci scrisse tramite Speciale:Contact per segnalarci che il menù di navigazione della sua wiki si comportava in modo anomalo: quando aggiungeva il testo "Places" nella pagina MediaWiki:Wiki-navigation, il testo che veniva salvato era “Places on this wiki”. Il Community Support Manager Bert testò per un po' di tempo questa anomalia insieme all'utente, confermò la segnalazione, fece uno screenshot del problema e aprì un "bug ticket" (il report di un bug) nel nostro sistema di segnalazione per avvertire gli ingegneri.

QualityBlitzBlogPost-2.png

Bert caricò questo screenshot nel ticket relativo al bug del menù di navigazione. Gli screenshot sono molto utili per far vedere gli effetti di un bug.

Un altro membro dello staff di supporto alla community, Kirkburn, fu in grado di determinare che il problema del menù di navigazione si presentava perché un'estensione di Wikia ha un messaggio di sistema (o messaggio MediaWiki) chiamato “MediaWiki:Places” e il menù di navigazione convertiva automaticamente qualsiasi nome di una pagina MediaWiki nel contenuto stesso del messaggio MediaWiki.

Il nostro team di ingegneri alla fine si è trovato di fronte a tre diverse opzioni di risoluzione: aggiungere una logica al menù di navigazione per gestire il caso specifico dell'estensione Places; cambiare il nome del messaggio di sistema nell'estensione Places; o modificare il modo in cui il menù di navigazione convertiva il messaggio MediaWiki:Wiki-navigation nel testo del menù. Sebbene la terza opzione richiedesse più lavoro, era quella destinata a garantire la maggiore efficienza nel lungo termine, per cui è stata aggiunta alla lista del Quality Blitz. Il team ha deciso che il miglior modo per implementare la risoluzione era far in modo che solo il tab (la scheda) "Nella wiki" convertisse i messaggi di sistema e rimuovere il metodo di conversione da tutti gli altri tab del menù di navigazione.

Uno dei nostri ingegneri, Damian, ha preso in carico il ticket e ha fatto le modifiche necessarie al codice, controllando ogni passaggio delle modifiche in un ambiente dedicato ai test chiamato "devbox". In seguito, ha inserito il codice modificato nell'archivio open source del nostro codice. Infine, il ticket è stato segnato come "risolto" ed è stato riassegnato a colui che lo aveva aperto (Bert, in questo caso) per la conferma della risoluzione del bug e la chiusura del ticket.

Ecco, questo è in dettaglio il processo di risoluzione dei bug su Wikia. Mi rendo conto che alcuni passaggi possono risultare un po' tecnici, ma mi auguro comunque che sia chiaro quanto testaggio, collaborazione e lavoro di squadra servono allo staff di Wikia per migliorare la qualità del nostro codice. Immaginatevi che tutto quello che vi ho descritto sopra è stato ripetuto per 154 volte in due settimane e vi renderete conto che lo staff è stato davvero indaffarato lo scorso gennaio!

Bug risolti durante il Quality Blitz

Ecco alcuni degli altri bug risolti durante il nostro ultimo Quality Blitz:

  • L'avviso "Sei sicuro di voler abbandonare questa pagina senza salvare?" appariva quando si cercava di uscire da una pagina di modifica a prescindere dal fatto che si erano fatte delle modifiche o no. Ora, il messaggio appare solo se si modifica qualcosa nella pagina.
  • La finestra "Visualizza codice" per le pagine che gli utenti non avevano il permesso di modificare o creare non visualizzava un utile messaggio di avviso.
  • La casella di spunta "modifica minore" appariva quando si creava una nuova pagina. Di contro, le modifiche ai blog post non potevano essere segnate come minori.
  • Lo spostamento all'interno della finestra di modifica con il tasto Tab ora è più sensato: il cursore si sposta dalla zona di modifica al campo del riassunto della modifica, poi alla casella della modifica minore, al tasto anteprima e infine su salva.
  • Gli username contenenti una virgola (,) non potevano inviare/ricevere messaggi privati nella chat.

Potete sapere a quali bug stiamo lavorando settimanalmente leggendo e seguendo il blog ufficiale di Wikia Italia. Inoltre, ricordatevi che Wikia non può risolvere i bug se non ce li segnalate! Come sempre, la miglior garanzia di qualità siete voi utenti, qualche milione di occhi extra che si aggirano nel nostro sito.

Ancora una volta grazie per la vostra pazienza mentre Wikia si sforza di darvi il meglio su entrambi i fronti: un sito di alta qualità e ad alto funzionamento e un sito con funzioni nuove e uniche che fanno crescere le vostre community.