Translation(s): English - Italiano

(!) ?Discussion



Come usare il sistema di tracciamento dei bug (BTS)

Seminario online organizzato da Debian Women e tenuto su IRC da Gerfried Fuchs, 09-Dec-2010

Questa è una guida all'uso del Sistema di tracciamento dei bug (BTS, Bug Tracking System).

L'acronimo BTS sta per Bug Tracking System ed è dove Debian conserva e traccia i bug segnalati (incluse le segnalazioni delle funzionalità desiderate (wishlist), che non sono veri e propri bug). È principalmente un sistema di posta elettronica: infatti controllarlo e manipolarlo può essere fatto solamente mandando e-mail al sistema.

Requisiti

Requisiti tecnici:

Interrogare le segnalazioni sui bug: l'interfaccia web di BTS

L'interfaccia web di BTS può essere trovata all'indirizzo http://bugs.debian.org/. Attraverso questo portale si possono interrogare le segnalazioni sui bug piuttosto rapidamente (a meno che il server non sia troppo carico) ed è anche estremamente comodo.

Andando su http://bugs.debian.org/ si verrà reindirizzati ad una pagina che offre un modulo dal quale si possono eseguire delle ricerche, ma la parte più utile sono i vari reindirizzamenti che offre.

Nelle pagina panoramica ci sono tutti i gruppo principali delle segnalazioni dei bug con i link all'interno della pagina e, in fondo alla pagina, un altro modulo che aiuta a cambiare la vista per quanto riguarda diversi aspetti.

In più, si noti che sulla pagina panoramica ci sono dei caratteri piuttosto criptici dopo la descrizione breve di una segnalazione di bug. È sufficiente posizionare il mouse su di loro per ottenere un suggerimento, e si può cliccare su di loro per far aprire una finestra a comparsa contente ulteriori informazioni sul bug in questione.

Questo è un riassunto breve sull'interfaccia web. Come è stato detto, è solo una interfaccia di interrogazione. Quindi ci si può sentire liberi di cliccare in giro, esplorare completamente il sito: non può accadere nulla di male.

Segnalare i bug: reportbug

Per la segnalazione dei bug è necessario un programma di posta elettronica oppure, cosa molto più comoda, si può usare lo strumento reportbug. reportbug è principalmente uno strumento testuale (ma ci sono due interfacce grafiche: basate su urwid e GTK+), esiste anche reportbug-ng che è un'interfaccia grafica che mira a fare lo stesso lavoro, ma è comunque uno strumento differente.

Entrambi hanno bisogno di un MTA (Mail Transport Agent) in locale come postfix, exim o ssmtp. Non si entrerà nei dettagli su come devono essere configurati, in realtà è molto utile per alcuni utenti averne uno localmente in modo da poter scrivere posta elettronica sul proprio computer portatile quando non collegati e questa verrà inviata quando la connessione sarà ristabilità.

Anche quando non si dispone di un MTA locale, reportbug è ancora molto utile dato che ha l'opzione {--template}}}. Questo aiuterà a produrre informazioni per la segnalazione di bug che il manutentore del pacchetto richiederebbe in ogni caso, come le informazioni sulle dipendenze o simili.

Basta lanciare nel terminale:

reportbug --template pacchetto

con il nome di un pacchetto che è installato. Non ci si preoccupi, non fa nulla di pericoloso, mostra solo alcune righe di testo :)

Ci sono diverse cose importanti che daranno un'idea su cosa fare, come a chi inviare le e-mail:

To: Debian Bug Tracking System <submit@bugs.debian.org>

L'indirizzo submit@bugs è dove vengono mandate le nuove segnalazioni. Ovviamente nella segnalazione si deve inserire un titolo utile e descrittivo che dia al manutentore del pacchetto una prima idea su quale sia il problema.

Poi c'è un altro blocco che comincia con Package:, ha una riga Version: e una Severity::

I primi tre (grave, critical e serious) sono considerati critici per il rilascio e definiscono un speciale gruppo di segnalazioni. Se si è in dubbio, non usarli almeno che non si sia sicuri del loro significhato, alcune persone potrebbero reagire nervosamente se vengono utilizzati per segnalazioni che alla fine non sono tanto gravi. Si ritornerà sul significato speciale delle segnalazioni di bug critici per il rilascio più tardi.

wishlist è la gravità usata per i miglioramenti che si vorrebbero vedere in un pacchetto. Ci si prepari al fatto che alcuni manutentori di pacchetti potrebbero suggere di segnalarli direttamente agli autori originali; anche se, personalmente, l'autore di guesta guida ritiene che i manutentori di pacchetti debbano fungere da collegamento e da tramite tra gli utenti Debian e gli sviluppatori originali.

In fine, è bene ricordare che si deve cercare di essere descrittivi non solo nel titolo del bug, ma anche nel corpo della segnalazione e sarebbe fantastico se si segnalasse anche il modo per riprodurre il bug.

Per la segnalazione dei bug, c'è altra documentazione all'indirizzo http://www.debian.org/Bugs/Reporting.

Ottimizzare le segnalazioni dei bug: control@bugs.debian.org

Per ottimizzare le segnalazioni dei bug, c'è l'indirizzo email control@bugs.debian.org. L'intero sistema di bug tracking è aperto a chiunque, come è questo indirizzo mail. Questo significa che qualsiasi persone è tecnicamente abile per ottimizzare qualsiasi segnalazione di bug. L'indirizzo di controllo è dove inizia il divertimento. Funziona come l'indirizzo per la segnalazione nelle prime linee.

La documentazione per questo indirizzo puoi trovarla a: http://www.debian.org/Bugs/server-control

Normalmente la sintassi è:

 command bugnumber arguments

Il numero di argomenti varia a seconda dei comandi:

Quindi con retitle:

retitle 12345 new-title

imposti il titolo della segnalazione da 12345 a new-title.

Non preoccuparti, non può essere fatto per questo numero di segnalazione, il bug è già stato archiviato. Puoi ottimizzare solo le segnalazioni non ancora archiviate.

Un comando solitamente usato è reassign per asseggnare un bug ad un altro pacchetto. Questo comando prende il secondo argomento dopo il nome del pacchetto: Il numero di versione. Se tu sai quale è la versione dell'altro pacchetto affetto dal bug è davvero utili aggiungere la versione così il tracciamento continuerà il suo lavoro. Spiegerò il tracciamento di versione dopo, I will explain version tracking a bit later, ho fatto alcuni esempi per semplificare la sua comprensione. :)

Il comando tag ti aiuta a classificare i bug. Arrualmente segnalando i bug puoi aggiungere anche Tags: agli pseudo header e specificare i tags per una segnalazione.

Molti tag regolarmenti usati sono:

La lista dei tag può essere consultata su: http://www.debian.org/Bugs/Developer#tags.

Se vuoi iscriverti ad una specifica segnalazione, manda una mail a bugnumber-subscribe@bugs.debian.org. Riceverai una mail che richiede la conferma della iscrizione, da questo punto in poi riceverai tutte le mail mandate a quella segnalazione. Puoi anche iscriverti alle segnalazioni di uno specifico pacchetto attraverso il PTS (Package Tracking System) a http://packages.qa.debian.org/NOMEPACCHETTO. In basso a sinistra troverai il form di iscrizione.

Ma se una persona manda una mail sia a control@bugs che a bugnumber@bugs naturalmente non vuoi confondere il control parser con il testo che hai aggiunto al package maintainer. Per questo motivo c'è un comando speciale thanks che ti permette di essere avvertito dopo comandi del controller. Questo dice al parser di fermare il parsing dell'email da quel punto in poi.

Prendi nota che le email mandate a bugnumber@bugs arrivano al maintainer del pacchetto (e le persone sottoscritte ad esso). Queste email NON vengono mandate alle persone che segnalano i bug! Questo è anche qualcosa che è in discussione da cambiare - per il momento, c'è bisogno o di scovare il mittente della segnalazione del bug e aggiungerlo esplicitamente alle copie, o, per praticità, utilizzare un altro indirizzo di posta elettronica:bugnumber-submitter@bugs.debian.org.

Tracciamento di versione

Cos'è il tracciamento di versione? BTS tiene traccia di quale versione di una bug è stata chiusa, quali altre release colpisce, ecc. Per questo lo pseudo-header Version: è molti importante nella segnalazione di un bug. Anche se il BTS potrebbe invece pensare che colpisce solo una determinata versione del pacchetto.

Ed è anche il posto dove trovare il gruppo speciale release-critical bugs di cui ho parlato prima. Perchè le segnalazioni vengono archiviate dopo 28 giorni sempre che soddisfino determinati criteri: di norma quelli che vengono corretti sia in unstable sia in testing vanno in archivio.

Naturalmente solo se questi affliggono entrambe le release -una segnalazione può coprire anche solo unstable -se è stato creato un pacchetto per tutte le architetture.

Quindi la distribuzione colpita è un criterio, per le architetture è un altro. Se entrambi i criteri solo risolti, il timer comincia.

Le segnalazioni posso essere chiuse i molti modi. Quello più comune è un pacchetto caricato che contiene, ad esempio, closes: #12345 nel changelog. Quando il pacchetto è accettato nell'archivio viene mandata una mail a 12345-done@bugs.debian.org con Version: 1.2.3 nella prima linea dell'mail. Questo ovviamente può essere fatto a mano, si può mandare una mail a -done@bugs con l'header Version: che informa della chiusura del bug in quella versione.

Se la segnalazione è un "non problema" (come, una falsa segnalazione), l'header Version: non dovrà essere aggiunto alla mail.

Questa differenza è richiesta perchè il BTS deve essere in grado di distinguere i bug corretti di una specifica versione che non sono bug reali.

Il BTS ha una feature davvero molto utile: Il grafo di versione. Potresti averlo già notato in alcuni report di bug, nell'angolo in alto a destra. Si compone di vari riquadri: quello rotondo rosso e verde quello quadrato. Quelli verdi sono quelli di versioni fisse, quelle rosse sono quelle versioni interessate.

Come già detto in precedenza, non esitare a cliccare in giro, anche sui grafi di versione. Questo migliorerà immensamente la loro leggibilità. ;)